Skip to content

Commit ad9f64c

Browse files
mcgrofgregkh
authored andcommitted
LICENSES: Add the copyleft-next-0.3.1 license
Add the full text of the copyleft-next-0.3.1 license to the kernel tree as well as the required tags for reference and tooling. The license text was copied directly from the copyleft-next project's git tree [0]. Discussion of using copyleft-next-0.3.1 on Linux started since June, 2016 [1]. In the end Linus' preference was to have drivers use MODULE_LICENSE("GPL") to make it clear that the GPL applies when it comes to Linux [2]. Additionally, even though copyleft-next-0.3.1 has been found to be to be GPLv2 compatible by three attorneys at SUSE and Redhat [3], to err on the side of caution we simply recommend to always use the "OR" language for this license [4]. Even though it has been a goal of the project to be GPL-v2 compatible to be certain in 2016 I asked for a clarification about what makes copyleft-next GPLv2 compatible and also asked for a summary of benefits. This prompted some small minor changes to make compatibility even further clear and as of copyleft 0.3.1 compatibility should be crystal clear [5]. The summary of why copyleft-next 0.3.1 is compatible with GPLv2 is explained as follows: Like GPLv2, copyleft-next requires distribution of derivative works ("Derived Works" in copyleft-next 0.3.x) to be under the same license. Ordinarily this would make the two licenses incompatible. However, copyleft-next 0.3.1 says: "If the Derived Work includes material licensed under the GPL, You may instead license the Derived Work under the GPL." "GPL" is defined to include GPLv2. In practice this means copyleft-next code in Linux may be licensed under the GPL2, however there are additional obvious gains for bringing contributions from Linux outbound where copyleft-next is preferred. A summary of benefits why projects outside of Linux might prefer to use copyleft-next >= 0.3.1 over GPLv2: o It is much shorter and simpler o It has an explicit patent license grant, unlike GPLv2 o Its notice preservation conditions are clearer o More free software/open source licenses are compatible with it (via section 4) o The source code requirement triggered by binary distribution is much simpler in a procedural sense o Recipients potentially have a contract claim against distributors who are noncompliant with the source code requirement o There is a built-in inbound=outbound policy for upstream contributions (cf. Apache License 2.0 section 5) o There are disincentives to engage in the controversial practice of copyleft/ proprietary dual-licensing o In 15 years copyleft expires, which can be advantageous for legacy code o There are explicit disincentives to bringing patent infringement claims accusing the licensed work of infringement (see 10b) o There is a cure period for licensees who are not compliant with the license (there is no cure opportunity in GPLv2) o copyleft-next has a 'built-in or-later' provision The first driver submission to Linux under this dual strategy was lib/test_sysctl.c through commit 9308f2f ("test_sysctl: add dedicated proc sysctl test driver") merged in July 2017. Shortly after that I also added test_kmod through commit d9c6a72 ("kmod: add test driver to stress test the module loader") in the same month. These two drivers went in just a few months before the SPDX license practice kicked in. In 2018 Kuno Woudt went through the process to get SPDX identifiers for copyleft-next [6] [7]. Although there are SPDX tags for copyleft-next-0.3.0, we only document use in Linux starting from copyleft-next-0.3.1 which makes GPLv2 compatibility crystal clear. This patch will let us update the two Linux selftest drivers in subsequent patches with their respective SPDX license identifiers and let us remove repetitive license boiler plate. [0] https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1 [1] https://lore.kernel.org/lkml/[email protected]/ [2] https://lore.kernel.org/lkml/CA+55aFyhxcvD+q7tp+-yrSFDKfR0mOHgyEAe=f_94aKLsOu0Og@mail.gmail.com/ [3] https://lore.kernel.org/lkml/[email protected]/ [4] https://lkml.kernel.org/r/[email protected] [5] https://lists.fedorahosted.org/archives/list/[email protected]/thread/JTGV56DDADWGKU7ZKTZA4DLXTGTLNJ57/#SQMDIKBRAVDOCT4UVNOOCRGBN2UJIKHZ [6] https://spdx.org/licenses/copyleft-next-0.3.0.html [7] https://spdx.org/licenses/copyleft-next-0.3.1.html Cc: Goldwyn Rodrigues <[email protected]> Cc: Kuno Woudt <[email protected]> Cc: Richard Fontana <[email protected]> Cc: [email protected] Cc: Ciaran Farrell <[email protected]> Cc: Christopher De Nicolo <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Jonathan Corbet <[email protected]> Cc: Thorsten Leemhuis <[email protected]> Cc: Andrew Morton <[email protected]> Reviewed-by: Kees Cook <[email protected]> Signed-off-by: Luis Chamberlain <[email protected]> Reviewed-by: Tim Bird <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent f0c4d9f commit ad9f64c

File tree

1 file changed

+236
-0
lines changed

1 file changed

+236
-0
lines changed

LICENSES/dual/copyleft-next-0.3.1

