(adding release notes tracker) |
|||
(21 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | <!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | ||
= SPDX License Phase 3 | = SPDX License Phase 3 = | ||
== Summary == | == Summary == | ||
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | <!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | ||
The third phase of transition from using Fedora's short names for licenses to [https://spdx.org/licenses/ SPDX identifiers] in the License: field of Fedora package spec files. This phase focuses on migrating | The third phase of transition from using Fedora's short names for licenses to [https://spdx.org/licenses/ SPDX identifiers] in the License: field of Fedora package spec files. This phase focuses on finishing migrating packages from ELN set. We still do not expect that all packages from Fedora Linux will be migrated in this phase. | ||
== Owner == | == Owner == | ||
Line 24: | Line 25: | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF40]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 42: | Line 43: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/ | * [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/C3NOAQQ2NLDWCY6MFK5FUWDN7VCJKEXZ/ Announced] | ||
* FESCo issue: | * [https://discussion.fedoraproject.org/t/f40-change-proposal-spdc-licence-phase-3-system-wide/100169 Discussion thread] | ||
* Tracker bug: | * FESCo issue: [https://pagure.io/fesco/issue/3141 #3141] | ||
* Release notes tracker: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2258888 #2258888] | ||
* Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/1081 #1081] | |||
* [https://docs.google.com/spreadsheets/d/1QVMEzXWML-6_Mrlln02axFAaRKCQ8zE807rpCjus-8s/edit#gid=0 | * [https://docs.google.com/spreadsheets/d/1QVMEzXWML-6_Mrlln02axFAaRKCQ8zE807rpCjus-8s/edit#gid=0 Burndown chart] | ||
* 95% ELN packages migrated | |||
* 61% of all Fedora license tags migrated | |||
In this phase, we aimed to migrate all packages in the ELN set. We achieved to migrate 95% of packages. Given the nature of this Change (spanning multiple releases, lots of packages), I consider this phase done. And we will focus on the next phase. | |||
== Detailed Description == | == Detailed Description == | ||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | <!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | ||
This is follow-up of [[Changes/ | This is follow-up of [[Changes/SPDX_Licenses_Phase_2|Phase 2]]. During this phase, all remaining packages should be migrated to use SPDX license identifiers in the License: field of the package spec file. | ||
So far, package maintainers have been updating their packages in accordance with the guidance provided at https://docs.fedoraproject.org/en-US/legal/update-existing-packages/ and filing issues in the [https://gitlab.com/fedora/legal/fedora-license-data fedora-license-data repo]. Miroslav has been tracking how many packages that have been updated. Given the large number of packages in Fedora, this progress is good, but slow. | So far, package maintainers have been updating their packages in accordance with the guidance provided at https://docs.fedoraproject.org/en-US/legal/update-existing-packages/ and filing issues in the [https://gitlab.com/fedora/legal/fedora-license-data fedora-license-data repo]. Miroslav has been tracking how many packages that have been updated. Given the large number of packages in Fedora, this progress is good, but slow. | ||
The intake of newly discovered licenses is still more than we are able to process. We want to focus on adding the new license to both fedora-license-data and SPDX.org list. | |||
At the same time, we want to focus on the ELN subset of Fedora and cooperate with maintainers of these packages to finish the migration of these packages. | |||
This Change will be followed by [[Changes/SPDX_Licenses_Phase_4|Phase 4]], where we want to finish the migration of the remaining Fedora packages. | |||
This Change | |||
== Feedback == | == Feedback == | ||
Line 76: | Line 72: | ||
See [[Changes/SPDX_Licenses_Phase_1#Feedback|feedback section of Phase 1]] | See [[Changes/SPDX_Licenses_Phase_1#Feedback|feedback section of Phase 1]] | ||
Discussions on mailing list: | Discussions on the mailing list: | ||
* [https://lists.fedoraproject.org/archives/search?q=SPDX+statistics&page=1&mlist=devel%40lists.fedoraproject.org&sort=date-desc regular SPDX Statistics] | * [https://lists.fedoraproject.org/archives/search?q=SPDX+statistics&page=1&mlist=devel%40lists.fedoraproject.org&sort=date-desc regular SPDX Statistics] | ||
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3TGCSROJTSX5PXZLKOHCOMVIBTZDORNS/ SPDX - How to handle MIT and BSD] | * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3TGCSROJTSX5PXZLKOHCOMVIBTZDORNS/ SPDX - How to handle MIT and BSD] | ||
Challenges: | Challenges: | ||
* license-fedora2spdx tool uses mapping of legacy Fedora short names to SPDX identifiers using the [https://gitlab.com/fedora/legal/fedora-license-data/-/tree/main | * license-fedora2spdx tool uses mapping of legacy Fedora short names to SPDX identifiers using the [https://gitlab.com/fedora/legal/fedora-license-data/-/tree/main fedora-license-data] to suggest SPDX identifiers. Where there is an apparent one-to-one mapping, the package maintainer could simply update the License field: and move on. | ||
* for many packages, particularly packages that use "umbrella" legacy short names that may refer to a large set of unrelated or loosely | * for many packages, particularly packages that use "umbrella" legacy short names that may refer to a large set of unrelated or loosely related licenses, further inspection will be needed. Currently, Fedora documentation provides sparse advice on how to do this inspection and thus, a range of methods are used. | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
Line 115: | Line 111: | ||
== Scope == | == Scope == | ||
* | * Change Owners: | ||
** | ** Continue adding newly found licenses to fedora-license-data and to SPDX.org list. | ||
** Continue to report progress | |||
** Focus on the ELN subset of Fedora. | |||
** | |||
** | |||
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
** All packages (during the package review) should use the SPDX expression. - this is redundant as this | ** All packages (during the package review) should use the SPDX expression. - this is redundant as this has already been approved since Phase 1, but it should be reminded. | ||
** Migrate the existing License tag from a short name to an SPDX expression. | ** Migrate the existing License tag from a short name to an SPDX expression. | ||
* Release engineering: | * Release engineering: nothing <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | <!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | ||
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | ||
* Policies and guidelines: | * Policies and guidelines: all done in previous phases <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. --> | <!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. --> | ||
Line 196: | Line 184: | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: There will be no way back. We | * Contingency mechanism: There will be no way back. We are already beyond of point to return. We are heading to explore strange new worlds... to boldly go where no man has gone before. <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: Beta freeze. But it is expected that not all packages will be converted by that time and the change will continue in the next release. <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Contingency deadline: Beta freeze. But it is expected that not all packages will be converted by that time and the change will continue in the next release. <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Line 207: | Line 195: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
[https://docs.fedoraproject.org/en-US/legal/allowed-licenses/ | [https://docs.fedoraproject.org/en-US/legal/allowed-licenses/ Allowed Licenses] | ||
[https://docs.fedoraproject.org/en-US/legal/update-existing-packages/#_process_used Update existing packages] | [https://docs.fedoraproject.org/en-US/legal/update-existing-packages/#_process_used Update existing packages] | ||
Line 217: | Line 205: | ||
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze. | ||
--> | --> | ||
In Fedora | In Fedora 40, all core RPM packages use SPDX identifiers as a standard. In total XX percent of packages have been migrated to SPDX identifiers. The remaining packages are estimated to be migrated in upcoming releases of Fedora. |
Latest revision as of 20:10, 28 February 2024
SPDX License Phase 3
Summary
The third phase of transition from using Fedora's short names for licenses to SPDX identifiers in the License: field of Fedora package spec files. This phase focuses on finishing migrating packages from ELN set. We still do not expect that all packages from Fedora Linux will be migrated in this phase.
Owner
- Email: msuchy@redhat.com, dcantrell@redhat.com, jlovejoy@redhat.com, rfontana@redhat.com
Current status
- Targeted release: Fedora Linux 40
- Last updated: 2024-02-28
- Announced
- Discussion thread
- FESCo issue: #3141
- Tracker bug: #2258888
- Release notes tracker: #1081
- Burndown chart
- 95% ELN packages migrated
- 61% of all Fedora license tags migrated
In this phase, we aimed to migrate all packages in the ELN set. We achieved to migrate 95% of packages. Given the nature of this Change (spanning multiple releases, lots of packages), I consider this phase done. And we will focus on the next phase.
Detailed Description
This is follow-up of Phase 2. During this phase, all remaining packages should be migrated to use SPDX license identifiers in the License: field of the package spec file.
So far, package maintainers have been updating their packages in accordance with the guidance provided at https://docs.fedoraproject.org/en-US/legal/update-existing-packages/ and filing issues in the fedora-license-data repo. Miroslav has been tracking how many packages that have been updated. Given the large number of packages in Fedora, this progress is good, but slow.
The intake of newly discovered licenses is still more than we are able to process. We want to focus on adding the new license to both fedora-license-data and SPDX.org list.
At the same time, we want to focus on the ELN subset of Fedora and cooperate with maintainers of these packages to finish the migration of these packages.
This Change will be followed by Phase 4, where we want to finish the migration of the remaining Fedora packages.
Feedback
See feedback section of Phase 1
Discussions on the mailing list:
Challenges:
- license-fedora2spdx tool uses mapping of legacy Fedora short names to SPDX identifiers using the fedora-license-data to suggest SPDX identifiers. Where there is an apparent one-to-one mapping, the package maintainer could simply update the License field: and move on.
- for many packages, particularly packages that use "umbrella" legacy short names that may refer to a large set of unrelated or loosely related licenses, further inspection will be needed. Currently, Fedora documentation provides sparse advice on how to do this inspection and thus, a range of methods are used.
Benefit to Fedora
The use of standardized identifiers for licenses will align Fedora with other distributions and facilitates efficient and reliable identification of licenses. Depending on the level of diligence done in this transition, Fedora could be positioned as a leader and contributor to better license information upstream (of Fedora).
Scope
- Change Owners:
- Continue adding newly found licenses to fedora-license-data and to SPDX.org list.
- Continue to report progress
- Focus on the ELN subset of Fedora.
- Other developers:
- All packages (during the package review) should use the SPDX expression. - this is redundant as this has already been approved since Phase 1, but it should be reminded.
- Migrate the existing License tag from a short name to an SPDX expression.
- Release engineering: nothing
- Policies and guidelines: all done in previous phases
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
Upgrade/compatibility impact
License strings are not used anything in run time. This change will not affect the upgrade or runtime of Fedora.
During the transition period, developer tools like rpminspect, licensecheck, etc. may produce false negatives. And we have to define a date where we flip these tools from old Fedora's short names to the SPDX formula.
How To Test
See How to test section of Phase 1
User Experience
Users should be able to use standard software tools that audit licenses. E.g. for Software Bills of Materials.
Dependencies
No other dependencies.
Contingency Plan
- Contingency mechanism: There will be no way back. We are already beyond of point to return. We are heading to explore strange new worlds... to boldly go where no man has gone before.
- Contingency deadline: Beta freeze. But it is expected that not all packages will be converted by that time and the change will continue in the next release.
- Blocks release? No. This change has no impact on runtime of any package.
Documentation
Release Notes
In Fedora 40, all core RPM packages use SPDX identifiers as a standard. In total XX percent of packages have been migrated to SPDX identifiers. The remaining packages are estimated to be migrated in upcoming releases of Fedora.