llvm.org GIT mirror llvm / e49000a
Install new LLVM license structure and new developer policy. This installs the new developer policy and moves all of the license files across all LLVM projects in the monorepo to the new license structure. The remaining projects will be moved independently. Note that I've left odd formatting and other idiosyncracies of the legacy license structure text alone to make the diff easier to read. Critically, note that we do not in any case *remove* the old license notice or terms, as that remains necessary until we finish the relicensing process. I've updated a few license files that refer to the LLVM license to instead simply refer generically to whatever license the LLVM project is under, basically trying to minimize confusion. This is really the culmination of so many people. Chris led the community discussions, drafted the policy update and organized the multi-year string of meeting between lawyers across the community to figure out the strategy. Numerous lawyers at companies in the community spent their time figuring out initial answers, and then the Foundation's lawyer Heather Meeker has done *so* much to help refine and get us ready here. I could keep going on, but I just want to make sure everyone realizes what a huge community effort this has been from the begining. Differential Revision: https://reviews.llvm.org/D56897 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351631 91177308-0d34-0410-b5e6-96231b3b80d8 Chandler Carruth 8 months ago
3 changed file(s) with 690 addition(s) and 102 deletion(s). Raw diff Collapse all Expand all
0 ==============================================================================
1 LLVM Release License
1 The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
2 ==============================================================================
3
4 Apache License
5 Version 2.0, January 2004
6 http://www.apache.org/licenses/
7
8 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
10 1. Definitions.
11
12 "License" shall mean the terms and conditions for use, reproduction,
13 and distribution as defined by Sections 1 through 9 of this document.
14
15 "Licensor" shall mean the copyright owner or entity authorized by
16 the copyright owner that is granting the License.
17
18 "Legal Entity" shall mean the union of the acting entity and all
19 other entities that control, are controlled by, or are under common
20 control with that entity. For the purposes of this definition,
21 "control" means (i) the power, direct or indirect, to cause the
22 direction or management of such entity, whether by contract or
23 otherwise, or (ii) ownership of fifty percent (50%) or more of the
24 outstanding shares, or (iii) beneficial ownership of such entity.
25
26 "You" (or "Your") shall mean an individual or Legal Entity
27 exercising permissions granted by this License.
28
29 "Source" form shall mean the preferred form for making modifications,
30 including but not limited to software source code, documentation
31 source, and configuration files.
32
33 "Object" form shall mean any form resulting from mechanical
34 transformation or translation of a Source form, including but
35 not limited to compiled object code, generated documentation,
36 and conversions to other media types.
37
38 "Work" shall mean the work of authorship, whether in Source or
39 Object form, made available under the License, as indicated by a
40 copyright notice that is included in or attached to the work
41 (an example is provided in the Appendix below).
42
43 "Derivative Works" shall mean any work, whether in Source or Object
44 form, that is based on (or derived from) the Work and for which the
45 editorial revisions, annotations, elaborations, or other modifications
46 represent, as a whole, an original work of authorship. For the purposes
47 of this License, Derivative Works shall not include works that remain
48 separable from, or merely link (or bind by name) to the interfaces of,
49 the Work and Derivative Works thereof.
50
51 "Contribution" shall mean any work of authorship, including
52 the original version of the Work and any modifications or additions
53 to that Work or Derivative Works thereof, that is intentionally
54 submitted to Licensor for inclusion in the Work by the copyright owner
55 or by an individual or Legal Entity authorized to submit on behalf of
56 the copyright owner. For the purposes of this definition, "submitted"
57 means any form of electronic, verbal, or written communication sent
58 to the Licensor or its representatives, including but not limited to
59 communication on electronic mailing lists, source code control systems,
60 and issue tracking systems that are managed by, or on behalf of, the
61 Licensor for the purpose of discussing and improving the Work, but
62 excluding communication that is conspicuously marked or otherwise
63 designated in writing by the copyright owner as "Not a Contribution."
64
65 "Contributor" shall mean Licensor and any individual or Legal Entity
66 on behalf of whom a Contribution has been received by Licensor and
67 subsequently incorporated within the Work.
68
69 2. Grant of Copyright License. Subject to the terms and conditions of
70 this License, each Contributor hereby grants to You a perpetual,
71 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72 copyright license to reproduce, prepare Derivative Works of,
73 publicly display, publicly perform, sublicense, and distribute the
74 Work and such Derivative Works in Source or Object form.
75
76 3. Grant of Patent License. Subject to the terms and conditions of
77 this License, each Contributor hereby grants to You a perpetual,
78 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79 (except as stated in this section) patent license to make, have made,
80 use, offer to sell, sell, import, and otherwise transfer the Work,
81 where such license applies only to those patent claims licensable
82 by such Contributor that are necessarily infringed by their
83 Contribution(s) alone or by combination of their Contribution(s)
84 with the Work to which such Contribution(s) was submitted. If You
85 institute patent litigation against any entity (including a
86 cross-claim or counterclaim in a lawsuit) alleging that the Work
87 or a Contribution incorporated within the Work constitutes direct
88 or contributory patent infringement, then any patent licenses
89 granted to You under this License for that Work shall terminate
90 as of the date such litigation is filed.
91
92 4. Redistribution. You may reproduce and distribute copies of the
93 Work or Derivative Works thereof in any medium, with or without
94 modifications, and in Source or Object form, provided that You
95 meet the following conditions:
96
97 (a) You must give any other recipients of the Work or
98 Derivative Works a copy of this License; and
99
100 (b) You must cause any modified files to carry prominent notices
101 stating that You changed the files; and
102
103 (c) You must retain, in the Source form of any Derivative Works
104 that You distribute, all copyright, patent, trademark, and
105 attribution notices from the Source form of the Work,
106 excluding those notices that do not pertain to any part of
107 the Derivative Works; and
108
109 (d) If the Work includes a "NOTICE" text file as part of its
110 distribution, then any Derivative Works that You distribute must
111 include a readable copy of the attribution notices contained
112 within such NOTICE file, excluding those notices that do not
113 pertain to any part of the Derivative Works, in at least one
114 of the following places: within a NOTICE text file distributed
115 as part of the Derivative Works; within the Source form or
116 documentation, if provided along with the Derivative Works; or,
117 within a display generated by the Derivative Works, if and
118 wherever such third-party notices normally appear. The contents
119 of the NOTICE file are for informational purposes only and
120 do not modify the License. You may add Your own attribution
121 notices within Derivative Works that You distribute, alongside
122 or as an addendum to the NOTICE text from the Work, provided
123 that such additional attribution notices cannot be construed
124 as modifying the License.
125
126 You may add Your own copyright statement to Your modifications and
127 may provide additional or different license terms and conditions
128 for use, reproduction, or distribution of Your modifications, or
129 for any such Derivative Works as a whole, provided Your use,
130 reproduction, and distribution of the Work otherwise complies with
131 the conditions stated in this License.
132
133 5. Submission of Contributions. Unless You explicitly state otherwise,
134 any Contribution intentionally submitted for inclusion in the Work
135 by You to the Licensor shall be under the terms and conditions of
136 this License, without any additional terms or conditions.
137 Notwithstanding the above, nothing herein shall supersede or modify
138 the terms of any separate license agreement you may have executed
139 with Licensor regarding such Contributions.
140
141 6. Trademarks. This License does not grant permission to use the trade
142 names, trademarks, service marks, or product names of the Licensor,
143 except as required for reasonable and customary use in describing the
144 origin of the Work and reproducing the content of the NOTICE file.
145
146 7. Disclaimer of Warranty. Unless required by applicable law or
147 agreed to in writing, Licensor provides the Work (and each
148 Contributor provides its Contributions) on an "AS IS" BASIS,
149 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150 implied, including, without limitation, any warranties or conditions
151 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152 PARTICULAR PURPOSE. You are solely responsible for determining the
153 appropriateness of using or redistributing the Work and assume any
154 risks associated with Your exercise of permissions under this License.
155
156 8. Limitation of Liability. In no event and under no legal theory,
157 whether in tort (including negligence), contract, or otherwise,
158 unless required by applicable law (such as deliberate and grossly
159 negligent acts) or agreed to in writing, shall any Contributor be
160 liable to You for damages, including any direct, indirect, special,
161 incidental, or consequential damages of any character arising as a
162 result of this License or out of the use or inability to use the
163 Work (including but not limited to damages for loss of goodwill,
164 work stoppage, computer failure or malfunction, or any and all
165 other commercial damages or losses), even if such Contributor
166 has been advised of the possibility of such damages.
167
168 9. Accepting Warranty or Additional Liability. While redistributing
169 the Work or Derivative Works thereof, You may choose to offer,
170 and charge a fee for, acceptance of support, warranty, indemnity,
171 or other liability obligations and/or rights consistent with this
172 License. However, in accepting such obligations, You may act only
173 on Your own behalf and on Your sole responsibility, not on behalf
174 of any other Contributor, and only if You agree to indemnify,
175 defend, and hold each Contributor harmless for any liability
176 incurred by, or claims asserted against, such Contributor by reason
177 of your accepting any such warranty or additional liability.
178
179 END OF TERMS AND CONDITIONS
180
181 APPENDIX: How to apply the Apache License to your work.
182
183 To apply the Apache License to your work, attach the following
184 boilerplate notice, with the fields enclosed by brackets "[]"
185 replaced with your own identifying information. (Don't include
186 the brackets!) The text should be enclosed in the appropriate
187 comment syntax for the file format. We also recommend that a
188 file or class name and description of purpose be included on the
189 same "printed page" as the copyright notice for easier
190 identification within third-party archives.
191
192 Copyright [yyyy] [name of copyright owner]
193
194 Licensed under the Apache License, Version 2.0 (the "License");
195 you may not use this file except in compliance with the License.
196 You may obtain a copy of the License at
197
198 http://www.apache.org/licenses/LICENSE-2.0
199
200 Unless required by applicable law or agreed to in writing, software
201 distributed under the License is distributed on an "AS IS" BASIS,
202 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
203 See the License for the specific language governing permissions and
204 limitations under the License.
205
206
207 ---- LLVM Exceptions to the Apache 2.0 License ----
208
209 As an exception, if, as a result of your compiling your source code, portions
210 of this Software are embedded into an Object form of such source code, you
211 may redistribute such embedded portions in such Object form without complying
212 with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
213
214 In addition, if you combine or link compiled forms of this Software with
215 software that is licensed under the GPLv2 ("Combined Software") and if a
216 court of competent jurisdiction determines that the patent provision (Section
217 3), the indemnity provision (Section 9) or other Section of the License
218 conflicts with the conditions of the GPLv2, you may retroactively and
219 prospectively choose to deem waived or otherwise exclude such Section(s) of
220 the License, but only in their entirety and only with respect to the Combined
221 Software.
222
223 ==============================================================================
224 Software from third parties included in the LLVM Project:
225 ==============================================================================
226 The LLVM Project contains third party software which is under different license
227 terms. All such code will be identified clearly using at least one of two
228 mechanisms:
229 1) It will be in a separate directory tree with its own `LICENSE.txt` or
230 `LICENSE` file at the top containing the specific license and restrictions
231 which apply to that software, or
232 2) It will contain specific license and restriction terms at the top of every
233 file.
234
235 ==============================================================================
236 Legacy LLVM License (ttps://llvm.org/docs/DeveloperPolicy.html#legacy):
2237 ==============================================================================
3238 University of Illinois/NCSA
4239 Open Source License
41276 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
42277 SOFTWARE.
43278
44 ==============================================================================
45 Copyrights and Licenses for Third Party Software Distributed with LLVM:
46 ==============================================================================
47 The LLVM software contains code written by third parties. Such software will
48 have its own individual LICENSE.TXT file in the directory in which it appears.
49 This file will describe the copyrights, license, and restrictions which apply
50 to that code.
51
52 The disclaimer of warranty in the University of Illinois Open Source License
53 applies to all code in the LLVM Distribution, and nothing in any of the
54 other licenses gives permission to use the names of the LLVM Team or the
55 University of Illinois to endorse or promote products derived from this
56 Software.
57
58 The following pieces of software have additional or alternate copyrights,
59 licenses, and/or restrictions:
60
61 Program Directory
62 ------- ---------
63 Google Test llvm/utils/unittest/googletest
64 OpenBSD regex llvm/lib/Support/{reg*, COPYRIGHT.regex}
65 pyyaml tests llvm/test/YAMLParser/{*.data, LICENSE.TXT}
66 ARM contributions llvm/lib/Target/ARM/LICENSE.TXT
67 md5 contributions llvm/lib/Support/MD5.cpp llvm/include/llvm/Support/MD5.h
112112 program.
113113
114114 When submitting patches, please do not add confidentiality or non-disclosure
115 notices to the patches themselves. These notices conflict with the `LLVM
116 License`_ and may result in your contribution being excluded.
115 notices to the patches themselves. These notices conflict with the LLVM
116 licensing terms and may result in your contribution being excluded.
117117
118118 .. _code review:
119119
645645 .. note::
646646
647647 This section deals with legal matters but does not provide legal advice. We
648 are not lawyers --- please seek legal counsel from an attorney.
648 are not lawyers --- please seek legal counsel from a licensed attorney.
649649
650650 This section addresses the issues of copyright, license and patents for the LLVM
651 project. The copyright for the code is held by the individual contributors of
652 the code and the terms of its license to LLVM users and developers is the
653 `University of Illinois/NCSA Open Source License
654 `_ (with portions dual licensed
655 under the `MIT License `_,
656 see below). As contributor to the LLVM project, you agree to allow any
657 contributions to the project to licensed under these terms.
651 project. The copyright for the code is held by the contributors of
652 the code. The code is licensed under permissive `open source licensing terms`_,
653 namely the Apache 2 license, which includes a copyright and `patent license`_.
654 When you contribute code to the LLVM project, you license it under these terms.
655
656 If you have questions or comments about these topics, please contact the
657 `LLVM Developer's Mailing List `_. However,
658 please realize that most compiler developers are not lawyers, and therefore you
659 will not be getting official legal advice.
658660
659661 Copyright
660662 ---------
661663
662 The LLVM project does not require copyright assignments, which means that the
663 copyright for the code in the project is held by its respective contributors who
664 have each agreed to release their contributed code under the terms of the `LLVM
665 License`_.
666
667 An implication of this is that the LLVM license is unlikely to ever change:
668 changing it would require tracking down all the contributors to LLVM and getting
669 them to agree that a license change is acceptable for their contribution. Since
670 there are no plans to change the license, this is not a cause for concern.
671
672 As a contributor to the project, this means that you (or your company) retain
673 ownership of the code you contribute, that it cannot be used in a way that
674 contradicts the license (which is a liberal BSD-style license), and that the
675 license for your contributions won't change without your approval in the
676 future.
677
678 .. _LLVM License:
679
680 License
664 The LLVM project does not collect copyright assignments, which means that the
665 copyright for the code in the project is held by the respective contributors.
666 Because you (or your company)
667 retain ownership of the code you contribute, you know it may only be used under
668 the terms of the open source license you contributed it under: the license for
669 your contributions cannot be changed in the future without your approval.
670
671 Because the LLVM project does not require copyright assignments, changing the
672 LLVM license requires tracking down the
673 contributors to LLVM and getting them to agree that a license change is
674 acceptable for their contributions. We feel that a high burden for relicensing
675 is good for the project, because contributors do not have to fear that their
676 code will be used in a way with which they disagree.
677
678 Relicensing
679 -----------
680
681 The last paragraph notwithstanding, the LLVM Project is in the middle of a large
682 effort to change licenses, which aims to solve several problems:
683
684 * The old licenses made it difficult to move code from (e.g.) the compiler to
685 runtime libraries, because runtime libraries used a different license from the
686 rest of the compiler.
687 * Some contributions were not submitted to LLVM due to concerns that
688 the patent grant required by the project was overly broad.
689 * The patent grant was unique to the LLVM Project, not written by a lawyer, and
690 was difficult to determine what was protection was provided (if any).
691
692 The scope of relicensing is all code that is considered part of the LLVM
693 project, including the main LLVM repository, runtime libraries (compiler_rt,
694 OpenMP, etc), Polly, and all other subprojects. There are a few exceptions:
695
696 * Code imported from other projects (e.g. Google Test, Autoconf, etc) will
697 remain as it is. This code isn't developed as part of the LLVM project, it
698 is used by LLVM.
699 * Some subprojects are impractical or uninteresting to relicense (e.g. llvm-gcc
700 and dragonegg). These will be split off from the LLVM project (e.g. to
701 separate Github projects), allowing interested people to continue their
702 development elsewhere.
703
704 To relicense LLVM, we will be seeking approval from all of the copyright holders
705 of code in the repository, or potentially remove/rewrite code if we cannot.
706 This is a large
707 and challenging project which will take a significant amount of time to
708 complete. In the interim, **all contributions to the project will be made under
709 the terms of both the new license and the legacy license scheme** (each of which
710 is described below). The exception to this is the legacy patent grant, which
711 will not be required for new contributions.
712
713 When all of the code in the project has been converted to the new license or
714 removed, we will drop the requirement to contribute under the legacy license.
715 This will achieve the goal of having
716 a single standardized license for the entire codebase.
717
718 If you are a prior contributor to LLVM and have not done so already, please do
719 *TODO* to allow us to use your code. *Add a link to a separate page here, which
720 is probably a click through web form or something like that. Details to be
721 determined later*.
722
723
724 .. _open source licensing terms:
725
726 New LLVM Project License Framework
727 ----------------------------------
728
729 Contributions to LLVM are licensed under the `Apache License, Version 2.0
730 `_, with two limited
731 exceptions intended to ensure that LLVM is very permissively licensed.
732 Collectively, the name of this license is "Apache 2.0 License with LLVM
733 exceptions". The exceptions read:
734
735 ::
736
737 ---- LLVM Exceptions to the Apache 2.0 License ----
738
739 As an exception, if, as a result of your compiling your source code, portions
740 of this Software are embedded into an Object form of such source code, you
741 may redistribute such embedded portions in such Object form without complying
742 with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
743
744 In addition, if you combine or link compiled forms of this Software with
745 software that is licensed under the GPLv2 ("Combined Software") and if a
746 court of competent jurisdiction determines that the patent provision (Section
747 3), the indemnity provision (Section 9) or other Section of the License
748 conflicts with the conditions of the GPLv2, you may retroactively and
749 prospectively choose to deem waived or otherwise exclude such Section(s) of
750 the License, but only in their entirety and only with respect to the Combined
751 Software.
752
753
754 We intend to keep LLVM perpetually open source and available under a permissive
755 license - this fosters the widest adoption of LLVM by
756 **allowing commercial products to be derived from LLVM** with few restrictions
757 and without a requirement for making any derived works also open source. In
758 particular, LLVM's license is not a "copyleft" license like the GPL.
759
760 The "Apache 2.0 License with LLVM exceptions" allows you to:
761
762 * freely download and use LLVM (in whole or in part) for personal, internal, or
763 commercial purposes.
764 * include LLVM in packages or distributions you create.
765 * combine LLVM with code licensed under every other major open source
766 license (including BSD, MIT, GPLv2, GPLv3...).
767 * make changes to LLVM code without being required to contribute it back
768 to the project - contributions are appreciated though!
769
770 However, it imposes these limitations on you:
771
772 * You must retain the copyright notice if you redistribute LLVM: You cannot
773 strip the copyright headers off or replace them with your own.
774 * Binaries that include LLVM must reproduce the copyright notice (e.g. in an
775 included README file or in an "About" box), unless the LLVM code was added as
776 a by-product of compilation. For example, if an LLVM runtime library like
777 compiler_rt or libc++ was automatically included into your application by the
778 compiler, you do not need to attribute it.
779 * You can't use our names to promote your products (LLVM derived or not) -
780 though you can make truthful statements about your use of the LLVM code,
781 without implying our sponsorship.
782 * There's no warranty on LLVM at all.
783
784 We want LLVM code to be widely used, and believe that this provides a model that
785 is great for contributors and users of the project. For more information about
786 the Apache 2.0 License, please see the `Apache License FAQ
787 `_, maintained by the
788 Apache Project.
789
790
791 .. note::
792
793 The LLVM Project includes some really old subprojects (dragonegg,
794 llvm-gcc-4.0, and llvm-gcc-4.2), which are licensed under **GPL
795 licenses**. This code is not actively maintained - it does not even
796 build successfully. This code is cleanly separated into distinct SVN
797 repositories from the rest of LLVM, and the LICENSE.txt files specifically
798 indicate that they contain GPL code. When LLVM transitions from SVN to Git,
799 we plan to drop these code bases from the new repository structure.
800
801
802 .. _patent license:
803
804 Patents
681805 -------
682806
683 We intend to keep LLVM perpetually open source and to use a liberal open source
684 license. **As a contributor to the project, you agree that any contributions be
685 licensed under the terms of the corresponding subproject.** All of the code in
807 Section 3 of the Apache 2.0 license is a patent grant under which
808 contributors of code to the project contribute the rights to use any of
809 their patents that would otherwise be infringed by that code contribution
810 (protecting uses of that code). Further, the patent grant is revoked
811 from anyone who files a patent lawsuit about code in LLVM - this protects the
812 community by providing a "patent commons" for the code base and reducing the
813 odds of patent lawsuits in general.
814
815 The license specifically scopes which patents are included with code
816 contributions. To help explain this, the `Apache License FAQ
817 `_ explains this scope using
818 some questions and answers, which we reproduce here for your convenience (for
819 reference, the "ASF" is the Apache Software Foundation, the guidance still
820 holds though)::
821
822 Q1: If I own a patent and contribute to a Work, and, at the time my
823 contribution is included in that Work, none of my patent's claims are subject
824 to Apache's Grant of Patent License, is there a way any of those claims would
825 later become subject to the Grant of Patent License solely due to subsequent
826 contributions by other parties who are not licensees of that patent.
827
828 A1: No.
829
830 Q2: If at any time after my contribution, I am able to license other patent
831 claims that would have been subject to Apache's Grant of Patent License if
832 they were licenseable by me at the time of my contribution, do those other
833 claims become subject to the Grant of Patent License?
834
835 A2: Yes.
836
837 Q3: If I own or control a licensable patent and contribute code to a specific
838 Apache product, which of my patent claims are subject to Apache's Grant of
839 Patent License?
840
841 A3: The only patent claims that are licensed to the ASF are those you own or
842 have the right to license that read on your contribution or on the
843 combination of your contribution with the specific Apache product to which
844 you contributed as it existed at the time of your contribution. No additional
845 patent claims become licensed as a result of subsequent combinations of your
846 contribution with any other software. Note, however, that licensable patent
847 claims include those that you acquire in the future, as long as they read on
848 your original contribution as made at the original time. Once a patent claim
849 is subject to Apache's Grant of Patent License, it is licensed under the
850 terms of that Grant to the ASF and to recipients of any software distributed
851 by the ASF for any Apache software product whatsoever.
852
853
854 Legacy License Structure
855 ------------------------
856
857 .. note::
858 The code base was previously licensed under the Terms described here.
859 We are in the middle of relicensing to a new approach (described above), but
860 until this effort is complete, the code is also still available under these
861 terms. Once we finish the relicensing project, new versions of the code will
862 not be available under these terms. However, nothing takes away your right
863 to use old versions under the licensing terms under which they were
864 originally released.
865
866 We intend to keep LLVM perpetually open source and to use a permissive open
867 source license. The code in
686868 LLVM is available under the `University of Illinois/NCSA Open Source License
687869 `_, which boils down to
688870 this:
690872 * You can freely distribute LLVM.
691873 * You must retain the copyright notice if you redistribute LLVM.
692874 * Binaries derived from LLVM must reproduce the copyright notice (e.g. in an
693 included readme file).
875 included README file).
694876 * You can't use our names to promote your LLVM derived products.
695877 * There's no warranty on LLVM at all.
696878
697879 We believe this fosters the widest adoption of LLVM because it **allows
698880 commercial products to be derived from LLVM** with few restrictions and without
699 a requirement for making any derived works also open source (i.e. LLVM's
881 a requirement for making any derived works also open source (i.e. LLVM's
700882 license is not a "copyleft" license like the GPL). We suggest that you read the
701883 `License `_ if further
702884 clarification is needed.
714896 to move code from (e.g.) libc++ to the LLVM core without concern, but that code
715897 cannot be moved from the LLVM core to libc++ without the copyright owner's
716898 permission.
717
718 Note that the LLVM Project does distribute dragonegg, **which is
719 GPL.** This means that anything "linked" into dragonegg must itself be compatible
720 with the GPL, and must be releasable under the terms of the GPL. This implies
721 that **any code linked into dragonegg and distributed to others may be subject to
722 the viral aspects of the GPL** (for example, a proprietary code generator linked
723 into dragonegg must be made available under the GPL). This is not a problem for
724 code already distributed under a more liberal license (like the UIUC license),
725 and GPL-containing subprojects are kept in separate SVN repositories whose
726 LICENSE.txt files specifically indicate that they contain GPL code.
727
728 Patents
729 -------
730
731 To the best of our knowledge, LLVM does not infringe on any patents (we have
732 actually removed code from LLVM in the past that was found to infringe). Having
733 code in LLVM that infringes on patents would violate an important goal of the
734 project by making it hard or impossible to reuse the code for arbitrary purposes
735 (including commercial use).
736
737 When contributing code, we expect contributors to notify us of any potential for
738 patent-related trouble with their changes (including from third parties). If
739 you or your employer own the rights to a patent and would like to contribute
740 code to LLVM that relies on it, we require that the copyright owner sign an
741 agreement that allows any other user of LLVM to freely use your patent. Please
742 contact the `LLVM Foundation Board of Directors `_ for more
743 details.
None ====================
1 LLVM Release License
2 ====================
0 ==============================================================================
1 The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
2 ==============================================================================
3
4 Apache License
5 Version 2.0, January 2004
6 http://www.apache.org/licenses/
7
8 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
9
10 1. Definitions.
11
12 "License" shall mean the terms and conditions for use, reproduction,
13 and distribution as defined by Sections 1 through 9 of this document.
14
15 "Licensor" shall mean the copyright owner or entity authorized by
16 the copyright owner that is granting the License.
17
18 "Legal Entity" shall mean the union of the acting entity and all
19 other entities that control, are controlled by, or are under common
20 control with that entity. For the purposes of this definition,
21 "control" means (i) the power, direct or indirect, to cause the
22 direction or management of such entity, whether by contract or
23 otherwise, or (ii) ownership of fifty percent (50%) or more of the
24 outstanding shares, or (iii) beneficial ownership of such entity.
25
26 "You" (or "Your") shall mean an individual or Legal Entity
27 exercising permissions granted by this License.
28
29 "Source" form shall mean the preferred form for making modifications,
30 including but not limited to software source code, documentation
31 source, and configuration files.
32
33 "Object" form shall mean any form resulting from mechanical
34 transformation or translation of a Source form, including but
35 not limited to compiled object code, generated documentation,
36 and conversions to other media types.
37
38 "Work" shall mean the work of authorship, whether in Source or
39 Object form, made available under the License, as indicated by a
40 copyright notice that is included in or attached to the work
41 (an example is provided in the Appendix below).
42
43 "Derivative Works" shall mean any work, whether in Source or Object
44 form, that is based on (or derived from) the Work and for which the
45 editorial revisions, annotations, elaborations, or other modifications
46 represent, as a whole, an original work of authorship. For the purposes
47 of this License, Derivative Works shall not include works that remain
48 separable from, or merely link (or bind by name) to the interfaces of,
49 the Work and Derivative Works thereof.
50
51 "Contribution" shall mean any work of authorship, including
52 the original version of the Work and any modifications or additions
53 to that Work or Derivative Works thereof, that is intentionally
54 submitted to Licensor for inclusion in the Work by the copyright owner
55 or by an individual or Legal Entity authorized to submit on behalf of
56 the copyright owner. For the purposes of this definition, "submitted"
57 means any form of electronic, verbal, or written communication sent
58 to the Licensor or its representatives, including but not limited to
59 communication on electronic mailing lists, source code control systems,
60 and issue tracking systems that are managed by, or on behalf of, the
61 Licensor for the purpose of discussing and improving the Work, but
62 excluding communication that is conspicuously marked or otherwise
63 designated in writing by the copyright owner as "Not a Contribution."
64
65 "Contributor" shall mean Licensor and any individual or Legal Entity
66 on behalf of whom a Contribution has been received by Licensor and
67 subsequently incorporated within the Work.
68
69 2. Grant of Copyright License. Subject to the terms and conditions of
70 this License, each Contributor hereby grants to You a perpetual,
71 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
72 copyright license to reproduce, prepare Derivative Works of,
73 publicly display, publicly perform, sublicense, and distribute the
74 Work and such Derivative Works in Source or Object form.
75
76 3. Grant of Patent License. Subject to the terms and conditions of
77 this License, each Contributor hereby grants to You a perpetual,
78 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79 (except as stated in this section) patent license to make, have made,
80 use, offer to sell, sell, import, and otherwise transfer the Work,
81 where such license applies only to those patent claims licensable
82 by such Contributor that are necessarily infringed by their
83 Contribution(s) alone or by combination of their Contribution(s)
84 with the Work to which such Contribution(s) was submitted. If You
85 institute patent litigation against any entity (including a
86 cross-claim or counterclaim in a lawsuit) alleging that the Work
87 or a Contribution incorporated within the Work constitutes direct
88 or contributory patent infringement, then any patent licenses
89 granted to You under this License for that Work shall terminate
90 as of the date such litigation is filed.
91
92 4. Redistribution. You may reproduce and distribute copies of the
93 Work or Derivative Works thereof in any medium, with or without
94 modifications, and in Source or Object form, provided that You
95 meet the following conditions:
96
97 (a) You must give any other recipients of the Work or
98 Derivative Works a copy of this License; and
99
100 (b) You must cause any modified files to carry prominent notices
101 stating that You changed the files; and
102
103 (c) You must retain, in the Source form of any Derivative Works
104 that You distribute, all copyright, patent, trademark, and
105 attribution notices from the Source form of the Work,
106 excluding those notices that do not pertain to any part of
107 the Derivative Works; and
108
109 (d) If the Work includes a "NOTICE" text file as part of its
110 distribution, then any Derivative Works that You distribute must
111 include a readable copy of the attribution notices contained
112 within such NOTICE file, excluding those notices that do not
113 pertain to any part of the Derivative Works, in at least one
114 of the following places: within a NOTICE text file distributed
115 as part of the Derivative Works; within the Source form or
116 documentation, if provided along with the Derivative Works; or,
117 within a display generated by the Derivative Works, if and
118 wherever such third-party notices normally appear. The contents
119 of the NOTICE file are for informational purposes only and
120 do not modify the License. You may add Your own attribution
121 notices within Derivative Works that You distribute, alongside
122 or as an addendum to the NOTICE text from the Work, provided
123 that such additional attribution notices cannot be construed
124 as modifying the License.
125
126 You may add Your own copyright statement to Your modifications and
127 may provide additional or different license terms and conditions
128 for use, reproduction, or distribution of Your modifications, or
129 for any such Derivative Works as a whole, provided Your use,
130 reproduction, and distribution of the Work otherwise complies with
131 the conditions stated in this License.
132
133 5. Submission of Contributions. Unless You explicitly state otherwise,
134 any Contribution intentionally submitted for inclusion in the Work
135 by You to the Licensor shall be under the terms and conditions of
136 this License, without any additional terms or conditions.
137 Notwithstanding the above, nothing herein shall supersede or modify
138 the terms of any separate license agreement you may have executed
139 with Licensor regarding such Contributions.
140
141 6. Trademarks. This License does not grant permission to use the trade
142 names, trademarks, service marks, or product names of the Licensor,
143 except as required for reasonable and customary use in describing the
144 origin of the Work and reproducing the content of the NOTICE file.
145
146 7. Disclaimer of Warranty. Unless required by applicable law or
147 agreed to in writing, Licensor provides the Work (and each
148 Contributor provides its Contributions) on an "AS IS" BASIS,
149 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
150 implied, including, without limitation, any warranties or conditions
151 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
152 PARTICULAR PURPOSE. You are solely responsible for determining the
153 appropriateness of using or redistributing the Work and assume any
154 risks associated with Your exercise of permissions under this License.
155
156 8. Limitation of Liability. In no event and under no legal theory,
157 whether in tort (including negligence), contract, or otherwise,
158 unless required by applicable law (such as deliberate and grossly
159 negligent acts) or agreed to in writing, shall any Contributor be
160 liable to You for damages, including any direct, indirect, special,
161 incidental, or consequential damages of any character arising as a
162 result of this License or out of the use or inability to use the
163 Work (including but not limited to damages for loss of goodwill,
164 work stoppage, computer failure or malfunction, or any and all
165 other commercial damages or losses), even if such Contributor
166 has been advised of the possibility of such damages.
167
168 9. Accepting Warranty or Additional Liability. While redistributing
169 the Work or Derivative Works thereof, You may choose to offer,
170 and charge a fee for, acceptance of support, warranty, indemnity,
171 or other liability obligations and/or rights consistent with this
172 License. However, in accepting such obligations, You may act only
173 on Your own behalf and on Your sole responsibility, not on behalf
174 of any other Contributor, and only if You agree to indemnify,
175 defend, and hold each Contributor harmless for any liability
176 incurred by, or claims asserted against, such Contributor by reason
177 of your accepting any such warranty or additional liability.
178
179 END OF TERMS AND CONDITIONS
180
181 APPENDIX: How to apply the Apache License to your work.
182
183 To apply the Apache License to your work, attach the following
184 boilerplate notice, with the fields enclosed by brackets "[]"
185 replaced with your own identifying information. (Don't include
186 the brackets!) The text should be enclosed in the appropriate
187 comment syntax for the file format. We also recommend that a
188 file or class name and description of purpose be included on the
189 same "printed page" as the copyright notice for easier
190 identification within third-party archives.
191
192 Copyright [yyyy] [name of copyright owner]
193
194 Licensed under the Apache License, Version 2.0 (the "License");
195 you may not use this file except in compliance with the License.
196 You may obtain a copy of the License at
197
198 http://www.apache.org/licenses/LICENSE-2.0
199
200 Unless required by applicable law or agreed to in writing, software
201 distributed under the License is distributed on an "AS IS" BASIS,
202 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
203 See the License for the specific language governing permissions and
204 limitations under the License.
205
206
207 ---- LLVM Exceptions to the Apache 2.0 License ----
208
209 As an exception, if, as a result of your compiling your source code, portions
210 of this Software are embedded into an Object form of such source code, you
211 may redistribute such embedded portions in such Object form without complying
212 with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
213
214 In addition, if you combine or link compiled forms of this Software with
215 software that is licensed under the GPLv2 ("Combined Software") and if a
216 court of competent jurisdiction determines that the patent provision (Section
217 3), the indemnity provision (Section 9) or other Section of the License
218 conflicts with the conditions of the GPLv2, you may retroactively and
219 prospectively choose to deem waived or otherwise exclude such Section(s) of
220 the License, but only in their entirety and only with respect to the Combined
221 Software.
222
223 ==============================================================================
224 Software from third parties included in the LLVM Project:
225 ==============================================================================
226 The LLVM Project contains third party software which is under different license
227 terms. All such code will be identified clearly using at least one of two
228 mechanisms:
229 1) It will be in a separate directory tree with its own `LICENSE.txt` or
230 `LICENSE` file at the top containing the specific license and restrictions
231 which apply to that software, or
232 2) It will contain specific license and restriction terms at the top of every
233 file.
234
235 ==============================================================================
236 Legacy LLVM License (ttps://llvm.org/docs/DeveloperPolicy.html#legacy):
237 ==============================================================================
3238 University of Illinois/NCSA
4239 Open Source License
5240
23258 * Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission.
24259
25260 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
26
27 ====================
28 The LLVM software contains code written by third parties. Such software will have its own individual LICENSE.TXT file in the directory in which it appears. This file will describe the copyrights, license, and restrictions which apply
29 to that code.
30
31 The disclaimer of warranty in the University of Illinois Open Source License applies to all code in the LLVM Distribution, and nothing in any of the other licenses gives permission to use the names of the LLVM Team or the University of Illinois to endorse or promote products derived from this Software.
32
33 The following pieces of software have additional or alternate copyrights, licenses, and/or restrictions:
34
35 Program Directory
36 ------- ---------
37
38