LGPL and Arduino in Commercial Products

If everything is open source then it isn't much of an issue, since you can provide them
a place to download all the source code and tell them to use the Arduino IDE to build it.

It is only when creating a closed source project/product that also contains some open source LGPL code
that things can get sticky.

I'm assuming that you have some closed source?

Usually it isn't that bad when using real makefiles since since you have full control over the build process
and can do more a more traditional build process of compiling, archiving, & linking and
can create separate archives/libraries for the closed source that can be used
without having to have the source to the modules inside the archive.

With Arduino, it is a very good question.
I'm not sure how to properly fully comply when using the Arduino IDE because
the IDE hides so much under the hood and doesn't have a way to use pre-compiled objects
or archives/libraries since it assumes the user is building everything from source.
This has come up a few times in the past in discussions on the forum,
and I don't think there was clear answer that it was possible to fully comply.
I seem to recall one answer as being to just provide a copy of the tmp build directory
(which includes all the objects) and then let the end user figure out how to use it.
In my mind that doesn't really comply with the spirit of the license.

There are companies out there that do at least try to comply.
I've seen tar images that include the makefile files and binary objects to closed source
for things like GPS devices, Tivo, and cell phones.
While I'm sure they are trying to comply, in some cases, I never got the feeling that I could really
rebuild everything - although I never tried.
In fact on Tivo, it was impossible to rebuild the code due to a loophole in the 2.x license agreement.
And that is part of what lead to the creation of GPL v3.
I've also seen cases where there are clear violations.

For something that seems like it would be easy,
It can be a sticky issue.

Also, keep in mind that some of the Arduino libraries, especially 3rd party libraries
are GPL and even GPL v3.
In order to use those libraries you must open source your code as GPL V3 as well.

--- bill