Closed jonassmedegaard closed 4 years ago
Nice catch! Please let me know if I missed anything.
Thanks!
I hope you don't mind me letting you know that you didn't (as far as I can tell) miss anything :-)
Thanks!
I think I'm OK with that. ;)
Thanks to you too!
it is difficult to guess who hold copyright for which parts of this project, and which licensing terms those copyright holders grant for which parts.
All I could find was a) the existence of a LICENSE file containing the fulltext of GPLv3 but in itself does not tell who grants it how (GPL-3-only or GPL-3-or-newer?), and b) setup.py which mentions no copyright holder (but an author which loosely could be assumed to be the one and only copyright holder) and license being "GPL" (which strictly interpreted means GPL-1-or-newer).
I recommend to state explicitly who holds copyright on which parts, and explicitly state which licensing is granted (for some - typically shorter ones like BSD ones and Expat - a license and a license grant is the same thing, but GPL licenses do not implicitly express a grant, but instead contains explicit instructions on how the authors of the license recommend to grant it).
...and I recommend to do so within each copyright-protected and licensed file, not (only) centrally for the project as a whole. Reason for that - and also a good example on how to do it - can be seen in the file etesync_dav/radicale_main.py which evidently is not covered by the vague copyright and licensing statements in setup.py: If someone chooses to make use of their licensed rights and make a copy of a few select files, then they most likely will not copy over the setup.py file as well, and therefore will quite likely forget to carry over the copyright and licensing details. You probably want them to do so (because you "probably" intended to license your project as GPL-3-somow-granted which implies an appreciation of preserving the licensing terms and giving credit if forking).
In short: please consider adding copyright + licensing boilerplate on top of all code files (and if adding PNG or SVG files then embed such information as EXIF or RDF data as appropriate).