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

Relicense project as AGPL-3.0-or-later #119

Merged
merged 4 commits into from Nov 27, 2021
Merged

Relicense project as AGPL-3.0-or-later #119

merged 4 commits into from Nov 27, 2021

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Nov 22, 2021

This changes the licensing of Arduino Firmware Uploader from GNU Lesser General Public License v2.1 to GNU Affero General
Public License v3.0.

The "or any later version" clause is provided (SPDX license identifier AGPL-3.0-or-later).


A task and GitHub Actions workflow are provided here for checking the license types of Go project dependencies.

This validates that all project dependencies are compatible with the new license.

On every push and pull request that affects relevant files, the CI workflow will use Licensed to check:

  • If the dependency licenses cache is up to date
  • If any of the project's dependencies have an unapproved license type.

Approval can be based on:

This changes the licensing of Arduino Firmware Uploader from GNU Lesser General Public License v2.1 to GNU Affero General
Public License v3.0.

The "or any later version" clause is provided (SPDX license identifier AGPL-3.0-or-later).

I did my best to assess the intellectual property of this codebase and make sure all contributors and copyright owners
granted us permission to relicense their code. For any inquiry, report or claim please contact us at license@arduino.cc.
A task and GitHub Actions workflow are provided here for checking the license types of Go project dependencies.

On every push and pull request that affects relevant files, the CI workflow will check:

- If the dependency licenses cache is up to date
- If any of the project's dependencies have an unapproved license type.

Approval can be based on:

- Universally allowed license type
- Individual dependency
The `.licenses` folder contains a cache of license metadata for all the project's Go dependencies. This serves two purposes:

- Allow the Licensed dependency license checker tool to only check licenses when a dependency is added or updated
- Allow the maintainer to manually define license metadata when the licensee tool is unable to automatically detect it
The "Licensed" dependency license checker tool uses the licensee tool to automatically determine the license type based
on metadata provided by the dependency author. This must be in a standardized format without any modifications. In cases
where that wasn't done, it is necessary to determine the license type and update the dependency license metadata cache in
the `.licenses` folder manually.

The Licensed tool will check this data whenever the dependency version is updated to make sure the license hasn't changed.
@per1234 per1234 added type: enhancement Proposed improvement topic: infrastructure Related to project infrastructure labels Nov 22, 2021
@per1234 per1234 self-assigned this Nov 22, 2021
@codecov-commenter
Copy link

Codecov Report

Merging #119 (33f1b81) into main (144292a) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #119   +/-   ##
=======================================
  Coverage   10.96%   10.96%           
=======================================
  Files          21       21           
  Lines        1805     1805           
=======================================
  Hits          198      198           
  Misses       1549     1549           
  Partials       58       58           
Flag Coverage Δ
unit 10.96% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
cli/arguments/arguments.go 0.00% <ø> (ø)
cli/certificates/certificates.go 0.00% <ø> (ø)
cli/certificates/flash.go 0.00% <ø> (ø)
cli/cli.go 0.00% <ø> (ø)
cli/common/common.go 0.00% <ø> (ø)
cli/firmware/firmware.go 0.00% <ø> (ø)
cli/firmware/flash.go 0.00% <ø> (ø)
cli/firmware/getversion.go 0.00% <ø> (ø)
cli/firmware/list.go 0.00% <ø> (ø)
cli/version/version.go 0.00% <ø> (ø)
... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 20f5ea4...33f1b81. Read the comment docs.

Copy link
Contributor

@umbynos umbynos left a comment

Choose a reason for hiding this comment

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

awesome work Per 🚀

@per1234 per1234 merged commit 383d09c into arduino:main Nov 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants