Skip to content

Allow use of code under later versions of GPL #274

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

Merged
merged 1 commit into from
Sep 20, 2021
Merged

Allow use of code under later versions of GPL #274

merged 1 commit into from
Sep 20, 2021

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Sep 16, 2021

The license type of Arduino Lint is hereby changed from "GPL-3.0-only" to "GPL-3.0-or-later", for the reason explained here:

https://www.gnu.org/licenses/gpl-faq.html#VersionThreeOrLater

Arduino Lint's GPL 3.0 license itself provides for either type, but the "or later" exception is only available if it is
explicitly stated:

If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation.

This was not previously done in the Arduino Lint code base, meaning that it could not be used by code licensed under some later version of GPL.

The previous use of the "GPL-3.0-only" license type was not a conscious decision, but simply the result of copy/pasting the license header from another project which happened to be "GPL-3.0-only". I simply copy/pasted the license from Arduino CLI, which is also "GPL-3.0-only".

Since Arduino has complete ownership of all code subject to this change, no external permission must be obtained to make this change.

The license type of Arduino Lint is hereby changed from "GPL-3.0-only" to "GPL-3.0-or-later", for the reason explained here:

https://www.gnu.org/licenses/gpl-faq.html#VersionThreeOrLater

Arduino Lint's GPL 3.0 license itself provides for either type, but the "or later" exception is only available if it is
explicitly stated:

> If the Program specifies that a certain numbered version of the GNU General Public License "or any later version"
> applies to it, you have the option of following the terms and conditions either of that numbered version or of any
> later version published by the Free Software Foundation.

This was not previously done in the Arduino Lint code base, meaning that it could not be used by code licensed under some
later version of GPL.

The previous use of the "GPL-3.0-only" license type was not a conscious decision, but simply the result of copy/pasting
the license header from another project which happened to be "GPL-3.0-only". I simply copy/pasted the license from
Arduino CLI, which is also "GPL-3.0-only".

Since Arduino has complete ownership of all code subject to this change, no external permission must be obtained to make
this change.
@per1234 per1234 added topic: documentation Related to documentation for the project type: enhancement Proposed improvement labels Sep 16, 2021
@per1234 per1234 requested a review from rsora September 16, 2021 05:41
@codecov-commenter
Copy link

codecov-commenter commented Sep 16, 2021

Codecov Report

Merging #274 (faf5c15) into main (4e6c832) will increase coverage by 0.12%.
The diff coverage is 98.69%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #274      +/-   ##
==========================================
+ Coverage   89.67%   89.79%   +0.12%     
==========================================
  Files          44       44              
  Lines        6496     6626     +130     
==========================================
+ Hits         5825     5950     +125     
- Misses        549      553       +4     
- Partials      122      123       +1     
Flag Coverage Δ
unit 89.79% <98.69%> (+0.12%) ⬆️

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

Impacted Files Coverage Δ
internal/cli/cli.go 0.00% <ø> (ø)
internal/command/command.go 0.00% <ø> (ø)
internal/configuration/configuration.go 96.21% <ø> (ø)
internal/configuration/rulemode/rulemode.go 93.18% <ø> (ø)
internal/project/library/library.go 72.09% <ø> (ø)
...ect/library/libraryproperties/libraryproperties.go 100.00% <ø> (ø)
internal/project/packageindex/packageindex.go 90.16% <ø> (ø)
internal/project/platform/boardstxt/boardstxt.go 100.00% <ø> (ø)
internal/project/platform/platform.go 100.00% <ø> (ø)
.../project/platform/programmerstxt/programmerstxt.go 100.00% <ø> (ø)
... and 28 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 69462b8...faf5c15. Read the comment docs.

@per1234 per1234 merged commit 66d5918 into arduino:main Sep 20, 2021
@per1234 per1234 deleted the gpl-3.0-or-later branch September 20, 2021 13:10
@per1234 per1234 self-assigned this Nov 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: documentation Related to documentation for the project type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants