[m-dev.] [m-users.] Closed source Mercury projects on Windows

Julien Fischer jfischer at opturion.com
Mon May 28 10:25:54 AEST 2018


Hi Mark,

On Sun, 27 May 2018, Mark Brown wrote:

> On Sun, May 27, 2018 at 9:05 PM, Julien Fischer <jfischer at opturion.com> wrote:
>>
>> Hi all,
>>
>> On Sun, 27 May 2018, Zoltan Somogyi wrote:

>>> No disagreement here. That would work as well, and even better,
>>> for the reasons you cite.
>>>
>>> Do you have a proposal for an actual license text, or a model for us to
>>> follow?
>>
>>
>> The wxWindows library license is one such example of a static linking
>> exception.  I suggest looking at modified LGPLs that have been OSI
>> approved, rather than just making ad-hoc modifications to the LGPL.
>> (Such ad-hoc modifications cause all sort of trouble.)
>
> The wxWindows license looks right to me. Clause 2 is what I was trying
> to get at with the above.

Actually, the Ocaml license may provide a better model for this:
<https://ocaml.org/docs/license.html>.

>> My own feeling is that rather than using a modified LGPL, it would be
>> more straightforward to relicense the runtime, stdlib etc under the
>> BSD or MIT license.
>
> How would that be more straightforward than relicensing it under the
> wxWindows license?
>
> I think the wxWindows license reflects what contributors - going back
> a long way, mind you - actually intended from the library license, so
> I'm pretty comfortable changing to that to address the technical
> issues. But I don't see that the same can be said of BSD or MIT.

LGPL with a static linking exception will certainly address the
technical issues.  From a non-technical perspective, BSD or MIT,
would be more useful when getting Mercury accepted when creating
proprietary software.

Most of what the LGPL with linking exception gives you over the say the
BSD license isn't really particularly relevant for the runtime and large
chunks of the standard library anyway because there isn't any meaningful
way to modify them *without* modifying the compiler itself (and that
will remain under the GPL).

I would note that there are two other issues with the license change:

1. Conditionally compiling in GNU readline, which we do in the debug
grades, will have an affect (i.e. because readline is GPL licensed).
That's not an objection -- just something users would need to be
aware of.

2. runtime/mercury_getopt.[ch] contains a modified copy of the
the getopt source code (which IIRC is conditionally compiled in).

Julien.


More information about the developers mailing list