-
Notifications
You must be signed in to change notification settings - Fork 143
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
Multiple licenses: unclear specification #124
Comments
Wouldn't |
When I do audits, I typically use the Note that there is also a license information in files field which will record the declared licenses which also captures the various licenses. |
The authoritative text here is: Conjunctive "AND" Operator If required to simultaneously comply with two or more licenses, use the conjunctive binary "AND" operator to construct a new license expression , where both the left and right operands are a valid license expression values. For example, when one is required to comply with both the LGPL-2.1 or MIT licenses, a valid expression would be: (LGPL-2.1 AND MIT) At current, this is too ambiguous for our purposes. I agree that this might be the most helpful designation, if I had to choose one. However, these lawyers will not agree to codifying the licensing terms in a way that might be left open to conflicting interpretations. |
What conflicting interpretations are possible? If a package includes some material under license A and some material under license B, to distribute the package one has to comply with |
My conflicting interpretation was The concern is that we very specifically do not want to express a requirement that My interpretation might be unreasonable, and I like your interpretation. Discussing with client. Either way, documentation could be improved to discuss this situation. I'm not sure which file to open a PR on to fix this. |
Yes, @mlinksva interpretation accurately describes the common understanding, I think. If you are concern whether |
@fulldecent Are you using a full SPDX document to describe the licenses or are you trying to express these conditions as a single file license? If the former, you can use relationships to accurately describe the dependencies. I would use package concluded license to capture the analysis of the licenses used in creating the entire distributed package. The downstream consumers of the SPDX documents will know that the concluded license is an interpretation and they can form their own judgement based on the file information in the document. You can also use If you are trying to capture these as a license expression for a single file, I can see where that would be a challenge. The intent of the file license is to describe the license for the file itself and not to describe the license implications of any dependencies or relationships outside of the file. |
We are using NPM and can add an SPDX string into package.json. Adding this property is best practice if possible. Each file in the project which came from other sources has a proper MIT header. The substantive portion of files in the project have no heading and are released CC0 as noted in LICENSE.md. (No heading and implicit licenses are common for JavaScript projects and IMHO are poor form.) |
I guess |
For NPM, you won't have the option of using the additional SPDX document fields. Since the package.json file relates to all files in the distribution for the NPM package, I would think using the The challenge I have with the In the case of dependencies impacting the license, I personally think that should not be included in the higher level package.json file but should be only recorded in the dependency package.json files. |
After reading the background in issue #123 I am inclined to support the |
Relevant statement from the example (which is not currently part of the spec) is:
|
Is this enforced in spec ?
|
Hi @dineshr93, no, |
@swinslow @mlinksva @fulldecent - this is a rather old issue. Is this something we should move to a change proposal? close? For now, I'll move this to 3.1 since it would not be a breaking change. |
Thank you. The currently published:
as documented in https://wiki.spdx.org/view/FileNoticeExamples#Package:_.28GPL-2.0_.3B_LGPL-2.1_.3B_BSD-2-Clause.29 and discussed in #123 is a great place to continue this discussion. And no need to have this instant issue. Closing here. |
For a package which uses multiple licenses it is unclear how this should be specified using SPDX.
The specification covers how to handle when two licenses apply to the entirety of a package. The specification does not specify how to handle when two licenses apply to separate parts of a package. For example, a package may be released into the public domain (CC0), however it may include some parts which are individually labeled and licensed as MIT. In this case it would be inappropriate to say the entire package is released as "CC0 or MIT".
(Please let's not debate here the appropriateness of selecting CC0. I am contributing to https://code.mil/ and debating the choices of US military lawyers is likely to stall progress on this technical issue.)
The text was updated successfully, but these errors were encountered: