Skip to content

GPL-3.0*: Copy the standard header from the license body #578

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

Merged
merged 1 commit into from
Jan 11, 2018

Conversation

wking
Copy link
Contributor

@wking wking commented Dec 29, 2017

I've copy/pasted exactly from the license body, except for:

  • Some tab → space replacements for consistent indenting.
  • Adjusting the version text for the -only forms. I think the version text we use is pretty strange, but I'll deal with that in follow-up work.

Semantic changes due to this standardization:

  • GPL-3.0 gets “version.” → “version 3.”.

  • GPL-3.0+ gets “either version 3 of the License, or (at your option) any later” where it previously had nothing.

  • GPL-3.0-or-later gets “version 3 or any later version” → “either version 3 of the License, or (at your option) any later version”.

  • Every license I touch gets <…> around its URL, which has been in the license templates since f6c3453 (Automated PR for GPL-3.0 #85) and similar.

  • Every license I touch gets the optional HTTPS from df182a1 (*GPL-3.0: Optional HTTPS for outgoing link #450) and similar.

I haven't bothered adding alt/optional to support our old forms, because I'm expecting folks in the wild to be copy/pasting from the FSF license text instead of our <standardLicenseHeader>s. But I can work up alt/optional entries if folks feel they are needed.

I've copy/pasted exactly from the license body, except for:

* Some tab -> space replacements for consistent indenting.
* Adjusting the version text for the -only forms.  I think the version
  text we use is pretty strange, but I'll deal with that in follow-up
  work.

Semantic changes due to this standardization:

* GPL-3.0 gets "version." -> "version 3.".

* GPL-3.0+ gets "either version 3 of the License, or (at your option)
  any later" where it previously had nothing.

* GPL-3.0-or-later gets "version 3 or any later version" -> "either
  version 3 of the License, or (at your option) any later version".

* Every license I touch gets <...> around its URL, which has been in
  the license templates since f6c3453 (Automated, 2016-03-30, spdx#85)
  and similar.

* Every license I touch gets the optional HTTPS from df182a1
  (GPL-3.0: Optional HTTPS for outgoing links, 2017-10-19, spdx#450) and
  similar.

I haven't bothered adding alt/optional to support our old forms,
because I'm expecting folks in the wild to be copy/pasting from the
FSF license text instead of our <standardLicenseHeader>s.
@@ -9,12 +9,23 @@
<notes>DEPRECATED: Use the license identifier GPL-3.0-or-later</notes>
<standardLicenseHeader> Copyright (C)
<alt match=".+" name="copyright">&lt;year&gt; &lt;name of author&gt;</alt>
This program is free software:
you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the
Free Software Foundation, version. This program is distributed in the hope that it will be useful, but WITHOUT
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the broken “, version.”.

This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, either version
3 of the License, or (at your option) any later version.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the fixed version text.

@@ -9,15 +9,23 @@
<standardLicenseHeader>
Copyright (C)<alt name="copyright"
match=".+">&lt;year&gt; &lt;name of author&gt;</alt>
<p>This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, version 3 or any later version.</p>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the broken version text.

This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, either version
3 of the License, or (at your option) any later version.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the fixed version text.

@@ -14,14 +14,22 @@
<standardLicenseHeader>
Copyright (C)<alt name="copyright"
match=".+">&lt;year&gt; &lt;name of author&gt;</alt>
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, version. This program is
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the broken version text.

<p>
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, version 3.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the fixed-to-match GPL-3-only version text.

There are a number of forms of this grant in the Linux kernel, and we probably want to support more of them. But that is a bigger change than I wanted to bite off in this PR.

@wking
Copy link
Contributor Author

wking commented Dec 29, 2017

And these header issues also affect the other GPL versions, but I thought I'd PR the 3.0 changes first. I'll follow up with 1.0 and 2.0 fixups if/when this PR lands.

@jlovejoy
Copy link
Member

yikes, good catch! I'm not sure how no one noticed this all these years... I have seen the modified header that was included here, but it is not the standard one as recommended by the license!

@jlovejoy
Copy link
Member

oh, I'm not really sure it matters if we fix deprecated licenses for this kind of thing? @goneall @bradleeedmondson - do you have opinions on that?
(will merge this shortly)

@bradleeedmondson
Copy link
Contributor

bradleeedmondson commented Jan 11, 2018 via email

@jlovejoy jlovejoy merged commit 4a48edb into spdx:master Jan 11, 2018
@wking wking mentioned this pull request Jan 11, 2018
@wking wking deleted the gpl-3.0-header branch January 11, 2018 22:34
@wking
Copy link
Contributor Author

wking commented Jan 11, 2018

This same issue affects at least GPL-2.0-or-later as well (compare here and here). Should I file a similar PR for the 2.0 series, or do we want to wait for #581 (which will allow us to drop this copy/pasting entirely)? I think the trade offs are:

@goneall
Copy link
Member

goneall commented Jan 12, 2018

Since the license is deprecated, I don't think we should spend too much time/effort. Since this PR is already created, I agree with @bradleeedmondson we should merge it. I wouldn't put in any additional effort until #581 is resolved.

@wking
Copy link
Contributor Author

wking commented Jan 12, 2018

Since the license is deprecated…

GPL-2.0-or-later is not deprecated. Although I see I dropped GPL-3.0-or-later links by mistake. Compare:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants