Adafruit libraries license

Forum Administrative - NOT PROJECT OR "HELP"

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
lu_developer
 
Posts: 4
Joined: Sun Dec 01, 2013 8:00 am

Adafruit libraries license

Post by lu_developer »

Hi,

This is a bit urgent as using / not using your libraries is what i'm currently pending on, and so my work is at halt.

The question is simple, and it's a matter of "doing things the right way" rather than "practical".
Scenario is : up to 20-30 INA219 boards would be used by our people as a development / testing instrument, not as a product.
To control this from PC, i'm using a usb<->i2c, and, the actual sw that would be used is a python system we built, which is built on information from INA219.

So the question is, am i allow to look at your c++ code samples and mimick them completely in python? is duplicating this script inside our company means "redistribute" them (internally, but still, it's more than the initial machine. i read the license and the border is quite gray here). This is python, so is this account for "source publishing", or "program publishing" ? do i have to include your license header inside the python duplication i made? must i publish this outside (the web) if it's used internally by the company as a tool (that will help building our product, but still a tool, and will not be included in the product itself)
By mimick your code i mean either copy paste it to a new document and convert the code to python, or looking at it and writing a fresh one.

I'm asking this because IMHO you guys are doing great job with your products and i want to make it right, all this os licenses are a big confusion to me, too much definitions, too much cases. So i though to myself it's easier to ask the author...

Thanks in advance.

User avatar
adafruit_support_mike
 
Posts: 67446
Joined: Thu Feb 11, 2010 2:51 pm

Re: Adafruit libraries license

Post by adafruit_support_mike »

lu_developer wrote:So the question is, am i allow to look at your c++ code samples and mimick them completely in python?
Yes. We encourage people to do that.
lu_developer wrote:is duplicating this script inside our company means "redistribute" them (internally, but still, it's more than the initial machine. i read the license and the border is quite gray here).
No. Even under the GPL (which is more restrictive than the BSD license we use), distribution within a company counts as 'private use'.

'Public distribution' occurs when someone outside your company has to get permission from you to use the code you've created. Under those conditions, you have to tell people about any Open Source code you've used, and you can't put more restrictions on that code than the original Open Source licenses do.
lu_developer wrote:This is python, so is this account for "source publishing", or "program publishing" ?
For interpreted languages like Python, they're both the same.
lu_developer wrote:do i have to include your license header inside the python duplication i made?
Not if you don't want to.

Our copyright applies to the C++ files themselves, and to copies that only make trivial modifications to the original. Since you'll be writing your own code in Python using ours as a reference, this falls under the heading of 'creating derivative works'.

That gives you even more freedom than an Open Source license, because the code in our INA219 library is mostly an implementation of the "how to communicate with the chip" instructions from the INA219 datasheet. Even for non-Open code, the law grants creators of derivative works the right to use code 'substantially similar to' a protected work if it performs basic operations, or is necessary to communicate with something the owner of the original code doesn't control.

As supporters of Open Source, we encourage you to consider publishing your version of a python INA219 library as Open Source too. That way you can make someone else's life better. You can do that without having to distribute the whole tool you're building for use within your company.

As a practical matter, we also encourage you to mention the Adafruit libraries in your version of the code. It will make life easier for anyone who works with your code in the future. They'll be able to use the same references you did.
lu_developer wrote:must i publish this outside (the web) if it's used internally by the company as a tool
No. Open licenses don't require you to distribute your work to the public if you don't want to.

All they do is set the rules for how you handle Open code if you do redistribute it. You can't copy our libraries, strip the headers off, put your company logo on them, then charge people a licensing fee to see or use them.
lu_developer wrote:I'm asking this because IMHO you guys are doing great job with your products and i want to make it right, all this os licenses are a big confusion to me, too much definitions, too much cases. So i though to myself it's easier to ask the author...
The basic idea of Open licenses isn't that hard to understand: it's mostly just, "play nice", and "if someone wearing a suit spends more than two minutes explaining why it should be possible to do something that sounds fishy, it's probably illegal." ;-)

lu_developer
 
Posts: 4
Joined: Sun Dec 01, 2013 8:00 am

Re: Adafruit libraries license

Post by lu_developer »

Thanks a lot for the professional & comprehensive reply, you helped me a lot in clearing out the fog regarding this :)

dudekzbranne
 
Posts: 1
Joined: Fri Jun 13, 2014 9:06 am

Re: Adafruit libraries license

Post by dudekzbranne »

Hi,
Thanks for the useful discussion that has appeared here last December. I would like to continue it with a related question.

Say, I would want to use an example code from one of your libraries. I don't intend to redistribute your libraries, just link to them so that others can find them easily. However, I would like to rename and modify one of the example files that came with your library. I would note that the code originally comes from you. Your libraries and the included examples come under the BSD license. But I would like to keep all code published in my repository under the GPL license for consistency. Is it possible to 'convert' your code over to this GPL license for this purpose or would that be a breach of the original licensing conditions? In that case would you advice to keep a separate license for that single file that originated in your labs?

User avatar
adafruit2
 
Posts: 22148
Joined: Fri Mar 11, 2005 7:36 pm

Re: Adafruit libraries license

Post by adafruit2 »

it is possible to relicense BSD code as GPL - its considered 'un optimal" but fine by us in this case :)

Locked
Please be positive and constructive with your questions and comments.

Return to “Administrative (closed)”