Skip to content

Commit 340c1a3

Browse files
authored
Merge pull request #1892 from real-or-random/202507-spdx
bip3: Switch to SPDX identifiers
2 parents be3d2e4 + 88d2918 commit 340c1a3

File tree

1 file changed

+50
-50
lines changed

1 file changed

+50
-50
lines changed

bip-0003.md

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ appear in the following order. Headers marked with "\*" are optional. All other
120120
Status: <Draft | Complete | Deployed | Closed>
121121
Type: <Specification | Informational | Process>
122122
Created: <Date of number assignment (yyyy-mm-dd), or "?">
123-
License: <Identifier(s) of acceptable license(s)>
124-
* License-Code: <Identifier(s) for Code under different acceptable license(s)>
123+
License: <SPDX License Expression>
124+
* License-Code: <SPDX License Expression for Code (if different)>
125125
* Discussion: <Noteworthy discussion threads in "yyyy-mm-dd: URL" format>
126126
* Version: <MAJOR.MINOR.PATCH>
127127
* Requires: <BIP number(s)>
@@ -147,10 +147,8 @@ appear in the following order. Headers marked with "\*" are optional. All other
147147
Authors header. See the [BIP Ownership](#bip-ownership) section above.
148148
* Status — The stage of the workflow of the proposal. See the [Workflow](#workflow) section below.
149149
* Type — See the [BIP Types](#bip-types) section below for a description of the three BIP types.
150-
* License and License-Code — These headers list SPDX License Identifier(s) of the acceptable licenses under which the
151-
BIP and corresponding code are available. See the [BIP Licensing](#bip-licensing) section below for a description of
152-
the Licenses and their SPDX License Identifiers. If there are multiple acceptable licenses, each should be on a
153-
separate line.
150+
* License and License-Code — These headers specify SPDX License Expressions describing the licenses under which the
151+
BIP and corresponding code are available. See the [BIP Licensing](#bip-licensing) section below.
154152
* Discussion — The Discussion header points the audience to relevant discussions of the BIP, e.g., the mailing list
155153
thread in which the idea for the BIP was discussed, a thread where a new version of the BIP was presented, or relevant
156154
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
391389

392390
### Specification
393391

394-
Each new BIP must identify at least one acceptable license in its preamble. Licenses must be referenced per their
395-
respective [SPDX License identifier](https://spdx.org/licenses). New BIPs may be accepted with the licenses described
396-
below.
392+
Each new BIP must specify in two ways under which license terms it is made available. First, it must specify an [SPDX
393+
License Expression](https://spdx.dev/ids/) in the License field in the preamble. Second, it must include a matching
394+
Copyright section, possibly providing further details on licensing.
397395

398396
For example, a preamble might include the following License header:
399397

400-
License: CC0-1.0
401-
GNU-All-Permissive
398+
License: CC0-1.0 OR MIT
402399

403-
In this case, the BIP text is fully licensed under both the Creative Commons CC0 1.0 Universal license as well as the
404-
GNU All-Permissive License, and anyone may modify and redistribute the text provided they comply with the terms of
405-
*either* license. In other words, the license list is an "OR choice", not an "AND also" requirement.
400+
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
401+
MIT License, and anyone may modify and redistribute it provided they comply with the terms of
402+
*either* license, at their option. In other words, the license list is an "OR choice", not an "AND also" requirement. See the [SPDX
403+
documentation](https://spdx.dev/ids/) and the [SPDX License List](https://spdx.org/licenses/) for further details.
406404

407-
It is also possible to license source code differently from the BIP text by including the optional License-Code header
408-
after the License header. Again, each license must be referenced by their respective SPDX License identifier shown
409-
below.
405+
It is also possible to specify that source code is licensed differently by including the optional License-Code header
406+
after the License header. Again, the licensing terms must be specified using an SPDX License Expression.
410407

411-
Each source code file or source directory should specify the license under which it is made available as is common in
412-
software (e.g., with a license header or a LICENSE/COPYING file). It is recommended to make any test vectors available
413-
under CC0-1.0 or GNU-All-Permissive in addition to any other licenses to allow anyone to copy test vectors into their
414-
implementations without introducing license hindrances. Licenses listed in the License-Code header apply to all source
415-
directories, source code files, and test vectors provided with the BIP except those where a LICENSE file in a directory
408+
Each auxiliary source code file or source directory should specify the license under which it is made available as is common in
409+
software (e.g., with a [`SPDX-License-Identifier: <SPDX License Expression>` comment](https://spdx.dev/ids/),
410+
a license header, or a LICENSE/COPYING file). It is recommended to make any test vectors available
411+
under CC0-1.0 or FSFAP in addition to any other licenses to allow anyone to copy test vectors into their
412+
implementations without introducing license hindrances. Licenses listed in the License-Code header apply to all source directories,
413+
source code files, and test vectors provided with the BIP except those where a LICENSE file in a directory
416414
or the file header states otherwise.
417415

418416
For example, a preamble specifying the optional License-Code header might look like:
419417

420418
License: CC0-1.0
421419
License-Code: MIT
422420

423-
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
421+
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
424422
License.
425423

426-
BIPs are not required to be *exclusively* licensed under approved terms, and may also be licensed under unacceptable
427-
licenses *in addition to* at least one acceptable license. In this case, only the acceptable license(s) should be listed
428-
in the License and License-Code headers.
429-
430-
It is recommended that BIPs that include literal code be licensed under the same license terms as the project it
431-
modifies. For example, literal code intended for Bitcoin Core would ideally be licensed (or dual-licensed) under the MIT
432-
license terms.
424+
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
425+
is proposed to modify, if any. For example, changes intended for Bitcoin Core would ideally be licensed (also) under the MIT
426+
License.
433427

434428
In all cases, details of the licensing terms must be provided in the Copyright section of the BIP.
435429

436430
#### Acceptable Licenses[^licenses]
437431

438-
* BSD-2-Clause: [OSI-approved BSD 2-clause license](https://opensource.org/licenses/BSD-2-Clause)
439-
* BSD-3-Clause: [OSI-approved BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause)
432+
Each new BIP must be made available under at least one acceptable license as listed below. BIPs are not required to be
433+
*exclusively* licensed under approved terms, and may also be licensed under other licenses *in addition to* at least one
434+
acceptable license.
435+
436+
In other words, a new BIP must specify an SPDX License Expression that is either "L" or equivalent to "L OR E" for some
437+
acceptable license L from the following list and another SPDX License Expression E.
438+
439+
* BSD-2-Clause: [BSD 2-Clause License](https://opensource.org/licenses/BSD-2-Clause)
440+
* BSD-3-Clause: [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause)
440441
* CC0-1.0: [Creative Commons CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/)
441-
* GNU-All-Permissive: [GNU All-Permissive License](http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html)
442+
* FSFAP: [FSF All Permissive License](https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html)
442443
* CC-BY-4.0: [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/)
443-
* MIT: [Expat/MIT/X11 license](https://opensource.org/licenses/MIT)
444-
* Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
445-
* BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt)
444+
* MIT: [Expat/MIT/X11 License](https://opensource.org/licenses/MIT)
445+
* Apache-2.0: [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
446+
* BSL-1.0: [Boost Software License 1.0](https://www.boost.org/LICENSE_1_0.txt)
446447

447448
#### Not Acceptable Licenses
448449

449450
All licenses not explicitly included in the above lists are not acceptable terms for a Bitcoin Improvement Proposal.
450-
However, BIPs predating this proposal were allowed under other terms, and should use these abbreviations
451-
when no other license is granted:
451+
However, BIPs predating this proposal were accepted under other terms, and should use one the following identifiers.
452452

453-
* PD: Released into the public domain
454-
* OPL: [Open Publication License, version 1.0](http://opencontent.org/openpub/)
453+
* LicenseRef-PD: Placed into the public domain
454+
* OPUBL-1.0: [Open Publication License 1.0](https://opencontent.org/openpub/)
455455

456456
## BIP Editors
457457

@@ -734,9 +734,9 @@ feedback, and helpful comments.
734734
* PD: 42
735735
* CC0-1.0: 23
736736
* BSD-3-Clause: 19
737-
* OPL: 5
737+
* OPUBL-1.0: 5
738738
* CC-BY-SA-4.0: 4
739-
* GNU-All-Permissive: 3
739+
* FSFAP: 3
740740
* MIT: 2
741741
* CC-BY-4.0: 1
742742

@@ -747,15 +747,15 @@ feedback, and helpful comments.
747747
The following previously acceptable licenses were retained per request of reviewers, even though they have so far
748748
never been used in the BIPs process:
749749

750-
* Apache-2.0: [Apache License, version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
751-
* BSL-1.0: [Boost Software License, version 1.0](http://www.boost.org/LICENSE_1_0.txt)
750+
* Apache-2.0: [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
751+
* BSL-1.0: [Boost Software License 1.0](https://www.boost.org/LICENSE_1_0.txt)
752752

753753
The following previously acceptable licenses have never been used in the BIPs Process and have been dropped:
754754

755-
* AGPL-3.0+: [GNU Affero General Public License (AGPL), version 3 or newer](http://www.gnu.org/licenses/agpl-3.0.en.html)
756-
* FDL-1.3: [GNU Free Documentation License, version 1.3](http://www.gnu.org/licenses/fdl-1.3.en.html)
757-
* GPL-2.0+: [GNU General Public License (GPL), version 2 or newer](http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
758-
* 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)
755+
* AGPL-3.0+: [GNU Affero General Public License (AGPL) 3](https://www.gnu.org/licenses/agpl-3.0.en.html)
756+
* FDL-1.3: [GNU Free Documentation License 1.3](https://www.gnu.org/licenses/fdl-1.3.en.html)
757+
* GPL-2.0+: [GNU General Public License (GPL) 2 or newer](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
758+
* 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)
759759

760760
Why are software licenses included?
761761

@@ -772,7 +772,7 @@ feedback, and helpful comments.
772772
and therefore CC-BY-SA-4.0 (and the GPL-flavors) is no longer considered acceptable for new BIPs. As mentioned
773773
above, existing BIPs will retain their original licensing.
774774

775-
Why are OPL and Public Domain no longer acceptable for new BIPs?
775+
Why are Open Publication License and Public Domain no longer acceptable for new BIPs?
776776

777777
* Public domain is not universally recognised as a legitimate action, thus it is inadvisable.
778-
* The OPL is generally regarded as obsolete, and not a license suitable for new publications.
778+
* The Open Publication License is generally regarded as obsolete, and not a license suitable for new publications.

0 commit comments

Comments
 (0)