adafruit / cookiecutter-adafruit-circuitpython

Cookiecutter template for Adafruit's CircuitPython libraries.
MIT License
22 stars 37 forks source link

Fix copyright date range generated by Sphinx #206

Open brianredbeard opened 1 year ago

brianredbeard commented 1 year ago

It appears as if the copyright on the code was "broken" in a well meaning attempt to make the date auto updating. Unfortunately this isn't how copyright works as recognized by the US Patent and Trademark Office nor the World Intellectual Property Organization (WIPO). You want to specify the time that the copyright begins not the current date.

For more information check out:

A good summary from the second link:

The copyright notice on a work establishes a claim to copyright. The date on the notice establishes how far back the claim is made. This means if you update the date, you are no longer claiming the copyright for the original date and that means if somebody has copied the work in the meantime and they claim its theirs on the ground that their publishing the copy was before your claim, then it will be difficult to establish who is the originator of the work.

Therefore, if the claim is based on common law copyright (not formally registered), then the date should be the date of first publication. If the claim is a registered copyright, then the date should be the date claimed in the registration. In cases where the work was substantially revised you may establish a new copyright claim to the revised work by adding another copyright notice with a newer date or by adding an additional date to the existing notice as in "© 2000, 2010". Again, the added date establishes how far back the claim is made on the revision.

tekktrik commented 1 year ago

@kattni @jepler @FoamyGuy I believe this in reference to #198 and #199 which addressed #173. I could write a script to reverse this back but wanted to discuss first.

tekktrik commented 1 year ago

It's worth mentioning that this only affects the RTD docs, not the actual code.

dhalbert commented 1 year ago

@ladyada Do you have a comment, or might the lawyers have a comment?

ladyada commented 1 year ago

right now, the cookiecutter is run when the library is first written, so the copyright should be on that year - it shouldnt update existing code (e.g. changing the year) - but also it sounds like it does not?

so not sure what exactly the issue yr seeing/experiencing @brianredbeard - are you seeing that the cookiecutter is updating the year on existing libraries?

tekktrik commented 1 year ago

I think it's referring to the sphinx docs, that dynamically update the date range with each build and show it at the bottom of the page, controlled in docs/conf.py:

https://github.com/adafruit/cookiecutter-adafruit-circuitpython/blob/9abfd3d0f29fb28dd62c64caa91ea1e21c119b17/%7B%7B%20cookiecutter.__dirname%20%7D%7D/docs/%7B%25%20if%20cookiecutter.sphinx_docs%20in%20%5B'y'%2C%20'yes'%5D%20%25%7Dconf.py%7B%25%20endif%20%25%7D#L58-L63

Here's an image of the resulting copyright in RTD/sphinx:

RTDCopyright

brianredbeard commented 1 year ago

Argh! My apologies. This was in the wrong repo, this was in response to:

https://github.com/adafruit/Adafruit_CircuitPython_BLE_BroadcastNet/compare/0.12.6...0.12.7

The lack of the UI change got me mixed up.

So, no matter that, this is the wrong repo. Now for the next question, should i re-open this in the correct location or just chalk this up to NOTABUG/WONTFIX?

tekktrik commented 1 year ago

Hi @brianredbeard you did open it in that repo but it's a persistent problem across all of the repositories, so I transferred it here to the root of the problem which is our cookiecutter which causes this change.

tekktrik commented 1 year ago

All of the libraries have a patch update like you linked that mimics this cookiecutter change so it's easier to track here

tekktrik commented 1 year ago

I'm still watching this, but didn't know if @dhalbert's comment about hearing from a lawyer should happen first.