Suppose a big project with GPL license has several developers, most of whom working on a few source files. Is it appropriate/possible that the copyright notice in each source file include only the names of those developers who have worked on that single file? In other words: who are the copyright holders of a single source file and when somebody is allowed to add his/her name to the copyright notice?
What is the creative work that the developers contributed to? Is every file an independent creative work for the purpose of copyright? Or does a software constituted from multiple files present a single and indivisible creative work?
In general, consensus seems to be that software copyright can be considered in a very fine grained manner, down to individual source code lines. However, the FSF also asserts that a larger software system in its entirety can be a derived work of all its components.
I do not think that those standpoints are contradictory, so that it is very well possible to track copyright holders on a file by file basis. Then, any contributor who makes a nontrivial change to a file holds partial copyright to that file, and would be allowed to add their copyright notice.
In practice, I think this is a fairly bad idea. It makes more sense to track contributors on a per-component basis.
Copyright notices do have legal relevance but they are in no way required for someone to be recognized as a copyright holder. Many copyright laws do encode the presumption that a person designated as the work's author is the copyright holder, which suggests
- that there should be an indication of the contributor's authorship somewhere
- that copyright notices should not designate some individuals as authors but not others
This can be resolved both by providing very complete per-file copyright notices, or by providing no per-file copyright notice at all (!).
It is difficult to tell whether smaller contributions amount to a copyrightable derived work. A project policy that every change counts will overstate the list of copyright holders. If the project has some policy that decides a cutoff point, that point is almost certainly wrong, and such a policy will attract politics and squabbling.
- therefore, correct per-file copyright notices are very difficult and require extra effort
Not every contribution is a copyrightable contribution. In particular: not every contribution is code. It seems unfair to attribute only copyright holders.
My personal preference is to add a pseudo-notice “© <year> the <project> contributors” to individual files, though that doesn't count as a copyright notice under U.S. law. The full list of contributors can then be listed in a central place, regardless of whether they are copyright holders. Per-file authorship information is more accurately tracked by version control.