-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Clarify that the License-Expression
field applies to the containing distribution file, not the project itself
#1900
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
base: main
Are you sure you want to change the base?
Clarify that the License-Expression
field applies to the containing distribution file, not the project itself
#1900
Conversation
…ng distribution file, not the project itself
Sorry, I've not read through the glossary recently, but is the distribution file being referred to here the sdist and wheels? Or the METADATA file in the .dist directory? Or something else? |
sdist and wheels. |
@@ -473,6 +473,9 @@ Text string that is a valid SPDX | |||
:term:`license expression <License Expression>`, | |||
as specified in :doc:`/specifications/license-expression`. | |||
|
|||
Note that the expression in this field only applies to the **distribution** file | |||
containing the metadata, not the project itself or other distribution files. |
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.
What "other distribution files" are meant here? Can we clarify in the text? It's confusing to me, even though I'm fairly familiar with the topic.
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.
It means the expression only applies to the file containing it, not other files. IMO it would be clearer if "distribution" wasn't emphasised on its first occurrence, but if you think it needs more than that can you say what you'd like to see?
The key point is that you can only assume the license expression applies to the single file it's read from. And in addition, you can't assume that the "project license" is the same as the license of any one of its individual distribution files.
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.
I tweaked the sentence slightly to try and make it clearer. Otherwise I will need a concrete suggestion of how to change it.
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.
I was also confused about the term "other distribution files", until I realized it meant other sdists or wheels. As opposed to, say, the files built, installed, or extracted from the distribution.
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.
"distribution file" is a technical term (it's in a glossary somewhere) but it's clumsy and hence not frequently used...
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.
My take:
Note that this license expression applies only to the specific :term:`Distribution Archive` that contains the metadata
(e.g., this particular :term:`source distribution <Source Distribution (or "sdist")>` or :term:`wheel <Wheel>`).
It cannot be assumed to be the license for the project as a whole, nor for other distribution packages of the same project.
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.
Or: other distributions
Or even: other distributions (other wheels or sdists for the same release)
Approval for this change comes from https://discuss.python.org/t/split-from-pep-639-expressing-project-vs-distribution-licenses-post-pep-639-mod-titled/90314/179 .