-
Notifications
You must be signed in to change notification settings - Fork 5.7k
bip3: Switch to SPDX identifiers #1892
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c3b6691
e5748c9
85a248f
33d45d7
d01e941
3de6ed6
e1d72f0
0cc4d26
7aa54dd
88d2918
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -120,8 +120,8 @@ appear in the following order. Headers marked with "\*" are optional. All other | |||||
Status: <Draft | Complete | Deployed | Closed> | ||||||
Type: <Specification | Informational | Process> | ||||||
Created: <Date of number assignment (yyyy-mm-dd), or "?"> | ||||||
License: <Identifier(s) of acceptable license(s)> | ||||||
* License-Code: <Identifier(s) for Code under different acceptable license(s)> | ||||||
License: <SPDX License Expression> | ||||||
* License-Code: <SPDX License Expression for Code (if different)> | ||||||
* Discussion: <Noteworthy discussion threads in "yyyy-mm-dd: URL" format> | ||||||
* Version: <MAJOR.MINOR.PATCH> | ||||||
* Requires: <BIP number(s)> | ||||||
|
@@ -147,10 +147,8 @@ appear in the following order. Headers marked with "\*" are optional. All other | |||||
Authors header. See the [BIP Ownership](#bip-ownership) section above. | ||||||
* Status — The stage of the workflow of the proposal. See the [Workflow](#workflow) section below. | ||||||
* Type — See the [BIP Types](#bip-types) section below for a description of the three BIP types. | ||||||
* License and License-Code — These headers list SPDX License Identifier(s) of the acceptable licenses under which the | ||||||
BIP and corresponding code are available. See the [BIP Licensing](#bip-licensing) section below for a description of | ||||||
the Licenses and their SPDX License Identifiers. If there are multiple acceptable licenses, each should be on a | ||||||
separate line. | ||||||
* License and License-Code — These headers specify SPDX License Expressions describing the licenses under which the | ||||||
BIP and corresponding code are available. See the [BIP Licensing](#bip-licensing) section below. | ||||||
* Discussion — The Discussion header points the audience to relevant discussions of the BIP, e.g., the mailing list | ||||||
thread in which the idea for the BIP was discussed, a thread where a new version of the BIP was presented, or relevant | ||||||
discussion threads on other platforms. Entries take the format "yyyy-mm-dd: URL", e.g., `2009-01-09: | ||||||
|
@@ -391,67 +389,69 @@ innovate on a level playing field. Only freely licensed contributions are accept | |||||
|
||||||
### Specification | ||||||
|
||||||
Each new BIP must identify at least one acceptable license in its preamble. Licenses must be referenced per their | ||||||
respective [SPDX License identifier](https://spdx.org/licenses). New BIPs may be accepted with the licenses described | ||||||
below. | ||||||
Each new BIP must specify in two ways under which license terms it is made available. First, it must specify an [SPDX | ||||||
License Expression](https://spdx.dev/ids/) in the License field in the preamble. Second, it must include a matching | ||||||
Copyright section, possibly providing further details on licensing. | ||||||
|
||||||
For example, a preamble might include the following License header: | ||||||
|
||||||
License: CC0-1.0 | ||||||
GNU-All-Permissive | ||||||
License: CC0-1.0 OR MIT | ||||||
|
||||||
In this case, the BIP text is fully licensed under both the Creative Commons CC0 1.0 Universal license as well as the | ||||||
GNU All-Permissive License, and anyone may modify and redistribute the text provided they comply with the terms of | ||||||
*either* license. In other words, the license list is an "OR choice", not an "AND also" requirement. | ||||||
In this case, the BIP (including all auxiliary files) is made available under the terms of both Creative Commons CC0 1.0 Universal as well as the | ||||||
MIT License, and anyone may modify and redistribute it provided they comply with the terms of | ||||||
*either* license, at their option. In other words, the license list is an "OR choice", not an "AND also" requirement. See the [SPDX | ||||||
documentation](https://spdx.dev/ids/) and the [SPDX License List](https://spdx.org/licenses/) for further details. | ||||||
|
||||||
It is also possible to license source code differently from the BIP text by including the optional License-Code header | ||||||
after the License header. Again, each license must be referenced by their respective SPDX License identifier shown | ||||||
below. | ||||||
It is also possible to specify that source code is licensed differently by including the optional License-Code header | ||||||
after the License header. Again, the licensing terms must be specified using an SPDX License Expression. | ||||||
|
||||||
Each source code file or source directory should specify the license under which it is made available as is common in | ||||||
software (e.g., with a license header or a LICENSE/COPYING file). It is recommended to make any test vectors available | ||||||
under CC0-1.0 or GNU-All-Permissive in addition to any other licenses to allow anyone to copy test vectors into their | ||||||
implementations without introducing license hindrances. Licenses listed in the License-Code header apply to all source | ||||||
directories, source code files, and test vectors provided with the BIP except those where a LICENSE file in a directory | ||||||
Each auxiliary source code file or source directory should specify the license under which it is made available as is common in | ||||||
software (e.g., with a [`SPDX-License-Identifier: <SPDX License Expression>` comment](https://spdx.dev/ids/), | ||||||
a license header, or a LICENSE/COPYING file). It is recommended to make any test vectors available | ||||||
under CC0-1.0 or FSFAP in addition to any other licenses to allow anyone to copy test vectors into their | ||||||
implementations without introducing license hindrances. Licenses listed in the License-Code header apply to all source directories, | ||||||
source code files, and test vectors provided with the BIP except those where a LICENSE file in a directory | ||||||
or the file header states otherwise. | ||||||
|
||||||
For example, a preamble specifying the optional License-Code header might look like: | ||||||
|
||||||
License: CC0-1.0 | ||||||
License-Code: MIT | ||||||
|
||||||
In this case, the code in the BIP is not available under CC0-1.0, but is only available under the terms of the MIT | ||||||
In this case, the source code in the BIP is not available under Creative Commons CC0 1.0 Universal, but is only available under the MIT | ||||||
License. | ||||||
|
||||||
BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable | ||||||
licenses *in addition to* at least one acceptable license. In this case, only the acceptable license(s) should be listed | ||||||
in the License and License-Code headers. | ||||||
|
||||||
It is recommended that BIPs that include literal code be licensed under the same license terms as the project it | ||||||
modifies. For example, literal code intended for Bitcoin Core would ideally be licensed (or dual-licensed) under the MIT | ||||||
license terms. | ||||||
It is recommended that source code included in a BIP (whether within the text or in auxiliary files) be licensed under the same license terms as the project it | ||||||
is proposed to modify, if any. For example, changes intended for Bitcoin Core would ideally be licensed (also) under the MIT | ||||||
License. | ||||||
|
||||||
In all cases, details of the licensing terms must be provided in the Copyright section of the BIP. | ||||||
|
||||||
#### Acceptable Licenses[^licenses] | ||||||
|
||||||
* BSD-2-Clause: [OSI-approved BSD 2-clause license](https://opensource.org/licenses/BSD-2-Clause) | ||||||
* BSD-3-Clause: [OSI-approved BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) | ||||||
Each new BIP must be made available under at least one acceptable license as listed below. BIPs are not required to be | ||||||
*exclusively* licensed under approved terms, and may also be licensed under other licenses *in addition to* at least one | ||||||
acceptable license. | ||||||
|
||||||
In other words, a new BIP must specify an SPDX License Expression that is either "L" or equivalent to "L OR E" for some | ||||||
acceptable license L from the following list and another SPDX License Expression E. | ||||||
|
||||||
* BSD-2-Clause: [BSD 2-Clause License](https://opensource.org/licenses/BSD-2-Clause) | ||||||
* BSD-3-Clause: [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause) | ||||||
* CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) | ||||||
* GNU-All-Permissive: [GNU All-Permissive License](http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) | ||||||
* FSFAP: [FSF All Permissive License](https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In commit e5748c9, maybe update the link to the more complete https://spdx.org/licenses/FSFAP.html |
||||||
* CC-BY-4.0: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/) | ||||||
* MIT: [Expat/MIT/X11 license](https://opensource.org/licenses/MIT) | ||||||
* Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | ||||||
* BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt) | ||||||
* MIT: [Expat/MIT/X11 License](https://opensource.org/licenses/MIT) | ||||||
* Apache-2.0: [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) | ||||||
* BSL-1.0: [Boost Software License 1.0](https://www.boost.org/LICENSE_1_0.txt) | ||||||
|
||||||
#### Not Acceptable Licenses | ||||||
|
||||||
All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal. | ||||||
However, BIPs predating this proposal were allowed under other terms, and should use these abbreviations | ||||||
when no other license is granted: | ||||||
However, BIPs predating this proposal were accepted under other terms, and should use one the following identifiers. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In commit 0cc4d26, missing word
Suggested change
|
||||||
|
||||||
* PD: Released into the public domain | ||||||
* OPL: [Open Publication License, version 1.0](http://opencontent.org/openpub/) | ||||||
* LicenseRef-PD: Placed into the public domain | ||||||
* OPUBL-1.0: [Open Publication License 1.0](https://opencontent.org/openpub/) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In commit 85a248f, maybe update the link to the more comprehensive https://spdx.org/licenses/OPUBL-1.0.html |
||||||
|
||||||
## BIP Editors | ||||||
|
||||||
|
@@ -734,9 +734,9 @@ feedback, and helpful comments. | |||||
* PD: 42 | ||||||
* CC0-1.0: 23 | ||||||
* BSD-3-Clause: 19 | ||||||
* OPL: 5 | ||||||
* OPUBL-1.0: 5 | ||||||
* CC-BY-SA-4.0: 4 | ||||||
* GNU-All-Permissive: 3 | ||||||
* FSFAP: 3 | ||||||
* MIT: 2 | ||||||
* CC-BY-4.0: 1 | ||||||
|
||||||
|
@@ -747,15 +747,15 @@ feedback, and helpful comments. | |||||
The following previously acceptable licenses were retained per request of reviewers, even though they have so far | ||||||
never been used in the BIPs process: | ||||||
|
||||||
* Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0) | ||||||
* BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt) | ||||||
* Apache-2.0: [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) | ||||||
* BSL-1.0: [Boost Software License 1.0](https://www.boost.org/LICENSE_1_0.txt) | ||||||
|
||||||
The following previously acceptable licenses have never been used in the BIPs Process and have been dropped: | ||||||
|
||||||
* AGPL-3.0+: [GNU Affero General Public License (AGPL), version 3 or newer](http://www.gnu.org/licenses/agpl-3.0.en.html) | ||||||
* FDL-1.3: [GNU Free Documentation License, version 1.3](http://www.gnu.org/licenses/fdl-1.3.en.html) | ||||||
* GPL-2.0+: [GNU General Public License (GPL), version 2 or newer](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) | ||||||
* LGPL-2.1+: [GNU Lesser General Public License (LGPL), version 2.1 or newer](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) | ||||||
* AGPL-3.0+: [GNU Affero General Public License (AGPL) 3](https://www.gnu.org/licenses/agpl-3.0.en.html) | ||||||
* FDL-1.3: [GNU Free Documentation License 1.3](https://www.gnu.org/licenses/fdl-1.3.en.html) | ||||||
* GPL-2.0+: [GNU General Public License (GPL) 2 or newer](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) | ||||||
* LGPL-2.1+: [GNU Lesser General Public License (LGPL) 2.1 or newer](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html) | ||||||
|
||||||
Why are software licenses included? | ||||||
|
||||||
|
@@ -772,7 +772,7 @@ feedback, and helpful comments. | |||||
and therefore CC-BY-SA-4.0 (and the GPL-flavors) is no longer considered acceptable for new BIPs. As mentioned | ||||||
above, existing BIPs will retain their original licensing. | ||||||
|
||||||
Why are OPL and Public Domain no longer acceptable for new BIPs? | ||||||
Why are Open Publication License and Public Domain no longer acceptable for new BIPs? | ||||||
|
||||||
* Public domain is not universally recognised as a legitimate action, thus it is inadvisable. | ||||||
* The OPL is generally regarded as obsolete, and not a license suitable for new publications. | ||||||
* The Open Publication License is generally regarded as obsolete, and not a license suitable for new publications. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In commit 0cc4d26, nit, per https://spdx.org/licenses/CC0-1.0.html