-
Notifications
You must be signed in to change notification settings - Fork 34
Add explicit MPL-2.0 licence notice "Exhibit A" #48
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
Conversation
Unlike most other Free Software licences, the MPL explicitly says it
applies only to files with a specific notice:
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
Unfortunately, this means that copying the MPL text into tree, and
setting the "license" Cargo option, leaves an ambiguous situation.
One might presume that the intent was to actually *use* the MPL for
the whole project, but the legal licence text explicitly rejects that.
Thankfully, according to the licence text, it is not actually
necessary to add the notice to *every* file:
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
So clarify this situation by adding one central explicit copy of the
MPL "Exhibit A" text, and declare it to apply to everything.
Putting it in Cargo.toml puts it next to the "license =" tag. Another
possibility would be `README.md` but IMO this legal technicality
doesn't really warrant such exposure.
(Putting it in the LICENCE file, as the text itself suggests, would
mean either (i) renaming the verbatim copy of the MPL 2.0 and writing
a new file or (ii) adding it as a rubric to the top of the MPL 2.0
text in LICENCE - resulting in a LICENCE file which is not identical
to the usual MPL-2.0 text file. Neither of those seem desirable.)
|
Sorry, I can't get your point. Each rust file in this project has a copyright notice explicitly reporting |
|
I will close this. Feel free to reopen it in case I missed something |
|
Hi. Thanks for your attention. Sorry for the late reply; I was away last week. Unfortunately the standard file header text is not sufficient. The MPL explicitly says that it only applies when we've "attached the notice in Exhibit A". Ie, only the precise text of its Exhibit A counts. Since the existing standard file header is not "the notice in Exhibit A", because it has different wording, the various statements about the MPL are contradictory: The file header in each file says the MPL applies, but the actual text of the MPL says it doesn't. I think we could fix this by (a) adding the Exhbit A notice to every file, or (b) by adding it somewhere central and saying it applies everywhere. In this MR I did (a). Another option would be (c) replace the standard text in each file header with a minimal SPDX-style declaration (eg like this only declaring I'm happy to do whichever of these you prefer. Please let me know. (I don't think I can reopen this MR. Maybe I should file a ticket?) |
|
Oh I also notice that the SPDX string in |
|
To be consistent, I would rather add the full "Exhibit A" text on each source code file.
I think that in this MR you did (b), right? I would go for (a) instead |
Looking at #23, it seems like contributors were asked for consent to relicense to “LGPL 3,” with no mention of later versions, so (if I’m not missing something) |
|
Oh, but the existing source code headers specify “any later version.” Hmm. Maybe |
Unlike most other Free Software licences, the MPL explicitly says it applies only to files with a specific notice:
Unfortunately, this means that copying the MPL text into tree, and setting the "license" Cargo option, leaves an ambiguous situation. One might presume that the intent was to actually use the MPL for the whole project, but the legal licence text explicitly rejects that.
Thankfully, according to the licence text, it is not actually necessary to add the notice to every file:
So clarify this situation by adding one central explicit copy of the MPL "Exhibit A" text, and declare it to apply to everything.
Putting it in Cargo.toml puts it next to the "license =" tag. Another possibility would be README.md but IMO this legal technicality doesn't really warrant such exposure.
I added another sentence so that it's clear that this statement about
the MPL doesn't contradict the intent to also offer LGPL 3.0.
(Putting it in the LICENCE file, as the text itself suggests, would mean either (i) renaming the verbatim copy of the MPL 2.0 and writing a new file or (ii) adding it as a rubric to the top of the MPL 2.0 text in LICENCE - resulting in a LICENCE file which is not identical to the usual MPL-2.0 text file. Neither of those seem desirable.)
(FYI we, the Arti developers, have had similar MRs accepted in other projects, eg soc/option-ext#4. Our original ticket for this kind of thing was https://gitlab.torproject.org/tpo/core/arti/-/issues/845)