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

Mark Brown mark at mercurylang.org
Sun May 27 19:57:50 AEST 2018


On Sun, May 27, 2018 at 7:40 AM, Zoltan Somogyi
<zoltan.somogyi at runbox.com> wrote:
> On Sat, 26 May 2018 12:58:16 +0200 (CEST), "Zoltan Somogyi" <zoltan.somogyi at runbox.com> wrote:
>> Moreover, I don't see anything in the LGPL that categorically distinguishes
>> static linking from dynamic linking.
>> However, to make this clearer, ...
>> > I do see that there is a note in Copying.lib about negotiating a different
>> > license. Is it reasonable to expect that someday at least the parts that
>> > are automatically compiled into Mercury programs (like mer_rt) would be
>> > under a license like "LGPL with static linking exception" that some
>> > projects like FLTK use, maybe even only for Windows?
>> ... we will look into explicitly adding such an exception.
> The language in the LGPL (COPYING.LIB) that says
> "However, linking a "work that uses the Library" with the Library
> creates an executable that is a derivative of the Library (because it
> contains portions of the Library), rather than a "work that uses the
> library".  The executable is therefore covered by this License."
> indeed looks worrying. It has never been our intention to prevent
> proprietary programs being written in Mercury, so would anyone object
> if I added a prelude to COPYING.LIB modelled after the prelude of
> http://www.fltk.org/COPYING.php? I would of course post the diff
> for review first.

Yes, I would object, as I think there is a better way to achieve to
intended effect. Adding a prelude or making other changes is tricky if
you consider that the document uses negation heavily and is (of
course!) recursively defined: does "this License", in 2(c) for
example, refer to the original or the modified version?

I would like to propose that we release the standard library under
something like the following license, in addition to the LGPL: "You
may, without restriction, copy and distribute the Library (or a
portion or derivative of it) in object code or executable form as
produced by the Compiler."

I believe this permits only what was intended all along, namely that
you should be able to write and distribute Mercury programs and
libraries without making them open source. Does anyone disagree that
it would have this effect?

NB: it is section 4 that might otherwise prevent you from distributing
a compiled program, and section 6 that might otherwise prevent you
from distributing a compiled library.


More information about the developers mailing list