[racket] Clarifying the Racket License

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Mon Apr 16 13:06:09 EDT 2012

There has recently been some discussion on the list about the
Racket license, and we wanted to make our perspective clear. Our
primary goal is to help as many people as possible use and
contribute to Racket.  We encourage anyone to develop any kind of
software, with any kind of license, using Racket.

We've chosen the LGPL as the license for Racket, which makes it
possible for for people to create software with Racket, and to
allow us to build on existing libraries that use the LGPL, such
as the Lightning assembler and the GMP math library. The basic
requirement of the LGPL is that you make your changes to Racket
available, and that you let other people use your software with
new versions of Racket.

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 ompiled
  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, which embeds
  these bytecode files.

We are, of course, not lawyers, and this should not be taken as
legal advice.  However, we wanted to make it clear that Racket is
an appropriate building block for all kinds of software, and to
clarify how we view the license of Racket.

Sam, for the Racket developers

Posted on the users mailing list.