On Mon, Jun 01, 2015 at 11:28:05AM -0400, Neil wrote: > I did see in the Arduino FAQ that I would not need to give out my > source code, but "... The LGPL does, however, require you to make > available object files that allow for the relinking of the firmware > against updated versions of the Arduino core and libraries." and > "Any modifications to the core and libraries must be released under > the LGPL" This is because of static linking. If you can build the firmware in a way that links dynamically, e.g. by providing a discoverable jump table at the start of a separate segment for the LGPL code, which is not code protected, you can comply. http://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic You might also negotiate a separate license with the copyright owners of the Arduino core and libraries. Such a separate license covers your use of the work, meaning you don't need to comply with the license that others are using. Legalities aside, if you code protect the part and never support field firmware upgrades by other than yourself or your agents, nobody should ever find out you've used the Arduino core and libraries. As soon as you make firmware available in a distributable form, your deceit can be detected by analysis of the firmware. As soon as code protection fails, your deceit can be detected. Such a deceit will have removed rights that would otherwise fall to the end-user. So it is the end-user who would have an issue with you. My opinion is that it is safer to either: - avoid use of the Arduino core and libraries, instead relying on avr-libc, which is Modified BSD License, or; - include the object file, but decline to support relinking, except as a paid service. --=20 James Cameron http://quozl.linux.org.au/ --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .