From 2fa345ef9e340623e9625ece2ee772ad83253fc6 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Wed, 2 May 2012 03:12:27 -0400 Subject: [PATCH] Revise license page with the clarification text that was sent on the list. (Slightly revised.) --- collects/meta/web/download/download-pages.rkt | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/collects/meta/web/download/download-pages.rkt b/collects/meta/web/download/download-pages.rkt index a2bc67579d..f1819afdf4 100644 --- a/collects/meta/web/download/download-pages.rkt +++ b/collects/meta/web/download/download-pages.rkt @@ -110,15 +110,44 @@ (define license @page[#:title "Software License" #:part-of 'download]{ - @p{Racket is distributed under the + @p*{ + @~ Racket is distributed under the @a[href: "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html#SEC1"]{ GNU Lesser General Public License (LGPL)}. - This means that you can link parts of Racket (such as racket or gracket) - into proprietary applications, provided that you follow the specific - rules stated in the LGPL. You can also modify Racket software; if you - distribute a modified version, you must distribute it under the terms of - the LGPL, which in particular means that you must release the source - code for the modified Racket software.}}) + @~ 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 have 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. + @~ @ul*{ + @~ 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 @tt{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 @em{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 @tt{raco exe} format, since the bytecode is + embedded in an extractable way in the resulting executable.} + @~ 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.}}) (define downloader-script @script/inline[type: 'text/javascript]{@||