-
Notifications
You must be signed in to change notification settings - Fork 545
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
Kill All License Headers. #1263
Comments
s/the version/version/ |
👍 I like it. |
I had a free moment and created the above PR current with master, I'll update it as needed as we add any new plugins for 3.6. |
👍 thanks! I'm going to keep it to the side for now, while we work through the code changes still needed for 3.6. If there's time before the release we can merge it & make a clean start from the next release (I doubt that anything will conflict, since regular patches are never so high up in the file, but let's get that stuff done first). |
Closing per c8e1dc4 |
I'd like to point out that the solution for this issue made two substantive changes that may have not been intended. The original notices referred to "either version 2 of the License, or (at your option) any later version," while the new notices drop the "any later version" clause (which is not part of the LICENSE). Similarly, the new notices drop "WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE", which also is not part of the GPL itself. A concise replacement keeping the original terms might be "version 2 or later of the GNU General Public License, without any warranty". |
The version clarification is intentional - the fact that that boilerplate was left in there many years ago was the unintended outcome. I'd planned to mention this in the commits, but in the end @TurboTurtle did the work, and I either forgot or didn't make clear this intent.
The For the warranty point, I'm not sure - if people think it significant then I can try to get some qualified advice. We stripped the long boilerplate for the simple fact that changes over time were awkward to coordinate, left incorrect information in files, and having literally hundreds of copies of this text in the tree seems redundant for a project that uses an identical license for all sources. That said, adding the warranty exclusion passage isn't a real burden. It hasn't changed in many years. The main LICENSE file to which the new header refers you does include the warranty statements and implied warranty exclusion from clauses 11 and 12:
The notice on adding headers does not explicitly require the header text to be present in full in each source file (although it does suggest that it is the safest option):
My belief is that we are complying with slightly more than the "at least", and somewhat less than the "safest", and I believe the intent of the licensing is now more clear than previously - if a legal review felt differently then we'd be happy to change that and issue a notice of clarification, or we can just add the brief warranty text to the header. |
Ah, it's fine as it is, then. I agree that a short notice in files and a complete license in a separate file is the best approach. I'm not sure where I got the idea that the warranty exclusion wasn't in GPL. I could have sworn I had looked into that before for another project. |
I had to go check real quick this morning :-) Thinking about it though, I don't see a reason to not include the warranty disclaimer - the hassle was with the address changes, and formatting differences in some versions of the header, but those extra few lines aren't going to hurt any, and means we're complying with the "safest" recommendation. Thanks for flagging it up! |
We still have inconsistent FSF address details around the tree:
vs.:
Since a lot of projects now take the approach that this is redundant (the LICENSE file is the canonical statement), and since maintaining these across hundreds of python source files is a giant pain in the ... I propose we just kill them all off and replace them with a generic copyright header (preserving dates and ownership details in plugins that have them now), e.g.:
The text was updated successfully, but these errors were encountered: