Developers,
We (the core team) are planning to relicense Racket and its standard
libraries under a permissive license (MIT and Apache v2). Since Racket
contains contributions from hundreds of people, we need permission
from people who have contributed. If you've contributed code or
documentation to Racket at any point, we would like to get your
permission. You can do that by replying to me by email, or at this
GitHub issue:
https://github.com/racket/racket/issues/1570
# Why switch from the LGPL?
First, making Racket available under a more permissive license will
allow Racket to be used in more contexts and by more people -- one of
our most important goals. In particular, some organizations cannot use
GPL-variant licenses, including the LGPL as used by Racket.
Second, the LGPL is tricky to apply to Racket. The Racket compiler
combines the program and the standard library via cross-module
inlining, as well as inserting the results of macro expansion into the
resulting compiled output. This makes it unclear if the entire
resulting program is a derived work of the standard library. Also, the
mechanisms for linking in Racket can make shipping Racket executables
that comply with the license difficult, as described in the license
page [1].
Third, the LGPL version 2 which we use does not provide patent
protection, and the LGPL v3 which does has other issues.
# What license are we switching to?
We plan to switch to dual-license under the Apache License, version 2
[2] and the MIT license [3]. The MIT license is extremely permissive
and compatible with almost everything, while the Apache license has
patent protection and is compatible with other software already
distributed under the Apache license. This is also the combination
chosen by the Rust project.
# When will this change happen?
In the near term, we only plan to release the Racket code under a
different license. Because the C code is linked with multiple existing
libraries that are licensed under the LGPL (such as Lightning and
GMP), the C code in Racket will continue to be distributed under the
LGPL v2.
However, we plan to make this change eventually for all code, so we
are asking for _all_ past and future contributions to be licensed
under the new pair of licenses.
I hope to complete the process for the Racket code in the next two
release cycles (six months).
# How are you collecting permission?
Either via email to me (
sa...@racket-lang.org) or at this GitHub
issue:
https://github.com/racket/racket/issues/1570
Please tell me any names and any email addresses that you may have
contributed to Racket (or PLT Scheme) under.
# What if I don't agree?
We hope that everyone will agree, but we can't be sure of it, nor can
we guarantee that we will be able to contact everyone. For people who
do not respond to direct contact, we will treat that as agreement in
most cases. If you explicitly do not agree, we will try to work
something out so that the re-licensing can go forward while respecting
your copyright.
# What if I think we should do something different?
Please, let us know. We are not lawyers, and we're happy to hear
suggestions for other ways we can accomplish the goals mentioned
above.
Sam, with Matthew, Robby, Matthias, Jay, Vincent
[1]
https://download.racket-lang.org/license.html
[2]
https://opensource.org/licenses/Apache-2.0
[3]
https://opensource.org/licenses/MIT