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.

____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to