[racket] Clarification on licensing of Racket code?...

From: Rüdiger Asche (rac at ruediger-asche.de)
Date: Fri Apr 6 03:42:13 EDT 2012

Hi there,

there is a chance that I can push Racket as a programming environment at a 
customer's site (I'm a freelance software developer). I read the LGPL which 
apparently is the basis for programming with Racket (not Racket as in "the 
Programming Language family Racket" but Racket as in "the implementation of 
Racket provided on racket-lang.org.") but I'm not sure if I correctly 
understand what the implications would be.

The vision is that a commercial product (executable running under Windows) 
would be developed under Racket and (in lack of commercial/proprietary 
alternatives) deployed as an .exe generated with raco distribute - meaning 
that the exe would be shipped along with DLLs provided by Racket (and 
embedding runtime support code within the .exe itself).

If I understand the spirit of the FSF (which is responsible for the GPL and 
LGPL licensing model) as well as the LGPL text correctly, this setup would 
automatically require that the product itself falls under the LGPL, implying 
that I would have to disclose the source for the product as well, right? 
Well, in that case, I naturally can NOT use Racket (at least not Racket 
provided by racket-lang.org) because this is a commercial product 
interacting with proprietary code and implementing prorietary protocols (as 
well as the basis for our revenue).

So, what alternatives would I have still using Racket (which I think is 
great as a tool for writing good software) in a commercial environment? I'm 
not aware of commercial implementations of Racket (which I would be happy to 
pay licensing fees for, of course) as alternatives.

Also, I'd be thankful for experiences from other folks who have done this 
kind of thing - both with respect to legal (licensing) issues as well as 
stability issues out there in the field. One of the areas where commercial 
implementations of a particular programming environment are clearly superior 
to open source/freeware etc. implementations is that by paying money for the 
license, we (as third party developers) also obtain the right to support. 
If, say,  the current version of Racket doesn't run on the next version of 
Windows anymore for whatever reason and a successor version of Racket is not 
backward compatible with the current version of Windows, it is my risk to 
get the scenario to work at a customer's site under all permutations of 
OS/Racket versions - by using a free version of Racket, I wouldn't have any 
possibility to delegate the issue to the developers of Racket (which is fine 
with me because Racket from racket-lang.org is free). Naturally, if I had 
enough time, I'd write my own Racket from bottom up, but I'm afraid I don't 
have the time...

The bigger issue, of course, is under what circumstances and under whose 
rules Racket programming should be pushed in the computer world. In my 
opinion as a paid full time software designer in a business environment, 
it'd be perfect if there were several commercial Racket implementations out 
there, competing with free implementations (similar to the C/C++ world) so 
that everybody (from learning students to computer pros) could all use and 
spread Racket but there is space both for academic/fun/leisure and 
professional develompent (it is my impression that the latter one so far 
simply isn't covered yet by Racket). But that's just a side issue that 
should be discussed somewhere else.

Thanks for any ideas/suggestions/answers (also appreciated as PMs if 
necessary) - please let's resist the temptation to make this into a debate 
about free vs. commercial software - I'm interested in solutions, not 
ideologies...

P.S. I've included Neil explicitly because I know from earlier postings of 
his that he is in a similar situation.


Posted on the users mailing list.