forked from racket/racket
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LICENSE.txt
192 lines (155 loc) · 8.58 KB
/
LICENSE.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
Racket is distributed under the MIT license and the Apache License,
version 2.0, at your option. However, the Racket runtime system includes
components distributed under other licenses. In short:
* The Racket CS runtime system embeds Chez Scheme, which is distributed
under the Apache License, version 2.0. This runtime system is built
from code in "racket/src/cs" and "racket/src/ChezScheme".
* The Racket BC runtime system includes code distributed under the GNU
Lesser General Public License, either version 3 of the license, or (at
your option) any later version. This runtime system is built from code
in "racket/src/bc".
Except for Windows executables that are created with the “embed DLLs”
option, the runtime system remains separate as a shared library or
additional executable, which means that it is dynamically linked and can
be replaced with a modified variant by users.
See the file "racket/src/LICENSE-APACHE.txt" for the full text of the
Apache License, version 2.0.
See the file "racket/src/LICENSE-MIT.txt" for the full text of the MIT
license.
See the file "racket/src/LICENSE-LGPL.txt" for the full text of the GNU
Lesser General Public License, version 3.
The source code of Racket is available at
https://github.com/racket/racket and
https://download.racket-lang.org/releases.
The Racket runtime system includes or extends several components which
have their own licenses.
The following are used in all Racket executables:
* SHA-224 and SHA-256 implementation from Mbed TLS
Copyright © 2006–2015, ARM Limited, All Rights Reserved
Mbed TLS is licensed under the Apache License, version 2.0.
Code from Mbed TLS can be found in "racket/src/rktio/rktio_sha2.c" and
"racket/src/zuo/zuo.c".
* ZLib
Copyright © 1995–2022 Jean-loup Gailly and Mark Adler
Zlib is distributed under a liberal license: see https://zlib.net.
Code translated from earlier versions of Zlib can be found in
"racket/collects/file/{gzip,gunzip}.rkt". Racket CS executables also
use Zlib via Chez Scheme: a copy of Zlib can be found in
"racket/src/ChezScheme/zlib". Additionally, on some platforms, Zlib is
packaged with the support libraries for racket/draw.
* Terminal support from Chez Scheme
Both Racket BC and Racket CS use primitive terminal support code from
Chez Scheme’s expression editor, which is based on a command-line
editor for Scheme developed from 1989 through 1994 by C. David Boyer.
This code can be found in "racket/src/ChezScheme/c/expeditor.c". The
expression editor, like the rest of Chez Scheme, is licensed under the
Apache License, version 2.0.
* Startup path support from LLVM
The implementation of the C API function racket_get_self_exe_path in
Racket CS and related internal functions in Racket BC includes code
from the LLVM Project, which is licensed under the Apache License,
version 2.0, with LLVM exceptions. Code adapted from the LLVM Project
can be found in "racket/src/start/self_exe.inc".
The following are used in all Racket executables for Windows:
* MemoryModule
Copyright © 2004–2015 by Joachim Bauch / mail@joachim-bauch.de
https://www.joachim-bauch.de
MemoryModule is licensed under the Mozilla Public License, version
2.0: see https://www.mozilla.org/en-US/MPL/2.0/ for the full text of
the license. Code from MemoryModule can be found in
"racket/src/start/MemoryModule.{c,h}".
The following are used only in Racket BC executables:
* libscheme
Copyright © 1994 Brent Benson
All rights reserved.
See the file "racket/src/LICENSE-libscheme.txt" for the full text of
the libscheme license. Code from libscheme can be found in
"racket/src/bc/src".
* GNU Lightning
Copyright © 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2011 Free
Software Foundation, Inc.
GNU Lightning is distributed under the GNU Lesser General Public
License, version 3, or (at your option) any later version.
A fork of GNU Lightning can be found in "racket/src/bc/src/lightning".
* GNU MP Library
Copyright © 1991, 1992, 1993, 1994, 1996, 1999, 2000, 2007 Free
Software Foundation, Inc.
GMP is distributed under the GNU Lesser General Public License,
version 3, or (at your option) any later version.
Code from GMP can be found in "racket/src/bc/src/gmp".
* libunwind
Copyright © 2003–2005 Hewlett-Packard Development Company, L.P.
libunwind is distributed under the MIT license.
Code from libunwind can be found in "racket/src/bc/src/unwind".
* libffi
Copyright © 1996–2019 Anthony Green, Red Hat, Inc and others.
libffi is distributed under the MIT license.
A copy of libffi can be found in "racket/src/bc/foreign/libffi".
* random.inc
Based on "random.c" from FreeBSD 2.2.
Copyright © 1983, 1993 The Regents of the University of California.
This code is distributed under a three-clause BSD license.
Code from FreeBSD 2.2 can be found in "racket/src/bc/src/random.inc".
In addition to the Racket runtime system, the default mode of building
Racket will install some packages, which are distributed under their own
licenses.
The Racket code for all packages in the main Racket distribution is
primarily under the MIT license and the Apache License, version 2.0, at
your option, but some packages contain Racket code under other
permissive licenses.
Some components of Racket are implemented using additional shared
libraries. For some platforms and installation modes (especially for
Windows and Mac OS), these libraries are distributed in
platform-specific Racket packages; in other cases, they may be included
with the operating system or installable via the system’s package
manager. In all cases, these libraries are dynamically loaded and can be
replaced with modified variants by users. In particular:
* Even the “minimal Racket” distribution may include shared libraries
for OpenSSL, SQLite, and/or Editline, depending on the platform.
The Windows distribution also includes GNU libiconv, which is
distributed under the GNU Lesser General Public License, either
version 3 of the license, or (at your option) any later version. See
the byte converter documentation for further details.
* The Racket Drawing Toolkit is implemented using Cairo, Pango,
HarfBuzz, FriBidi, FreeType, FontConfig, and Glib. Some of these
libraries are distributed under the GNU Lesser General Public License:
see the applicable platform-specific Racket packages for details.
* The Racket Graphical Interface Toolkit is primarily implemented using
racket/draw and the native GUI framework for each platform, but can be
configured to always use GTK, instead. On Mac OS, racket/gui also
uses the libraries MMTabBarView and/or PSMTabBarControl, which are
distributed under a three-clause BSD license.
* The math/bigfloat library uses GNU MP and MPFR, which are distributed
under the GNU Lesser General Public License, either version 3 of the
license, or (at your option) any later version.
* Files generated by Scribble’s LaTeX renderer use LaTeX packages with
various licenses, such as the LaTeX Project Public License. Some of
these are distributed with the Racket package "scribble-lib"; others
may be installed as part of your TeX distribution.
For further details about the licenses for these libraries, see the
"LICENSE.txt" files included with the applicable platform-specific
packages.
Similarly, your Racket distribution or installation may have been
configured with additional packages, including third-party packages,
which could use other licenses: see the documentation or "LICENSE.txt"
file included with each package for information about the applicable
licenses.
The Racket source distribution also includes build scripts generated by
GNU Autoconf which are under various licenses, including the GNU General
Public License with Autoconf exception; however, these files are not
installed with Racket.
Finally, this Git repository also contains (in the "racket-benchmarks"
package) the following benchmarks based on third-party code which are
not part of the standard Racket distribution:
* psyntax (Portable implementation of syntax-case)
By R. Kent Dybvig, Oscar Waddell, Bob Hieb, and Carl Bruggeman
psyntax was extracted from Chez Scheme, which is distributed under the
Apache License, version 2.0; see also the file header for the original
permissive license. Code from psyntax can be found in
"pkgs/racket-benchmarks/tests/racket/benchmarks/common/psyntax.sch".
* SCM
Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc.
SCM is distributed under the GNU Lesser General Public License,
version 3, or (at your option) any later version.
Code from SCM can be found in
"pkgs/racket-benchmarks/tests/racket/benchmarks/shootout/pidigits1.rkt".