-
-
Notifications
You must be signed in to change notification settings - Fork 150
Relicense project as AGPL-3.0-or-later #708
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
Conversation
The file is not written in Markdown, so `.md` is not an appropriate file extension.
This changes the licensing of Arduino Create Agent from GNU General Public License v2.0 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 [email protected].
Whenever one of the recognized license file names are modified in the repository, the workflow runs to check whether the license can be recognized and whether it is of the expected type. GitHub has a useful automated license detection system that determines the license type used by a repository, and surfaces that information in the repository home page, the search web interface, and the GitHub API. This license detection system requires that the license be defined by a dedicated file with one of several standardized filenames and paths. GitHub's license detection system uses the popular licensee tool, so this file also serves to define the license type for any other usages of licensee, as well as to human readers of the file. For this reason, and to ensure it remains a valid legal instrument, it's important that there be no non-standard modifications to the license file or collisions with other supported licence files. This workflow ensures that any changes which would change the license type or which license file is used by the detection are caught automatically.
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.
Codecov Report
@@ Coverage Diff @@
## main #708 +/- ##
=====================================
Coverage 8.45% 8.45%
=====================================
Files 64 64
Lines 5051 5051
=====================================
Hits 427 427
Misses 4570 4570
Partials 54 54
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Awesome work Per! |
Please check if the PR fulfills these requirements
before creating one)
What kind of change does this PR introduce?
Infrastructure update and enhancement.
What is the current behavior?
Arduino Create Agent is licensed under the "GNU General Public License v2.0" (SPDX ID GPL-2.0-only) license
What is the new behavior?
Arduino Create Agent is licensed under the "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 [email protected].
Automation infrastructure has been put in place to validate the licensing and assist with its ongoing maintenance:
Does this PR introduce a breaking change?
No breaking change
Other information
Huge thanks to the project's contributors @johnlauer, @chilipeppr, @hannobraun, @jarretluft for their assistance with this effort, and for their commendably speedy responses to my messages!