Skip to content

Commit a789e74

Browse files
authored
Merge branch 'main' into libpng-1.6.35
2 parents e7c018a + 1025da5 commit a789e74

File tree

197 files changed

+6239
-782
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

197 files changed

+6239
-782
lines changed

.github/workflows/deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- uses: actions/setup-java@v3
1818
with:
1919
distribution: 'temurin'
20-
java-version: '11'
20+
java-version: '17'
2121
- uses: actions/checkout@v4
2222
- name: Fetch changes for git diff
2323
id: fetchdiff

.github/workflows/validate.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ jobs:
2424
name: Validate canonical match
2525
runs-on: ubuntu-latest
2626
steps:
27-
- uses: actions/setup-java@v1
27+
- uses: actions/setup-java@v3
2828
with:
29-
java-version: '11'
29+
distribution: 'temurin'
30+
java-version: '17'
3031
- uses: actions/checkout@v4
3132
- name: Fetch changes for git diff
3233
id: fetchdiff

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
The SPDX License List is maintained by the [SPDX legal team](https://spdx.dev/engage/participate/legal-team/). This repo is used for the submission and review of licenses, as well as maintaining [documentation](DOCS) related to the SPDX License List. Suggestions with a larger scope, cross-functional issues, and questions should be directed to the [SPDX-legal mailing list](https://lists.spdx.org/g/Spdx-legal).
33

44
## Submitting a license for consideration
5-
To submit a license for consideration for the SPDX License List, follow the process for [requesting a new license](request-new-license.md). Please be sure to review the relevant documentation prior to your submission, notably, the [license inclusion principles](DOCS/license-inclusion-principles.md). Each license submission requires review and incomplete or inappropriate submissions only take away the precious time of a small number of volunteers from other tasks.
5+
To submit a license for consideration for the SPDX License List, follow the process for [requesting a new license](DOCS/request-new-license.md). Please be sure to review the relevant documentation prior to your submission, notably, the [license inclusion principles](DOCS/license-inclusion-principles.md). Each license submission requires review and incomplete or inappropriate submissions only take away the precious time of a small number of volunteers from other tasks.
66

77
## Minor updates
88
Minor changes such as markup and typo fixes may be submitted directly to this repository (either as issues or pull-requests) without previous discussion.

DOCS/license-matching-guidelines-and-templates.md

Lines changed: 141 additions & 109 deletions
Large diffs are not rendered by default.

DOCS/release-process.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Requesters may be uncertain as to whether they should use a newly-added license
2626

2727
### Draft release notes
2828

29+
* Update with new version and release date at the top of [RELEASE-HISTORY.md](../RELEASE-HISTORY.md)
2930
* Add a new release text section to the top of [RELEASE-NOTES.md](../RELEASE-NOTES.md)
3031
* Mimic the same pattern as the prior release notes, listing each license or exception added in this release, together with brief notes about any other significant changes in this release
3132
* Create compare link by changing tag numbers in previous release
@@ -77,7 +78,7 @@ This also assumes that you have used the AWS S3 scripts to make a local copy of
7778
* Copy (NON-RECURSIVELY) the files from `S3DIR/licenses` to `S3DIR/licenses/archive/archived_ll_vx.xx`.
7879
* IMPORTANT NOTE: Do NOT do a recursive copy, only copy the files and do NOT copy any subdirectories.
7980
* Edit the file `S3DIR/licenses/archive/archived_ll_vx.xx/index.html`. Add the line below, immediately prior to the line `<h1>SPDX License List</h1>`:
80-
* `<p style="color: #FA0207;"><strong>THIS IS NOT THE CURRENT VERSION OF THE SPDX LICENSE LIST. PLEASE USE THE CURRENT VERSION, LOCATED AT: <a href="https://spdx.org/licenses/">https://spdx.org/licenses/</a></p>`
81+
* `<p style="color: #FA0207;"><strong>THIS IS NOT THE CURRENT VERSION OF THE SPDX LICENSE LIST. PLEASE USE THE CURRENT VERSION, LOCATED AT: <a href="https://spdx.org/licenses/">https://spdx.org/licenses/</a></strong></p>`
8182

8283
### Copy new files
8384

DOCS/request-new-license.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ The SPDX Legal Team appreciates proposals for new free and open source licenses
1111
* NOTE: You must have a Github account in order to use this tool/process.
1212
* NOTE: You need to provide *all* of the information as per the form or issue template. Incomplete submissions waste time and may be closed.
1313

14-
3. Follow your issue and particpate in the discussion or answer any request for additional information via the issue and comments.
14+
3. Follow your issue and participate in the discussion or answer any request for additional information via the issue and comments.
1515
* NOTE: If submitters are unresponsive for several months, the issue may be closed without a decision.
1616

1717
# Review Process

DOCS/xml-fields.md

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ A corresponding "test text" file, a plain text version of the license or excepti
2424

2525
We aren't picky about tabs vs. spaces, number of spaces for indenting, etc. (And note, whitespace is not relevant for matching license text.) That being said, if you use the [SPDX Online Tools-license submission](https://tools.spdx.org/app/submit_new_license/) to create the XML and TXT files, there is a "beautify" option that formats the file nicely.
2626

27-
### Beginning and end matter
27+
### Beginning and end tag: `<SPDXLicenseCollection>`
2828

2929
Within the .xml file, the first and last lines of the file must be the following:
3030

@@ -39,33 +39,33 @@ Within the .xml file, the first and last lines of the file must be the following
3939

4040
### `<license>` or `<exception>` tag
4141

42-
The main tag used to define the license or exception is **`<license>`** or **`<exception>`**. All of the remaining content will be enclosed within a `<license></license>` or `<exception></exception>` pair of tags.
42+
After the `<SPDXLicenseCollection>` tag, all of the remaining content will be enclosed within a **`<license></license>`** or **`<exception></exception>`** pair of tags.
4343

4444
There are two mandatory attributes for every `<license>` and `<exception>` tag:
4545
* `licenseId`: the unique SPDX Identifier for the license; should be identical to the filename. See [license-fields:short-identifier](license-fields.md#b-short-identifier) for a full description of this field.
4646
* `name`: the longer or full title of the license (if there is one); see [license-fields:full-name](license-fields.md#a-full-name) for a full description of this field.
4747

48-
There are two additional attributes which are optional, but highly encouraged:
48+
There are two additional highly encouraged attributes which are technically optional:
49+
* `listVersionAdded`: in which release version of the SPDX License List was the license first added, e.g., "3.24.0".
50+
* Typically you'll check the currently-released version at https://github.com/spdx/license-list-XML/releases and increment the minor version by 1 for a new license. E.g., when last release is "3.24.0" you add there "3.25.0".
4951
* `isOsiApproved` (for licenses, not exceptions): either "true" or "false" based on whether this license has been approved by the [Open Source Initiative](https://opensource.org/licenses/alphabetical)
50-
* `listVersionAdded`: in which release version of the SPDX License List was the license first added, e.g. "3.19".
51-
* Typically you'll check the currently-released version at https://spdx.org/licenses/ and increment the minor version by 1 for a new license.
5252

5353
Finally, if the license ID has been deprecated, one additional attribute should be included:
54-
* `deprecatedVersion`: in which release version of the SPDX License List was the license first marked as deprecated, e.g. "3.19"
54+
* `deprecatedVersion`: in which release version of the SPDX License List was the license first marked as deprecated, e.g. "3.24.0"
5555

56-
Note that the deprecated tags refer to whether the ID has been deprecated _by SPDX_ -- in other words, if the SPDX Legal Team no longer recommends that the identifier be used. Licenses that have been described as "deprecated" or "superseded" by the _license author_ might no longer be recommended to use for new code, but their identifiers remain valid License IDs on the SPDX License List.
56+
NOTE: The deprecated tags refer to whether the ID has been deprecated _by SPDX_ -- in other words, if the SPDX Legal Team no longer recommends that the identifier be used. Licenses that have been described as "deprecated" or "superseded" by the _license author_ might no longer be recommended to use for new code, but their identifiers remain valid License IDs on the SPDX License List.
5757

5858
Deprecated license identifiers will be listed at the bottom of the SPDX License List page at https://spdx.org/licenses/.
5959

6060
### License metadata
6161

62-
There are three optional first-level metadata fields that can be placed immediately under `<license>` or `<exception>`, each of which is optional:
62+
There are three first-level metadata fields that can be placed immediately under `<license>` or `<exception>`, each of which is optional:
6363

6464
* **`<crossRefs>`**: Defines cross-references to URLs where the license can be found in use by one or a few projects, and (if applicable) where posted by the license steward. See [license-fields:web-pages](license-fields.md#c-other-web-pages-for-licenseexception) for more information about this field.
6565
* **`<notes>`**: Describes general comments about the license; if deprecated, also briefly explain the reason for deprecating the license identifier. See [license-fields:Notes](license-fields.md#d-notes) for more information about this field. If there are not Notes, then remove this tag from the XML file.
6666
* **`<obsoletedBys>`** (if license is deprecated): Lists the license(s) that should be used instead of this deprecated license
6767

68-
### License text
68+
### License `<text>` tag
6969

7070
Next, the actual license text would be contained within the `<text></text>` section:
7171

@@ -90,7 +90,7 @@ Example:
9090

9191
### Section annotation markers
9292

93-
Some portions of text can be surrounded by annotation tags. These are all optional:
93+
Inside the `<text>` tag, some portions of specific text can be surrounded by annotation tags. These are all optional:
9494

9595
* **`<titleText>`**: indicates the title of the license, if specified in the license text itself. If the license does not have a title, then this tag is not needed.
9696
* **`<copyrightText>`**: indicates where a copyright notice would be placed for the licensed code. Because the copyright notice is not part of the license and thus ignored as related to matching a license, it does not matter if the the copyright notice includes a specific name or is generic.
@@ -102,9 +102,7 @@ Some portions of text can be surrounded by annotation tags. These are all option
102102

103103
Separate paragraphs should be surrounded by **`<p>...</p>`** tags.
104104

105-
Newlines can be added at the end of a line with **`<br />`**. Note that this does not need a closing tag, because the `/` within the angle brackets makes it self-closing.
106-
107-
Generally, you should use **`<p>`** tags for each paragraph and should not use **`<br />`** unless you have a good reason.
105+
Newlines without a paragraph break can be added at the end of a line with **`<br />`**. Note that this does not need a closing tag, because the `/` within the angle brackets makes it self-closing.
108106

109107
### Lists
110108

@@ -154,27 +152,34 @@ If a license template should match regardless of whether or not a particular sec
154152

155153
By default, when rendered on the [SPDX License List website](https://spdx.org/licenses), a space will be included before and after the optional text. If the tag includes a `spacing="none"` attribute, e.g. **`<optional spacing="none">`**, then these spaces will be omitted. This is useful if, for instance, the optional text is a suffix to a word or a quotation mark where the optional portion should not be separated by a space.
156154

157-
Note that some annotated portions of text (specifically `<titleText>`, `<bullet>` and `<copyrightText>`) are deemed to be "replaceable text" automatically, so the `<optional>` tag is not allowed where those are present.
155+
NOTE: The `<optional>` tag **cannot** be used within: `<titleText>`, `<bullet>`, `<copyrightText>`, or `<alt>`. This is because the text within these tags are deemed to be "replaceable text" automatically, so the `<optional>` tag is not allowed where those are present.
158156

159-
### Replaceable text
157+
### Replaceable text: `<alt>`
160158

161159
Some licenses contain portions of language that can match to a variety of alternative texts. This is called "replaceable text", and is denoted with the **`<alt>...</alt>`** tag.
162160

161+
An example of actually-matching text should be included between the `<alt>` and `</alt>` tags; this text will be rendered on the SPDX License List website page and in files provided in [SPDX license-list-data](https://github.com/spdx/license-list-data). To the extent a license has a "canonical" or "most commonly used" standard language, use that in the match between the `alt` tags.
162+
163163
The **<alt>** tag includes two attributes:
164164
* `name`: specifies a unique name for this matching element. If there is more than one of the same element, it is good practice and recommended to add numbers for such similar alt tags.
165165
* `match`: specifies a [POSIX extended regular expression (ERE)](http://pubs.opengroup.org/onlinepubs/9699919799/) for what text will match
166166

167-
An example of actually-matching text should be included between the `<alt>` and `</alt>` tags; this text will be rendered on the SPDX License List website page and in files provided in [SPDX license-list-data](https://github.com/spdx/license-list-data). To the extent a license has a "canonical" or "most commonly used" standard language, use that in the match between the `alt` tags.
167+
Learning regular expressions is outside the scope of this document. However, here are a few of the most common patterns for the `match` attribute:
168+
* `<alt match="are|is">`: Matches if the text is either the word "are" or the word "is"
169+
* `<alt match="Lesser|Library|()">`: Matches if the text is either the word "Lesser" or "Library" or neither (no word at all)
170+
* `<alt match="EXPRESS(ED)?">`: Matches if the text is either the word "EXPRESS" or the word "EXPRESSED"
171+
* the `?` means that the text in the parenthesis can be present or not. This is functionally similar to the `<optional>` tag.
172+
* `<alt match=".+" name="copyrightHolderAsIs">THE COPYRIGHT HOLDERS AND CONTRIBUTORS</alt>`: Matches anything as long as it consists of at least one or more characters
173+
* `<alt match="(Neither the name of .+ nor the names of (specific )? contributors,? may)|...">`: this option combines a few of the attributes above.
174+
* the `.+` means any name can be present
175+
* the `?` after `(specific )` means the word "specific" can be present or not, note there is a space between the end of the word and the closing paren
176+
* the `?` after the comma after "contributors" means the comma can be present or not
168177

169-
Also note that some annotated portions of text (specifically `<titleText>`, `<bullet>` and `<copyrightText>`) are deemed to be "replaceable text" automatically, so the `<alt>` tag is not allowed where those are present.
178+
The [BSD-3-Clause](../src/BSD-3-Clause.xml) is a good example of using several `<alt>` tags effectively
170179

171-
Learning regular expressions is outside the scope of this document. However, here are a few of the most common patterns, taken from [BSD-3-Clause](../src/BSD-3-Clause.xml) which is a good example of using several `<alt>` tags effectively:
172-
* `<alt match="are|is" name="tobe">are</alt>`: Matches if the text is either the word "are" or the word "is"
173-
* `<alt match="Lesser|Library|()" name="lesser">Lesser</alt>`: Matches if the text is either the word "Lesser" or "Library" or neither
174-
* `<alt match="EXPRESS(ED)?" name="express">EXPRESS</alt>`: Matches if the text is either the word "EXPRESS" or the word "EXPRESSED"
175-
* `<alt match=".+" name="copyrightHolderAsIs">THE COPYRIGHT HOLDERS AND CONTRIBUTORS</alt>`: Matches anything as long as it consists of at least one or more characters
180+
NOTE: Some annotated portions of text (specifically `<titleText>`, `<bullet>` and `<copyrightText>`) are deemed to be "replaceable text" automatically, so the `<alt>` tag is not allowed where those are present.
176181

177-
Note: If a license has a fair amount of markup in an <alt> tag, you may need to add `\s+` between words to allow matching in spite of line breaks or multiple spaces. See [BSD-3-Clause](../src/BSD-3-Clause.xml) and [MIT](../src/MIT.xml) for examples.
182+
NOTE: If a license has a fair amount of markup in an <alt> tag, you may need to add `\s+` between words to allow matching in spite of line breaks or multiple spaces. See [BSD-3-Clause](../src/BSD-3-Clause.xml) and [MIT](../src/MIT.xml) for examples.
178183

179184
### Other things to watch out for
180185

Makefile

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# SPDX-License-Identifier: CC0-1.0
22

3-
TOOL_VERSION = 2.2.10
3+
TOOL_VERSION = 3.1.1
44
TEST_DATA = test/simpleTestForGenerator
5+
FULL_TEST_DATA = test/fullTestForGenerator
56
GIT_AUTHOR = License Publisher (maintained by Gary O'Neall) <gary@sourceauditor.com>
67
GIT_AUTHOR_EMAIL = gary@sourceauditor.com
78
LICENSE_DATA_REPO_NO_SCHEME = github.com/spdx/license-list-data.git
@@ -24,18 +25,18 @@ STATIC_FILES = equivalentwords.txt
2425
STATIC_FILES_DEST = $(LICENSE_OUTPUT_DIR)/website/
2526

2627
.PHONY: validate-canonical-match
27-
validate-canonical-match: licenseListPublisher-$(TOOL_VERSION).jar-valid $(TEST_DATA) $(LICENSE_OUTPUT_DIR)
28+
validate-canonical-match: licenseListPublisher-$(TOOL_VERSION).jar-valid $(TEST_DATA) $(FULL_TEST_DATA) $(LICENSE_OUTPUT_DIR)
2829
echo Validating source files from $(LICENSE_SOURCE)
29-
java -jar -DLocalFsfFreeJson=true -DlistedLicenseSchema="schema/ListedLicense.xsd" licenseListPublisher-$(TOOL_VERSION).jar LicenseRDFAGenerator '$(LICENSE_SOURCE:;=)' '$(LICENSE_OUTPUT_DIR)' 1.0 2000-01-01 $(TEST_DATA) expected-warnings
30+
java -jar -DLocalFsfFreeJson=true -DlistedLicenseSchema="schema/ListedLicense.xsd" licenseListPublisher-$(TOOL_VERSION).jar LicenseRDFAGenerator '$(LICENSE_SOURCE:;=)' '$(LICENSE_OUTPUT_DIR)' 1.0 2000-01-01 $(TEST_DATA) expected-warnings $(FULL_TEST_DATA)
3031

3132
.PHONY: deploy-license-data
32-
deploy-license-data: licenseListPublisher-$(TOOL_VERSION).jar-valid $(TEST_DATA)
33+
deploy-license-data: licenseListPublisher-$(TOOL_VERSION).jar-valid $(TEST_DATA) $(FULL_TEST_DATA)
3334
rm -rf '$(LICENSE_OUTPUT_DIR)'
3435
git clone --quiet --depth 1 $(LICENSE_DATA_URL) '$(LICENSE_OUTPUT_DIR)'
3536
# Clean out the old data directories
3637
find '$(LICENSE_OUTPUT_DIR)' -mindepth 1 -maxdepth 1 -name .git -prune -o -name .github -prune -o -type d -exec rm -rf {} \+
3738
rm -f $(LICENSE_OUTPUT_DIR)/licenses.md
38-
java -jar -DLocalFsfFreeJson=true -DlistedLicenseSchema="schema/ListedLicense.xsd" licenseListPublisher-$(TOOL_VERSION).jar LicenseRDFAGenerator '$(LICENSE_SOURCE_DIR)' '$(LICENSE_OUTPUT_DIR)' $(VERSION) $(RELEASE_DATE) $(TEST_DATA) expected-warnings
39+
java -jar -DLocalFsfFreeJson=true -DlistedLicenseSchema="schema/ListedLicense.xsd" licenseListPublisher-$(TOOL_VERSION).jar LicenseRDFAGenerator '$(LICENSE_SOURCE_DIR)' '$(LICENSE_OUTPUT_DIR)' $(VERSION) $(RELEASE_DATE) $(TEST_DATA) expected-warnings $(FULL_TEST_DATA)
3940
$(foreach f, $(STATIC_FILES), cp ${f} $(STATIC_FILES_DEST);)
4041
git -C '$(LICENSE_OUTPUT_DIR)' add -A .
4142
git config user.email "$(GIT_AUTHOR_EMAIL)"

RELEASE-HISTORY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
| Release | Date |
44
| ----- | ----- |
5+
| v3.26.0 | 2024-12-30 |
6+
| v3.25.0 | 2024-08-19 |
57
| v3.24.0 | 2024-05-22 |
68
| v3.23 | 2024-02-08 |
79
| v3.22 | 2023-10-05 |

0 commit comments

Comments
 (0)