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

Recommend a license for third-party libraries in library tutorial #598

Open
Coding-Badly opened this issue May 16, 2014 · 6 comments
Open

Comments

@Coding-Badly
Copy link
Contributor

Please unify the libraries under a single license. Currently, at least six different licenses are used.

Please also recommend a license for third-party libraries.

@matthijskooijman
Copy link

I'm not sure this is possible - a lot of the libraries have been originally written by third parties and/or include code and later contributions from others. You can't just change the license on code unless all authors agree, and contacting all authors is a fairly big effort...

@Coding-Badly
Copy link
Contributor Author

The flip side of the argument is that the following cannot be legally redistributed by anyone except the original author because there is no license agreement...

https://github.com/arduino/Arduino/blob/master/libraries/Ethernet/Dhcp.h
https://github.com/arduino/Arduino/blob/master/libraries/Ethernet/Ethernet.h
https://github.com/arduino/Arduino/blob/master/libraries/Ethernet/EthernetClient.h
https://github.com/arduino/Arduino/blob/master/libraries/Ethernet/EthernetServer.h

Essentially, the Arduino folks, and everyone else who uses those files, are violating the copyright law.

Of course it is possible for the Arduino folks to recommend a license for third-party libraries. That alone would be a huge benefit.

@matthijskooijman
Copy link

Code without a license is definately a problem that needs to be fixed, agreed. However, arduino/Arduino#1117 and arduino/Arduino#1847 are already tracking this issue.

As for recommending a license, that's definately a good idea. In the library spec discussion a while ago, I proposed a text to at least point out to people that they need some license:

https://groups.google.com/a/arduino.cc/d/msg/developers/R3VCal5FVa0/XgZ1LBvabhYJ

In another discussion, the LGPL license was indicated as less-than-ideal, but no real alternative was settled on yet.

https://groups.google.com/a/arduino.cc/forum/#!topic/developers/QeDMRF__qXs

Perhaps it makes sense to start up this discussion again on the developers list?

@ffissore ffissore self-assigned this Jul 1, 2015
@per1234 per1234 changed the title License Recommend a license for third-party libraries in documentation Jul 3, 2017
@per1234 per1234 transferred this issue from arduino/Arduino Sep 30, 2020
@alranel alranel self-assigned this Oct 20, 2020
@per1234
Copy link
Contributor

per1234 commented Feb 3, 2021

Considering that the Arduino software doesn't currently have any sort of library license detection/enforcement/etc. system, I don't think the specification would be an appropriate place for this. It would make more sense to put it in another document with a different focus, perhaps here:

https://docs.arduino.cc/learn/contributions/arduino-creating-library-guide

There is now an official tool for encouraging best practices in addition to enforcing specification compliance: Arduino Lint. Arduino Lint does have a rule that checks for the presence of one of the recognized license files GitHub's automated license detection feature uses. This is only a warning when Arduino Lint is in the "specification" or "permissive" compliance modes, but it's upgraded to an error when used in "strict" compliance mode. It doesn't currently parse the contents of the file to determine the license type as GitHub's system does with the licensee Ruby gem. It would be interesting to try to add that capability to Arduino Lint eventually in a rule that fails if the license type was not recognized.

@per1234 per1234 reopened this Mar 30, 2021
@per1234
Copy link
Contributor

per1234 commented Jun 7, 2021

I mentioned Arduino Lint's license file check above. The new Library Manager system takes another step in encouraging licence documentation in Arduino libraries by running Arduino Lint on all libraries submitted to the Arduino Library Manager index, and on every release of the libraries in the index.

At the compliance setting used by the Library Manager system, lack of a licence file only results in a warning, but this warning is displayed during the submission process and also in the indexer logs. I believe this approach will result in improvements to the overall level of license documentation in the Arduino ecosystem without requiring a huge effort or causing a lot of disruption.

@per1234 per1234 changed the title Recommend a license for third-party libraries in documentation Recommend a license for third-party libraries in library tutorial Oct 12, 2022
@per1234 per1234 transferred this issue from arduino/arduino-cli Oct 12, 2022
@jcarolinares
Copy link
Contributor

Hello, @jacobhylen this issue is from 2014 and it is not fully related with docs

Whatever actions may be taken into consideration they are not related with this repository.

I suggest @jacobhylen to close this issue

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

No branches or pull requests

6 participants