In the case of open source software development, where contributions build on previous work I would find it more sensible for each copyright holder to hold copyrights on the diffs/deltas he/she contributed, instead of copyrights on files. Unless a contributor created a file, the contribution is a modification.
AFAIK, in projects with no CLAs, like the Linux kernel, copyright for contributions from different sources is still handled on a per file basis.
Implementing this concept means licensing would have to be integrated into Git/Mercurial/Bazar/Fossil/SVN, and at first it would be more complicated than adding a commented header with the license to each file.
What are the reasons (legal, technical, political, customary or otherwise) software licenses are applied to files instead of to diffs/deltas, especially now that version control systems are in wide spread use? Or is this a novel idea?
Note 1: Obviously the question does not apply in cases where there are Contributors Licence Agreements, and does not apply to non-FLOS Software.
Note 2: I mistakenly asked this on Stackoverflow and since instead of being moved here it was closed, I am asking this question here.
Note 3: A diff can be any of the following and more: a change to a single file, changes to multiple files, new files, any combination of the previous.
Note 4: The proposal mainly targets 2 situations:
- Discouraging creation of copylefted forks of copyfree projects for the sole reason of copylefting, accomplished by maintaining both copyleft and copyfree contributions in the same source tree, and filtering based on license.
- Enable license switching with the approval of all people necessary without anyone extra (e.g.: What if Linus would change his mind and would want to switch the license for Linux from GPLv2 to GPLv2+. Who would he have to track down and ask permission from. Must he ask permission from those whose contributions were discarded?)