3 ms·
There is a related oddity in GPL 2: when distributing modified source code you must put a mini changelog in the file itself (clause 2. b). Nobody does that any
by Tomte 2y ago
There is a related oddity in GPL 2: when distributing modified source code you must put a mini changelog in the file itself (clause 2. b).
Nobody does that anymore. We have git, and before that we had SVN and CVS and so on.
The legal commentaries I know simply say "in principle that requirement is legally valid and you must do it this way, it practice no programmer seems to do that, so shrug".
- jchw 2y ago> There is a related oddity in GPL 2: when distributing modified source code you must put a mini changelog in the file itself (clause 2. b). Are you referencing the right license/clause? I don't actually see how GPLv2's clause 2. b would require this actually. > Nobody does that anymore. We have git, and before that we had SVN and CVS and so on. Yep, I will agree with you that pretty much nobody actually does this, and it does not seem like it is an obstacle so far, e.g. I have not seen legal contention over this, mostly just discussion. And honestly, writing a mini-changelog definitely seems like overkill with version control, and perhaps in most cases version control metadata is a perfectly acceptable substitute. However, since the file(s) might be distributed outside of version control where the version control data might not be present (e.g. like a release tarball) having at least the copyright information in each file seems useful. Whether it satisfies the "prominent notice that the file is changed" requirement is actually not 100% certain, but I can't imagine it puts you in a worse position to do so.
- Tomte 2y agoYes, I meant 2. a: "You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change."
- tempfile 2y agoI don't think clause 2b says that, do you perhaps mean clause 2a? In GPLv2 that says: > a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. while in GPLv3 it says > a) The work must carry prominent notices stating that you modified it, and giving a relevant date. Note that git/svn are not always relevant. In particular, it is not uncommon to distribute release code with the .git directory stripped - this does not excuse you from the requirement. Having said that, I had a quick glance at Linux, and picking a file at random it did have a copyright header, but certainly not one that included a record of every change. https://github.com/torvalds/linux/blob/master/init/calibrate.c https://github.com/torvalds/linux/blob/master/init/calibrate... So it doesn't look like this is peculiar to v2. But it does seem like people don't follow the letter of the requirement. I wonder if the FSF has ever clarified this.
- Sophira 2y agoMy understanding is that most projects that are licensed with GPLv2 actually say that they're licensed for GPLv2 "or any later version" (the Linux kernel being a notable exception). So, you could use GPLv3 instead, which would allow you to just say that the work itself has changed, not the individual files.
- tempfile 2y agoI don't think this is actually a significant difference between GPLv2 and v3. At the bottom of the quoted list of requirements, v2 says: > These requirements apply to the modified work as a whole. It is possible that v3's wording was cleaned up to make it clearer that individual file-level changes were not required. I have no doubt that git history would be considered sufficient metadata provided it was included in a release. We probably will never see a court test the attribution requirement in enough detail to settle this (in other words, it probably doesn't matter)