David linked above to https://download.racket-lang.org/license.html, where the Racket maintainers (who are not lawyers, and neither am I) explain their interpretation of how "linking" in the LGPL applies to Racket. I think it's worth copying here for the record:
Since the LGPL license that Racket uses was originally designed for C > programs, parts of it require some interpretation to apply to Racket in > detail. The following is how the Racket maintainers interpret the license. > > First, if you distribute your Racket application in source form or as > compiled bytecode files, the Racket license does not restrict you at all. > > Second, if you distribute your Racket application as compiled binary > generated by raco exe, there are no requirements placed on the licensing of > your software. However, the LGPL requires that you make it possible to > re-link your software with modified versions of Racket. This means, > basically, that you need to provide the compiled bytecode files used to > produce the compiled binary, if requested by someone who got your software > from you. Note that this does not mean that your software has to be made > open source, nor do you have to give the source code to anyone, nor do you > have to make the compiled bytecode files available to the public or let > other people redistribute them. Furthermore, this is not revealing any more > of your source code than the raco exe format, since the bytecode is > embedded in an extractable way in the resulting executable. > I would add the observation that the word "easily" is subjective, and doesn't appear in the LGPL anyway, but I don't think this process for Racket is objectively more difficult than replacing a library for a C program. The process for C might be more familiar, but that's only because Racket is still in the process of conquering the world :) -Philip On Mon, Sep 24, 2018 at 2:18 PM <er...@snafu.de> wrote: > Are you sure that's a wise choice of license? > > Racket does not dynamically link to Racket libraries when applications are > deployed as compiled executables - as far as I can see, the standard module > system does not link dynamically in the sense required by the LGPL(*). > Therefore, LGPL doesn't allow anyone to distribute his or her Racket > application as compiled executable without making the source code available > on request, too, whenever that source code was made with an LGPL Racket > library. So for users of your library, LGPL is pretty much equivalent to > GPL. They have to provide the source code, or the program has to load the > library with dynamic require at runtime, if that's possible at all. > > (*)=the user must be able to easily update the library that the executable > uses, e.g. by linking to another dynamic library > > ----- Ursprüngliche Nachricht ----- > Von: > "Neil Van Dyke" <n...@neilvandyke.org> > > An: > "Stephen De Gabrielle" <spdegabrie...@gmail.com>, "Racket Users" < > us...@racket-lang.org> > Cc: > > Gesendet: > Mon, 24 Sep 2018 13:06:15 -0400 > Betreff: > Re: [racket-users] Licence guidance > > > What's seemed to work over many years for my Racket open source packages > (a couple of which are useful things that would be expensive to rewrite) > is LGPL (initially version 2.x, but lately version 3), plus a statement > to contact me about other possible licenses. > > My thinking was, LGPL suggests the idea of sharing in the same spirit, > but has very modest limitations that aren't a barrier to most commercial > use. At the same time, if someone wanted to make commercial > inconsistent with even those modest limitations (e.g., make the package > a closed network service), that was OK, but I'd want some of that money, > in lieu of common benefit warm-fuzzies. > > I don't recall ever being contacted about a different license other than > LGPL. Some of my Racket packages are used by an important large > closed-source production server system, for example, without any > different license. (Though, at one point, someone who wanted to > incorporate my CSV library into an open source something initially > seemed to be interested in an older version that was LGPLv2 rather than > v3, perhaps for compatibility with their license at the time, but then > they quickly straightened that out somehow.) > > That said, I don't know whether LGPLv3 is the best default license for > third-party Racket packages. Maybe that should be revisited. > > Today, Racket hasn't yet taken off commercially nearly as much as it > might've, and maybe the biggest concern with the licenses of open > source Racket packages shared altruistically is that we not > inadvertently lock out some positive later effort (because, e.g., we > didn't leave a permissive enough license before we went to live off-grid > on a sunny beach with our Racketeering plunder). > > I'm not saying that licenses shouldn't be totally permissive, though, or > we'd just release everything to the public domain. Racket is pretty > neat, and, for example, there's still an icky element or two in industry > that have been known to sabotage projects, and licenses can offer some > defense. I think there's little danger of Racket ever being a threat or > underhanded opportunity to anyone -- but, with all the students around, > we should try to serve example of good open source licensing, in the > best spirit of engineering and goodwill. > >  It's not too late. :) https://www.neilvandyke.org/racket-money/ > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.