+236
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
Valid-License-Identifier: copyleft-next-0.3.1
2+
SPDX-URL: https://spdx.org/licenses/copyleft-next-0.3.1
3+
Usage-Guide:
4+
copyleft-next-0.3.1 is explicitly compatible with GPLv2 (or later) and
5+
can therefore be used for kernel code. Though the best and recommended
6+
practice is to express this in the SPDX license identifier by
7+
licensing the code under both licenses expressed by the OR operator.
8+
To use the copyleft-next-0.3.1 license put the following SPDX tag/value
9+
pair into a comment according to the placement guidelines in the
10+
licensing rules documentation:
11+
SPDX-License-Identifier: GPL-2.0-only OR copyleft-next 0.3.1
12+
SPDX-License-Identifier: GPL-2.0-or-later OR copyleft-next-0.3.1
13+
License-Text:
14+
15+
=======================================================================
16+
17+
copyleft-next 0.3.1 ("this License")
18+
Release date: 2016-04-29
19+
20+
1. License Grants; No Trademark License
21+
22+
Subject to the terms of this License, I grant You:
23+
24+
a) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
25+
copyright license, to reproduce, Distribute, prepare derivative works
26+
of, publicly perform and publicly display My Work.
27+
28+
b) A non-exclusive, worldwide, perpetual, royalty-free, irrevocable
29+
patent license under Licensed Patents to make, have made, use, sell,
30+
offer for sale, and import Covered Works.
31+
32+
This License does not grant any rights in My name, trademarks, service
33+
marks, or logos.
34+
35+
2. Distribution: General Conditions
36+
37+
You may Distribute Covered Works, provided that You (i) inform
38+
recipients how they can obtain a copy of this License; (ii) satisfy the
39+
applicable conditions of sections 3 through 6; and (iii) preserve all
40+
Legal Notices contained in My Work (to the extent they remain
41+
pertinent). "Legal Notices" means copyright notices, license notices,
42+
license texts, and author attributions, but does not include logos,
43+
other graphical images, trademarks or trademark legends.
44+
45+
3. Conditions for Distributing Derived Works; Outbound GPL Compatibility
46+
47+
If You Distribute a Derived Work, You must license the entire Derived
48+
Work as a whole under this License, with prominent notice of such
49+
licensing. This condition may not be avoided through such means as
50+
separate Distribution of portions of the Derived Work.
51+
52+
If the Derived Work includes material licensed under the GPL, You may
53+
instead license the Derived Work under the GPL.
54+
55+
4. Condition Against Further Restrictions; Inbound License Compatibility
56+
57+
When Distributing a Covered Work, You may not impose further
58+
restrictions on the exercise of rights in the Covered Work granted under
59+
this License. This condition is not excused merely because such
60+
restrictions result from Your compliance with conditions or obligations
61+
extrinsic to this License (such as a court order or an agreement with a
62+
third party).
63+
64+
However, You may Distribute a Covered Work incorporating material
65+
governed by a license that is both OSI-Approved and FSF-Free as of the
66+
release date of this License, provided that compliance with such
67+
other license would not conflict with any conditions stated in other
68+
sections of this License.
69+
70+
5. Conditions for Distributing Object Code
71+
72+
You may Distribute an Object Code form of a Covered Work, provided that
73+
you accompany the Object Code with a URL through which the Corresponding
74+
Source is made available, at no charge, by some standard or customary
75+
means of providing network access to source code.
76+
77+
If you Distribute the Object Code in a physical product or tangible
78+
storage medium ("Product"), the Corresponding Source must be available
79+
through such URL for two years from the date of Your most recent
80+
Distribution of the Object Code in the Product. However, if the Product
81+
itself contains or is accompanied by the Corresponding Source (made
82+
available in a customarily accessible manner), You need not also comply
83+
with the first paragraph of this section.
84+
85+
Each direct and indirect recipient of the Covered Work from You is an
86+
intended third-party beneficiary of this License solely as to this
87+
section 5, with the right to enforce its terms.
88+
89+
6. Symmetrical Licensing Condition for Upstream Contributions
90+
91+
If You Distribute a work to Me specifically for inclusion in or
92+
modification of a Covered Work (a "Patch"), and no explicit licensing
93+
terms apply to the Patch, You license the Patch under this License, to
94+
the extent of Your copyright in the Patch. This condition does not
95+
negate the other conditions of this License, if applicable to the Patch.
96+
97+
7. Nullification of Copyleft/Proprietary Dual Licensing
98+
99+
If I offer to license, for a fee, a Covered Work under terms other than
100+
a license that is OSI-Approved or FSF-Free as of the release date of this
101+
License or a numbered version of copyleft-next released by the
102+
Copyleft-Next Project, then the license I grant You under section 1 is no
103+
longer subject to the conditions in sections 3 through 5.
104+
105+
8. Copyleft Sunset
106+
107+
The conditions in sections 3 through 5 no longer apply once fifteen
108+
years have elapsed from the date of My first Distribution of My Work
109+
under this License.
110+
111+
9. Pass-Through
112+
113+
When You Distribute a Covered Work, the recipient automatically receives
114+
a license to My Work from Me, subject to the terms of this License.
115+
116+
10. Termination
117+
118+
Your license grants under section 1 are automatically terminated if You
119+
120+
a) fail to comply with the conditions of this License, unless You cure
121+
such noncompliance within thirty days after becoming aware of it, or
122+
123+
b) initiate a patent infringement litigation claim (excluding
124+
declaratory judgment actions, counterclaims, and cross-claims)
125+
alleging that any part of My Work directly or indirectly infringes
126+
any patent.
127+
128+
Termination of Your license grants extends to all copies of Covered
129+
Works You subsequently obtain. Termination does not terminate the
130+
rights of those who have received copies or rights from You subject to
131+
this License.
132+
133+
To the extent permission to make copies of a Covered Work is necessary
134+
merely for running it, such permission is not terminable.
135+
136+
11. Later License Versions
137+
138+
The Copyleft-Next Project may release new versions of copyleft-next,
139+
designated by a distinguishing version number ("Later Versions").
140+
Unless I explicitly remove the option of Distributing Covered Works
141+
under Later Versions, You may Distribute Covered Works under any Later
142+
Version.
143+
144+
** 12. No Warranty **
145+
** **
146+
** My Work is provided "as-is", without warranty. You bear the risk **
147+
** of using it. To the extent permitted by applicable law, each **
148+
** Distributor of My Work excludes the implied warranties of title, **
149+
** merchantability, fitness for a particular purpose and **
150+
** non-infringement. **
151+
152+
** 13. Limitation of Liability **
153+
** **
154+
** To the extent permitted by applicable law, in no event will any **
155+
** Distributor of My Work be liable to You for any damages **
156+
** whatsoever, whether direct, indirect, special, incidental, or **
157+
** consequential damages, whether arising under contract, tort **
158+
** (including negligence), or otherwise, even where the Distributor **
159+
** knew or should have known about the possibility of such damages. **
160+
161+
14. Severability
162+
163+
The invalidity or unenforceability of any provision of this License
164+
does not affect the validity or enforceability of the remainder of
165+
this License. Such provision is to be reformed to the minimum extent
166+
necessary to make it valid and enforceable.
167+
168+
15. Definitions
169+
170+
"Copyleft-Next Project" means the project that maintains the source
171+
code repository at <https://github.com/copyleft-next/copyleft-next.git/>
172+
as of the release date of this License.
173+
174+
"Corresponding Source" of a Covered Work in Object Code form means (i)
175+
the Source Code form of the Covered Work; (ii) all scripts,
176+
instructions and similar information that are reasonably necessary for
177+
a skilled developer to generate such Object Code from the Source Code
178+
provided under (i); and (iii) a list clearly identifying all Separate
179+
Works (other than those provided in compliance with (ii)) that were
180+
specifically used in building and (if applicable) installing the
181+
Covered Work (for example, a specified proprietary compiler including
182+
its version number). Corresponding Source must be machine-readable.
183+
184+
"Covered Work" means My Work or a Derived Work.
185+
186+
"Derived Work" means a work of authorship that copies from, modifies,
187+
adapts, is based on, is a derivative work of, transforms, translates or
188+
contains all or part of My Work, such that copyright permission is
189+
required. The following are not Derived Works: (i) Mere Aggregation;
190+
(ii) a mere reproduction of My Work; and (iii) if My Work fails to
191+
explicitly state an expectation otherwise, a work that merely makes
192+
reference to My Work.
193+
194+
"Distribute" means to distribute, transfer or make a copy available to
195+
someone else, such that copyright permission is required.
196+
197+
"Distributor" means Me and anyone else who Distributes a Covered Work.
198+
199+
"FSF-Free" means classified as 'free' by the Free Software Foundation.
200+
201+
"GPL" means a version of the GNU General Public License or the GNU
202+
Affero General Public License.
203+
204+
"I"/"Me"/"My" refers to the individual or legal entity that places My
205+
Work under this License. "You"/"Your" refers to the individual or legal
206+
entity exercising rights in My Work under this License. A legal entity
207+
includes each entity that controls, is controlled by, or is under
208+
common control with such legal entity. "Control" means (a) the power to
209+
direct the actions of such legal entity, whether by contract or
210+
otherwise, or (b) ownership of more than fifty percent of the
211+
outstanding shares or beneficial ownership of such legal entity.
212+
213+
"Licensed Patents" means all patent claims licensable royalty-free by
214+
Me, now or in the future, that are necessarily infringed by making,
215+
using, or selling My Work, and excludes claims that would be infringed
216+
only as a consequence of further modification of My Work.
217+
218+
"Mere Aggregation" means an aggregation of a Covered Work with a
219+
Separate Work.
220+
221+
"My Work" means the particular work of authorship I license to You
222+
under this License.
223+
224+
"Object Code" means any form of a work that is not Source Code.
225+
226+
"OSI-Approved" means approved as 'Open Source' by the Open Source
227+
Initiative.
228+
229+
"Separate Work" means a work that is separate from and independent of a
230+
particular Covered Work and is not by its nature an extension or
231+
enhancement of the Covered Work, and/or a runtime library, standard
232+
library or similar component that is used to generate an Object Code
233+
form of a Covered Work.
234+
235+
"Source Code" means the preferred form of a work for making
236+
modifications to it.

0 commit comments

Comments
 (0)