spdx / license-list-XML

This is the repository for the master files that comprise the SPDX License List
Other
344 stars 276 forks source link

New license request: BSD-2-Clause-first-lines #2348

Closed jrisc closed 5 months ago

jrisc commented 8 months ago

1. License Name: BSD 2-Clause license with unmodified copyright notice 2. Short identifier: BSD-2-Clause-Copyright 3. License Author or steward: Unknown 4. Comments: This license is similar to the BSD 2-Clause "Simplified" License, but with an addition to the first clause. It also matches the first half of the FreeBSD Documentation License.

This license is used in Fedora, and was found during license review: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/461 5. License Request Url: http://tools.spdx.org/app/license_requests/341 6. URL(s): 7. OSI Status: Not Submitted 8. Example Projects: 8. License Text Diff: https://github.com/spdx/licenseRequestImages/blob/master/84b193b8-e27d-4b69-8099-b44aeb6d5705.png

Note: The license closely matched with the following license ID(s): BSD-2-Clause

jlovejoy commented 7 months ago

this is indeed a match to BSD-2-Clause, but adds the text in italics in the first clause

"Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified."

sigh... thoughts?

jlovejoy commented 7 months ago

note: we have added other licenses with specifics as to where to put the notice as a new license

bsdimp commented 7 months ago

I think this needs to be a new license. It's another instance of at start of file varaints of the BSD license.

jlovejoy commented 7 months ago

agree @bsdimp

Adding link to license text, as I realized they are not in this issue, but over in the Fedora Gitlab repo issue https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L664-L690

I would note that this link was also provided: https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html which seems to also have some extra stuff at the bottom and I'm not sure if that's supposed to be part of the license. But based on the "go with the license closest to the code" guidance, I'd go with the link above.

jlovejoy commented 7 months ago

did a bit more research to see if this is used elsewhere and found:

So that makes it seem that using a project name in the license id is probably not a good idea? maybe BSD-2-Clause-first-lines (or something please come up with something better!)

NOTE: There is also another variant of this license that seems to appear quite a bit and uses "compiled form" instead of "binary" and provides a parenthetical of example formats. see: https://patchew.org/EDK2/1492477540-41700-2-git-send-email-michael.d.kinney@intel.com/ and many of the examples here: https://github.com/search?q=%22as+the+first+lines+of+this+file+unmodified%22&type=code

These are essentially a match to the first part of https://spdx.org/licenses/FreeBSD-DOC.html - not saying we have to solve this here/now, but thought it was worth mentioning

yvonne-metaeffekt commented 7 months ago

ScanCode matched id: freebsd-doc

{metæffekt} Universe canonical name: BSD 2-Clause License (copyright holder variant) short name: BSD-2-Clause-copyright

Comment The universe match is not precise. We would consider to create another license template for the given case.

yvonne-metaeffekt commented 7 months ago

New license template added:

{metæffekt} Universe canonical name: BSD 2-Clause License (copyright holder variant; variant 001) short name: BSD-2-Clause-copyright-001

Comment The license is still regarded a BSD 2-Clause variant, since the original license contains already the fragment

retain the above copyright notice

From this perspective the addition

as the first lines of this file unmodified

is redundant from an obligation point of view.

richardfontana commented 6 months ago

Comment The license is still regarded a BSD 2-Clause variant, since the original license contains already the fragment

retain the above copyright notice

From this perspective the addition

as the first lines of this file unmodified

is redundant from an obligation point of view.

Not sure I follow your logic there. :)

bsdimp commented 6 months ago

I still agree with @jlovejoy that this is a separate license, and like her suggestion of bsd-2-clause-first-lines. I'd be interested in the thinking behind the suggestion that the start of the file requirement isn't an additional requirement that's not otherwise present (though it is a socially enforced convention).

swinslow commented 6 months ago

Also disagree with https://github.com/spdx/license-list-XML/issues/2348#issuecomment-1968609413 that "as the first lines of this file unmodified" is redundant or doesn't change the obligations.

edited, to clarify because of the double negative above: "as the first lines of this file unmodified" is an additional requirement above and beyond standard BSD-2-Clause.

+1 to add, +1 to BSD-2-Clause-first-lines as ID and perhaps "BSD 2-Clause with first lines requirement" as name.

karsten-klein commented 6 months ago

With respect to https://github.com/spdx/license-list-XML/issues/2348#issuecomment-1968609413:

Based on the feedback we adjusted the license model to carry an equivalent modifier. The updated results are now as follow:

{metæffekt} Universe canonical name: BSD 2-Clause License (copyright holder variant; retain first lines) short name: BSD-2-Clause-copyright-retain-first-lines markers: Preserve Text Obligation Marker

Comments To defend our comment above: if one applied the BSD license templates consistently the first lines are the copyright statement. From this default pattern the argument was, that this additional obligatios is redundant (or at least overlapping) with the "source code must retain the above copyright notice". Since this is a source-level obligation the risk to modify the first lines of a source file is rather low and implies a conscious modification to the source.

But we completely agree that default patterns leave room for other cases. So thanks for the discussion and resulting improvement.

To further identify such "text preservation obligations" we introduced an additional marker (Preserve Text Obligation Marker) that highlights such aspects independent from the license matching.

jlovejoy commented 6 months ago

Thanks for all the input and explanation @bsdimp @richardfontana @swinslow and @karsten-klein !

jlovejoy commented 6 months ago

License Inclusion Decision

Decision:

Name

BSD 2-Clause - first lines requirement

License ID

BSD-2-clause-first-lines

XML markup

Notes:

This is the same as BSD-2-Clause, but adds a specific requirement to retain the notice in the first lines of the file.

Next steps

If the license has been accepted, please follow the accepted-license process to create the PR.

github-actions[bot] commented 5 months ago

This new license/exception request has been accepted and the information for the license/exception has been merged to the repository. Thank you to everyone who has participated! The license/exception will be published at https://spdx.org/licenses/ as part of the next SPDX License List release, which is expected to be in three months' time or sooner. In the interim, the new license will appear on the license list preview site at https://spdx.github.io/license-list-data/. This is an automated message.

swinslow commented 4 months ago

See #2487 regarding "c" vs. "C" in the ID