jcchurch13 / Mechaduino-Firmware

Hardware available here:
http://tropical-labs.com
Other
389 stars 233 forks source link

Licensing Questions #27

Open jceipek opened 6 years ago

jceipek commented 6 years ago

I'm evaluating the Mechaduino for use in a client project, and it's very promising so far. However, I'm a bit confused by how the licensing is intended to work as it relates to commercial projects.

I'm a huge fan of the open source community, and I try to release my own software projects under the MIT license where possible, particularly in situations where my code can easily be adapted for use by others.

Crerative Commons recommends against using CC licenses for software, see https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software, and as such, I have some questions related to using a Mechaduino in a bespoke client project where I have to assign copyright to the client:

  1. The Share Alike provision implies that all modifications must be released under the same license. What is your intent here? Because of how the Mechaduino code is structured, basically every project that uses it needs custom modifications to the parameters and to the Mechaduino.ino file which are essentially useless to everyone else. Do you want everyone to share these types of changes?

  2. The Mechaduino is only useful in the context of a larger hardware/software ecosystem. For example, there might be a program running on a laptop that communicates with the Mechaduino using a serial protocol. Would such a program also need to be released under the same license?

  3. The CC-by-SA license is incompatible with other software licenses. Does that mean I wouldn't be able to use any libraries licensed under different terms in conjunction with Mechaduino?

  4. If I use the Mechaduino, I would like to share the improvements I make. In particular, I would implement #25, substantially improve the PID tuning experience, and possibly implement #19. For PID tuning, I would create a program that graphs yw and r and allows users to adjust P,I,and D while the motor is following a square wave. Would I need to release that program under the same CC-by-SA license?

  5. If I implement #25, I would like to improve the documentation pdf and release the new pdf under CC-by-SA v4. Could I get access to the source files used to make that pdf, for that purpose?

Thanks in advance!

jcchurch13 commented 6 years ago

The intent of this license is to keep any derivatives of the Mechaduino Hardware/Firmware open source. The CC-BY-SA license seems to capture this intent better than any other license I am familiar with, but it is not perfect. I'll try to advise on your specific concerns, but these are just answers off the top of my head. (I haven't spent too much time considering every possible scenario. The answers below do not supersede the actual license, they're just my best guess at interpreting it). I haven't consulted our legal team on this, and I hope not to need to ;) In general, please just use your best judgement.

1)No need to share minor parameter changes. If you add some functionality that someone else might find useful, please share it.

2)If you develop something specifically to interface with the Mechaduino, please share it.

3)If you want to use the Mechaduino with an existing library that uses a different license/is closed source, that seems fine to me. If you develop a library specifically to use with the Mechaduino, but you put a more restrictive license on it, that would not be cool.

4) Awesome! If you were to develop software tools for the Mechaduino, yes, please release them as open source. I'm not sure if this falls under the scope of the CC-BY-SA share alike requirement, but I personally wouldn't have a problem with you releasing any original code you develop for tuning the Mechaduino under a less restrictive license like the MIT license.

5) Awesome! We are about to release a long over-due update to the manual. When we release this, I'll release the source files to the pdf so that others can modify.

Thanks for asking! -Joe