aboutsummaryrefslogtreecommitdiffstats
path: root/COPYING
diff options
context:
space:
mode:
Diffstat (limited to 'COPYING')
-rw-r--r--COPYING564
1 files changed, 564 insertions, 0 deletions
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..412a78c
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,564 @@
1License information for this artifact
2=====================================
3
4This artifact consists of a few parts. We choose to license most of
5our code under the 3-clause BSD license (SPDX: BSD-3-Clause), with an
6exception of the Nix test suite that we have adopted, which remains
7licensed under LGPL 2.1 (SPDX: LGPL-2.1-or-later).
8
9Specifically:
10- The following files in lib/nix/ are derived from nixformat [1] by
11 Denis Korzunov:
12 lexer.ml, nix.ml, parser.mly, printer.ml and types.ml
13 nixformat is licensed under ISC (SPDX: ISC). For consistency, we
14 choose to relicense these files under the 3-clause BSD license (as
15 it subsumes the ISC license). We also include a copy of the ISC
16 license as required.
17- The files in test/testdata/ come from Nix [2] and remain licensed
18 under version 2.1 of the LGPL license. We also include a copy of
19 this license below. The only exception here is the file
20 test/testdata/importdef.sexp
21 which was created by us (and is therefore licensed under the 3-clause BSD
22 license).
23- Any files not described by the preceding items is licensed under the
24 3-clause BSD license.
25
26[1]: https://github.com/d2km/nixformat
27[2]: https://github.com/NixOs/nix
28
29
30The 3-clause BSD license (BSD-3-Clause)
31---------------------------------------
32
33Redistribution and use in source and binary forms, with or without
34modification, are permitted provided that the following conditions are
35met:
36
37 1. Redistributions of source code must retain the above copyright
38 notice, this list of conditions and the following disclaimer.
39 2. Redistributions in binary form must reproduce the above
40 copyright notice, this list of conditions and the following
41 disclaimer in the documentation and/or other materials provided
42 with the distribution.
43 3. Neither the name of the copyright holder nor the names of its
44 contributors may be used to endorse or promote products derived
45 from this software without specific prior written permission.
46
47THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
48"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
49LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
50A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
51HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
52SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
53LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
54DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
55THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
57OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58
59
60The ISC license (ISC)
61---------------------
62
63Permission to use, copy, modify, and /or distribute this software for
64any purpose with or without fee is hereby granted, provided that the
65above copyright notice and this permission notice appear in all
66copies.
67
68THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
69WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
70WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
71AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
72DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
73PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
74TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
75PERFORMANCE OF THIS SOFTWARE.
76
77
78Version 2.1 of the LGPL license (LGPL-2.1-or-later)
79---------------------------------------------------
80
81Copyright (C) 1991, 1999 Free Software Foundation, Inc.
8251 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
83
84Everyone is permitted to copy and distribute verbatim copies of this
85license document, but changing it is not allowed.
86
87[This is the first released version of the Lesser GPL. It also counts
88as the successor of the GNU Library Public License, version 2, hence
89the version number 2.1.]
90
91Preamble
92
93The licenses for most software are designed to take away your freedom
94to share and change it. By contrast, the GNU General Public Licenses
95are intended to guarantee your freedom to share and change free
96software--to make sure the software is free for all its users.
97
98This license, the Lesser General Public License, applies to some
99specially designated software packages--typically libraries--of the
100Free Software Foundation and other authors who decide to use it. You
101can use it too, but we suggest you first think carefully about whether
102this license or the ordinary General Public License is the better
103strategy to use in any particular case, based on the explanations
104below.
105
106When we speak of free software, we are referring to freedom of use,
107not price. Our General Public Licenses are designed to make sure that
108you have the freedom to distribute copies of free software (and charge
109for this service if you wish); that you receive source code or can get
110it if you want it; that you can change the software and use pieces of
111it in new free programs; and that you are informed that you can do
112these things.
113
114To protect your rights, we need to make restrictions that forbid
115distributors to deny you these rights or to ask you to surrender these
116rights. These restrictions translate to certain responsibilities for
117you if you distribute copies of the library or if you modify it.
118
119For example, if you distribute copies of the library, whether gratis
120or for a fee, you must give the recipients all the rights that we gave
121you. You must make sure that they, too, receive or can get the source
122code. If you link other code with the library, you must provide
123complete object files to the recipients, so that they can relink them
124with the library after making changes to the library and recompiling
125it. And you must show them these terms so they know their rights.
126
127We protect your rights with a two-step method: (1) we copyright the
128library, and (2) we offer you this license, which gives you legal
129permission to copy, distribute and/or modify the library.
130
131To protect each distributor, we want to make it very clear that there
132is no warranty for the free library. Also, if the library is modified
133by someone else and passed on, the recipients should know that what
134they have is not the original version, so that the original author's
135reputation will not be affected by problems that might be introduced
136by others.
137
138Finally, software patents pose a constant threat to the existence of
139any free program. We wish to make sure that a company cannot
140effectively restrict the users of a free program by obtaining a
141restrictive license from a patent holder. Therefore, we insist that
142any patent license obtained for a version of the library must be
143consistent with the full freedom of use specified in this license.
144
145Most GNU software, including some libraries, is covered by the
146ordinary GNU General Public License. This license, the GNU Lesser
147General Public License, applies to certain designated libraries, and
148is quite different from the ordinary General Public License. We use
149this license for certain libraries in order to permit linking those
150libraries into non-free programs.
151
152When a program is linked with a library, whether statically or using a
153shared library, the combination of the two is legally speaking a
154combined work, a derivative of the original library. The ordinary
155General Public License therefore permits such linking only if the
156entire combination fits its criteria of freedom. The Lesser General
157Public License permits more lax criteria for linking other code with
158the library.
159
160We call this license the "Lesser" General Public License because it
161does Less to protect the user's freedom than the ordinary General
162Public License. It also provides other free software developers Less
163of an advantage over competing non-free programs. These disadvantages
164are the reason we use the ordinary General Public License for many
165libraries. However, the Lesser license provides advantages in certain
166special circumstances.
167
168For example, on rare occasions, there may be a special need to
169encourage the widest possible use of a certain library, so that it
170becomes a de-facto standard. To achieve this, non-free programs must
171be allowed to use the library. A more frequent case is that a free
172library does the same job as widely used non-free libraries. In this
173case, there is little to gain by limiting the free library to free
174software only, so we use the Lesser General Public License.
175
176In other cases, permission to use a particular library in non-free
177programs enables a greater number of people to use a large body of
178free software. For example, permission to use the GNU C Library in
179non-free programs enables many more people to use the whole GNU
180operating system, as well as its variant, the GNU/Linux operating
181system.
182
183Although the Lesser General Public License is Less protective of the
184users' freedom, it does ensure that the user of a program that is
185linked with the Library has the freedom and the wherewithal to run
186that program using a modified version of the Library.
187
188The precise terms and conditions for copying, distribution and
189modification follow. Pay close attention to the difference between a
190"work based on the library" and a "work that uses the library". The
191former contains code derived from the library, whereas the latter must
192be combined with the library in order to run.
193
194GNU LESSER GENERAL PUBLIC LICENSE
195
196TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
197
198 0. This License Agreement applies to any software library or
199 other program which contains a notice placed by the copyright
200 holder or other authorized party saying it may be distributed
201 under the terms of this Lesser General Public License (also
202 called "this License"). Each licensee is addressed as "you".
203
204 A "library" means a collection of software functions and/or
205 data prepared so as to be conveniently linked with application
206 programs (which use some of those functions and data) to form
207 executables.
208
209 The "Library", below, refers to any such software library or
210 work which has been distributed under these terms. A "work
211 based on the Library" means either the Library or any
212 derivative work under copyright law: that is to say, a work
213 containing the Library or a portion of it, either verbatim or
214 with modifications and/or translated straightforwardly into
215 another language. (Hereinafter, translation is included
216 without limitation in the term "modification".)
217
218 "Source code" for a work means the preferred form of the work
219 for making modifications to it. For a library, complete source
220 code means all the source code for all modules it contains,
221 plus any associated interface definition files, plus the
222 scripts used to control compilation and installation of the
223 library.
224
225 Activities other than copying, distribution and modification
226 are not covered by this License; they are outside its scope.
227 The act of running a program using the Library is not
228 restricted, and output from such a program is covered only if
229 its contents constitute a work based on the Library
230 (independent of the use of the Library in a tool for writing
231 it). Whether that is true depends on what the Library does and
232 what the program that uses the Library does. 1. You may copy
233 and distribute verbatim copies of the Library's complete
234 source code as you receive it, in any medium, provided that
235 you conspicuously and appropriately publish on each copy an
236 appropriate copyright notice and disclaimer of warranty; keep
237 intact all the notices that refer to this License and to the
238 absence of any warranty; and distribute a copy of this License
239 along with the Library.
240
241 You may charge a fee for the physical act of transferring a
242 copy, and you may at your option offer warranty protection in
243 exchange for a fee.
244
245 2. You may modify your copy or copies of the Library or any
246 portion of it, thus forming a work based on the Library, and
247 copy and distribute such modifications or work under the terms
248 of Section 1 above, provided that you also meet all of these
249 conditions:
250
251 a) The modified work must itself be a software library.
252 b) You must cause the files modified to carry prominent
253 notices stating that you changed the files and the date of
254 any change.
255 c) You must cause the whole of the work to be licensed at no
256 charge to all third parties under the terms of this
257 License.
258 d) If a facility in the modified Library refers to a function
259 or a table of data to be supplied by an application
260 program that uses the facility, other than as an argument
261 passed when the facility is invoked, then you must make a
262 good faith effort to ensure that, in the event an
263 application does not supply such function or table, the
264 facility still operates, and performs whatever part of its
265 purpose remains meaningful.
266
267 (For example, a function in a library to compute square roots
268 has a purpose that is entirely well-defined independent of the
269 application. Therefore, Subsection 2d requires that any
270 application-supplied function or table used by this function
271 must be optional: if the application does not supply it, the
272 square root function must still compute square roots.)
273
274 These requirements apply to the modified work as a whole. If
275 identifiable sections of that work are not derived from the
276 Library, and can be reasonably considered independent and
277 separate works in themselves, then this License, and its
278 terms, do not apply to those sections when you distribute them
279 as separate works. But when you distribute the same sections
280 as part of a whole which is a work based on the Library, the
281 distribution of the whole must be on the terms of this
282 License, whose permissions for other licensees extend to the
283 entire whole, and thus to each and every part regardless of
284 who wrote it.
285
286 Thus, it is not the intent of this section to claim rights or
287 contest your rights to work written entirely by you; rather,
288 the intent is to exercise the right to control the
289 distribution of derivative or collective works based on the
290 Library.
291
292 In addition, mere aggregation of another work not based on the
293 Library with the Library (or with a work based on the Library)
294 on a volume of a storage or distribution medium does not bring
295 the other work under the scope of this License.
296
297 3. You may opt to apply the terms of the ordinary GNU General
298 Public License instead of this License to a given copy of the
299 Library. To do this, you must alter all the notices that refer
300 to this License, so that they refer to the ordinary GNU
301 General Public License, version 2, instead of to this License.
302 (If a newer version than version 2 of the ordinary GNU General
303 Public License has appeared, then you can specify that version
304 instead if you wish.) Do not make any other change in these
305 notices.
306
307 Once this change is made in a given copy, it is irreversible
308 for that copy, so the ordinary GNU General Public License
309 applies to all subsequent copies and derivative works made
310 from that copy.
311
312 This option is useful when you wish to copy part of the code
313 of the Library into a program that is not a library.
314
315 4. You may copy and distribute the Library (or a portion or
316 derivative of it, under Section 2) in object code or
317 executable form under the terms of Sections 1 and 2 above
318 provided that you accompany it with the complete corresponding
319 machine-readable source code, which must be distributed under
320 the terms of Sections 1 and 2 above on a medium customarily
321 used for software interchange.
322
323 If distribution of object code is made by offering access to
324 copy from a designated place, then offering equivalent access
325 to copy the source code from the same place satisfies the
326 requirement to distribute the source code, even though third
327 parties are not compelled to copy the source along with the
328 object code.
329
330 5. A program that contains no derivative of any portion of the
331 Library, but is designed to work with the Library by being
332 compiled or linked with it, is called a "work that uses the
333 Library". Such a work, in isolation, is not a derivative work
334 of the Library, and therefore falls outside the scope of this
335 License.
336
337 However, linking a "work that uses the Library" with the
338 Library creates an executable that is a derivative of the
339 Library (because it contains portions of the Library), rather
340 than a "work that uses the library". The executable is
341 therefore covered by this License. Section 6 states terms for
342 distribution of such executables.
343
344 When a "work that uses the Library" uses material from a
345 header file that is part of the Library, the object code for
346 the work may be a derivative work of the Library even though
347 the source code is not. Whether this is true is especially
348 significant if the work can be linked without the Library, or
349 if the work is itself a library. The threshold for this to be
350 true is not precisely defined by law.
351
352 If such an object file uses only numerical parameters, data
353 structure layouts and accessors, and small macros and small
354 inline functions (ten lines or less in length), then the use
355 of the object file is unrestricted, regardless of whether it
356 is legally a derivative work. (Executables containing this
357 object code plus portions of the Library will still fall under
358 Section 6.)
359
360 Otherwise, if the work is a derivative of the Library, you may
361 distribute the object code for the work under the terms of
362 Section 6. Any executables containing that work also fall
363 under Section 6, whether or not they are linked directly with
364 the Library itself.
365
366 6. As an exception to the Sections above, you may also combine or
367 link a "work that uses the Library" with the Library to
368 produce a work containing portions of the Library, and
369 distribute that work under terms of your choice, provided that
370 the terms permit modification of the work for the customer's
371 own use and reverse engineering for debugging such
372 modifications.
373
374 You must give prominent notice with each copy of the work that
375 the Library is used in it and that the Library and its use are
376 covered by this License. You must supply a copy of this
377 License. If the work during execution displays copyright
378 notices, you must include the copyright notice for the Library
379 among them, as well as a reference directing the user to the
380 copy of this License. Also, you must do one of these things:
381
382 a) Accompany the work with the complete corresponding
383 machine-readable source code for the Library including
384 whatever changes were used in the work (which must be
385 distributed under Sections 1 and 2 above); and, if the
386 work is an executable linked with the Library, with the
387 complete machine-readable "work that uses the Library", as
388 object code and/or source code, so that the user can
389 modify the Library and then relink to produce a modified
390 executable containing the modified Library. (It is
391 understood that the user who changes the contents of
392 definitions files in the Library will not necessarily be
393 able to recompile the application to use the modified
394 definitions.)
395 b) Use a suitable shared library mechanism for linking with
396 the Library. A suitable mechanism is one that (1) uses at
397 run time a copy of the library already present on the
398 user's computer system, rather than copying library
399 functions into the executable, and (2) will operate
400 properly with a modified version of the library, if the
401 user installs one, as long as the modified version is
402 interface-compatible with the version that the work was
403 made with.
404 c) Accompany the work with a written offer, valid for at
405 least three years, to give the same user the materials
406 specified in Subsection 6a, above, for a charge no more
407 than the cost of performing this distribution.
408 d) If distribution of the work is made by offering access to
409 copy from a designated place, offer equivalent access to
410 copy the above specified materials from the same place.
411 e) Verify that the user has already received a copy of these
412 materials or that you have already sent this user a copy.
413
414 For an executable, the required form of the "work that uses
415 the Library" must include any data and utility programs needed
416 for reproducing the executable from it. However, as a special
417 exception, the materials to be distributed need not include
418 anything that is normally distributed (in either source or
419 binary form) with the major components (compiler, kernel, and
420 so on) of the operating system on which the executable runs,
421 unless that component itself accompanies the executable.
422
423 It may happen that this requirement contradicts the license
424 restrictions of other proprietary libraries that do not
425 normally accompany the operating system. Such a contradiction
426 means you cannot use both them and the Library together in an
427 executable that you distribute.
428
429 7. You may place library facilities that are a work based on the
430 Library side-by-side in a single library together with other
431 library facilities not covered by this License, and distribute
432 such a combined library, provided that the separate
433 distribution of the work based on the Library and of the other
434 library facilities is otherwise permitted, and provided that
435 you do these two things:
436
437 a) Accompany the combined library with a copy of the same
438 work based on the Library, uncombined with any other
439 library facilities. This must be distributed under the
440 terms of the Sections above.
441 b) Give prominent notice with the combined library of the
442 fact that part of it is a work based on the Library, and
443 explaining where to find the accompanying uncombined form
444 of the same work.
445
446 8. You may not copy, modify, sublicense, link with, or distribute
447 the Library except as expressly provided under this License.
448 Any attempt otherwise to copy, modify, sublicense, link with,
449 or distribute the Library is void, and will automatically
450 terminate your rights under this License. However, parties who
451 have received copies, or rights, from you under this License
452 will not have their licenses terminated so long as such
453 parties remain in full compliance.
454
455 9. You are not required to accept this License, since you have
456 not signed it. However, nothing else grants you permission to
457 modify or distribute the Library or its derivative works.
458 These actions are prohibited by law if you do not accept this
459 License. Therefore, by modifying or distributing the Library
460 (or any work based on the Library), you indicate your
461 acceptance of this License to do so, and all its terms and
462 conditions for copying, distributing or modifying the Library
463 or works based on it.
464
465 10. Each time you redistribute the Library (or any work based on
466 the Library), the recipient automatically receives a license
467 from the original licensor to copy, distribute, link with or
468 modify the Library subject to these terms and conditions. You
469 may not impose any further restrictions on the recipients'
470 exercise of the rights granted herein. You are not responsible
471 for enforcing compliance by third parties with this License.
472
473 11. If, as a consequence of a court judgment or allegation of
474 patent infringement or for any other reason (not limited to
475 patent issues), conditions are imposed on you (whether by
476 court order, agreement or otherwise) that contradict the
477 conditions of this License, they do not excuse you from the
478 conditions of this License. If you cannot distribute so as to
479 satisfy simultaneously your obligations under this License and
480 any other pertinent obligations, then as a consequence you may
481 not distribute the Library at all. For example, if a patent
482 license would not permit royalty-free redistribution of the
483 Library by all those who receive copies directly or indirectly
484 through you, then the only way you could satisfy both it and
485 this License would be to refrain entirely from distribution of
486 the Library.
487
488 If any portion of this section is held invalid or
489 unenforceable under any particular circumstance, the balance
490 of the section is intended to apply, and the section as a
491 whole is intended to apply in other circumstances.
492
493 It is not the purpose of this section to induce you to
494 infringe any patents or other property right claims or to
495 contest validity of any such claims; this section has the sole
496 purpose of protecting the integrity of the free software
497 distribution system which is implemented by public license
498 practices. Many people have made generous contributions to the
499 wide range of software distributed through that system in
500 reliance on consistent application of that system; it is up to
501 the author/donor to decide if he or she is willing to
502 distribute software through any other system and a licensee
503 cannot impose that choice.
504
505 This section is intended to make thoroughly clear what is
506 believed to be a consequence of the rest of this License.
507
508 12. If the distribution and/or use of the Library is restricted in
509 certain countries either by patents or by copyrighted
510 interfaces, the original copyright holder who places the
511 Library under this License may add an explicit geographical
512 distribution limitation excluding those countries, so that
513 distribution is permitted only in or among countries not thus
514 excluded. In such case, this License incorporates the
515 limitation as if written in the body of this License.
516
517 13. The Free Software Foundation may publish revised and/or new
518 versions of the Lesser General Public License from time to
519 time. Such new versions will be similar in spirit to the
520 present version, but may differ in detail to address new
521 problems or concerns.
522
523 Each version is given a distinguishing version number. If the
524 Library specifies a version number of this License which
525 applies to it and "any later version", you have the option of
526 following the terms and conditions either of that version or
527 of any later version published by the Free Software
528 Foundation. If the Library does not specify a license version
529 number, you may choose any version ever published by the Free
530 Software Foundation.
531
532 14. If you wish to incorporate parts of the Library into other
533 free programs whose distribution conditions are incompatible
534 with these, write to the author to ask for permission. For
535 software which is copyrighted by the Free Software Foundation,
536 write to the Free Software Foundation; we sometimes make
537 exceptions for this. Our decision will be guided by the two
538 goals of preserving the free status of all derivatives of our
539 free software and of promoting the sharing and reuse of
540 software generally.
541
542 NO WARRANTY
543 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
544 WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY
545 APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
546 COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS
547 IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
548 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
549 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
550 ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY
551 IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
552 THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
553
554 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
555 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
556 MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
557 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
558 INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
559 INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO
560 LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES
561 SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY
562 TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR
563 OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
564 DAMAGES.