Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apply REUSE recommendations for code, documentation, and examples licensing. #99

Merged
merged 5 commits into from
Jun 1, 2020

Conversation

Flameeyes
Copy link
Contributor

The REUSE specifications are meant to make
it explicit and easier to apply code licensing information for a
project. The provided lint tool makes it easy to ensure all the
content (code and not code) is tagged.

I'm sending this pull request as a request for comment on whether this
approach would be accepted for all or at least most of the Adafruit
repositories.

My reason to look into doing this, beside a personal
preference
,
is that I was looking at publishing a quick script based off the
example from the documentation, and I had to dig a bit to find the
correct license and copyright information for it.

So I thought I would suggest this as an option — and volunteer to help
implementing this, of course. It can also be set up with
pre-commit as well, which should make it
harder for regressions to appear.

Important notes:

  • All the code (and documentation) that otherwise didn't have an explicit
    license headers have been tagged with @ladyada's copyright as per the
    LICENSE file.
  • The favicon.ico file has been tagged with MIT license and the same
    copyright information. I do believe this is incorrect, and would like to
    know what the correct information should be.
  • All configuration files have been tagged with ladyada's copyright and
    Unlicense. The current REUSE recommendation is to use
    CC0-1.0, but that has… side effects. There's some discussion in
    Alter CC0-1.0 recommendation for uncopyrightable files fsfe/reuse-docs#62 about the recommendation for
    likely-uncopyrightable files (such as configuration files).

The REUSE specifications[1] are meant to make it explicit and easier to
apply code licensing information for a project. The provided lint tool
makes it easy to ensure all the content (code and not code) is tagged.

Important notes:

 * All the code (and documentation) that otherwise didn't have an explicit
   license headers have been tagged with ladyada's copyright as per the
   LICENSE file.
 * favicon.ico and CODE_OF_CONDUCT.md have been synced from the
   source-of-truth repositories.
 * All configuration files have been tagged with ladyada's copyright and
   Unlicense[2]. The current REUSE recommendation is to use CC0-1.0, but
   that has… side effects. There's some discussion in [3] about the
   recommendation for likely-uncopyrightable files (such as configuration
   files).

[1]: https://reuse.software/
[2]: https://unlicense.org/
[3]: fsfe/reuse-docs#62
pre-commit.com provides a way to configure pre-commit hooks for multiple
tools, including `reuse lint` (configured here), isort, black, and more.

This is also integrated with GitHub actions in the example configuration.
For this to work, the black command line options need to be replaced with a
pyproject.toml file defining the settings, that can be reused.
These are minor, but avoids those coming up during reviews at all.

Signed-off-by: Diego Elio Pettenò <[email protected]>
@Flameeyes Flameeyes changed the title RFC: Apply REUSE recommendations for code, documentation, and examples licensing. Apply REUSE recommendations for code, documentation, and examples licensing. May 30, 2020
Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me! I know the copyrights aren't perfect but authors who changed things can create PRs to add their names if they like.

@tannewt tannewt merged commit 522df97 into adafruit:master Jun 1, 2020
adafruit-adabot added a commit to adafruit/Adafruit_CircuitPython_Bundle that referenced this pull request Jun 9, 2020
Updating https://github.com/adafruit/Adafruit_CircuitPython_AHTx0 to 1.0.1 from 1.0.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_AHTx0#1 from kattni/example-i2c-update

Updating https://github.com/adafruit/Adafruit_CircuitPython_ESP32SPI to 3.4.1 from 3.4.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_ESP32SPI#99 from Flameeyes/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_ILI9341 to 1.2.1 from 1.2.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_ILI9341#22 from makermelissa/master
  > Merge pull request adafruit/Adafruit_CircuitPython_ILI9341#21 from adafruit/setup-py-disabled
  > build.yml: add black formatting check

Updating https://github.com/adafruit/Adafruit_CircuitPython_LPS2X to 2.0.0 from 1.1.1:
  > Merge pull request adafruit/Adafruit_CircuitPython_LPS2X#4 from adafruit/lps22
  > build.yml: add black formatting check

Updating https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k to 1.4.0 from 1.3.2:
  > Merge pull request adafruit/Adafruit_CircuitPython_Wiznet5k#20 from xorbit/master
  > Merge pull request adafruit/Adafruit_CircuitPython_Wiznet5k#14 from adafruit/pylint-update

Updating https://github.com/adafruit/Adafruit_CircuitPython_AzureIoT to 2.2.1 from 2.2.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_AzureIoT#16 from jimbobbennett/master

Updating https://github.com/adafruit/Adafruit_CircuitPython_Display_Text to 2.7.0 from 2.6.1:
  > Merge pull request adafruit/Adafruit_CircuitPython_Display_Text#49 from kmatch98/background
  > Merge pull request adafruit/Adafruit_CircuitPython_Display_Text#48 from FoamyGuy/better_group_full_error

Updating https://github.com/adafruit/Adafruit_CircuitPython_LED_Animation to 2.3.0 from 2.2.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_LED_Animation#39 from rhooper/bugfixes
  > Merge pull request adafruit/Adafruit_CircuitPython_LED_Animation#38 from rhooper/sequence-one-shot
  > Merge pull request adafruit/Adafruit_CircuitPython_LED_Animation#40 from rhooper/pixelgrid

Updating https://github.com/adafruit/Adafruit_CircuitPython_MiniMQTT to 3.1.0 from 3.0.0:
  > Merge pull request adafruit/Adafruit_CircuitPython_MiniMQTT#38 from brentru/on-message-enhancements

Updating https://github.com/adafruit/Adafruit_CircuitPython_Bundle/circuitpython_library_list.md to NA from NA:
  > Added the following libraries: Adafruit_CircuitPython_ILI9341
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants