Skip to content
This repository was archived by the owner on Feb 19, 2025. It is now read-only.

Add explicit MPL-2.0 licence notice "Exhibit A"#4

Merged
soc merged 1 commit intosoc:mainfrom
nmathewson:mpl_exhibit_a
May 23, 2023
Merged

Add explicit MPL-2.0 licence notice "Exhibit A"#4
soc merged 1 commit intosoc:mainfrom
nmathewson:mpl_exhibit_a

Conversation

@nmathewson
Copy link
Copy Markdown
Contributor

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.)

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.)
@nmathewson
Copy link
Copy Markdown
Contributor Author

(The text of this commit message is from @ijackson's commit on fitzgen/generational-arena#56 ; used with permission.)

@soc soc merged commit 20079f3 into soc:main May 23, 2023
@soc
Copy link
Copy Markdown
Owner

soc commented May 23, 2023

@nmathewson Thank you!

zydou pushed a commit to zydou/arti that referenced this pull request Apr 3, 2024
They merged the suggested notice back May 2023:
   soc/option-ext#4
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants