A post on Slashdot sparked a lively discussion about the GPL, and whether companies that use open source code in embedded devices, are in violation of the GPL if they release their source code without a build environment or instructions.
Speaking about two unnamed hardware companies, Malvineous wrote, “The companies release all their source code to comply with the GPL, however neither of them include a build environment or firmware utilities with the code. This means that if you want to alter the free software on the device, you can’t — there is no way to build a firmware image or install it on the devices in question, effectively rendering the source code useless.”
So is holding back required components of their software, which is based on open source code, a violation of the GPL or and end run around it?
“It’s a straight up violation,” QuantumG said. “Go find the author of the software… any author of any part of the software will do.. and invite them to sue the manufacturer. Direct them to the Software Freedom Law Center.”
But some argued that the problem is that the GPL is too confusing and difficult to tell whether you’re violating it or not.
“If it is so difficult for you to understand if you’re violating the license, simply don’t go near GPL code,” abulafia advised. “This makes it extremely simple to know you are not violating it.”
Compared with commercial licenses, the GPL is pretty straightforward.
“The GPL is one of the easier licenses out there to understand, and there are reams of discussion about what it means,” abulafia continued. “Try to understand the license that, say, Oracle grants you without a copyright lawyer at your elbow.”
But ultimately the question of whether embedded components, using open source code, should be released with complete source code and build instructions rests on which version of the GPL the companies in question are using.
It appears that GPL version 3 does require that the source code be usable, but you might want to talk to a lawyer.