https://www.softwarefreedom.org/resourc ... guide.html
http://www.gnu.org/licenses/gpl-faq.htm ... JustBinary
I am really getting tired of all the software piracy going on by vendors of Pi accessories.
Yes, piracy. I am one of the authors of the software included in the Linux Kernel and a few of the GPL sources which comprise the distributions which run on the Pi.
I won't name names here, but barely a month goes by where there is some new accessory that connects to the Pi, that includes a BINARY ONLY image or package. And absolutely NOTHING about where I can get the corresponding build source. The source and build instructions which are required to comply with the terms of the Gnu General Public License, version 2 or version 3. Binary, sometimes a new binary. No source. Or a bunch of patches that fail with every kernel tree I try. Or even when patched, the hardware doesn't work because they forgot something or modified something else and forgot.
Note you can do a fully proprietary module if it is entirely your own work and link to the existing kernel. It isn't that hard. But you can't even make a single patch to the kernel and distribute the binary without distributing the corresponding source.
It must be the corresponding source. You are in violation if you just claim the code is "somewhere out there" and have a bunch of patches that might or might not apply cleanly to no one knows which one of the hundreds of versions of the pi kernel but fail everywhere else, and don't mention other settings or modifications not included. The whole point of the GPL is to allow me to recreate the SPECIFIC working binary. Even if you maintain a parallel development kernel tree, you need to tell me which exact checkin was used to create a binary.
I really don't want to start sending out DMCA takedown notices or their equivalent in other countries to everyone, but if nothing happens, I'm going to start being militant about the GPL.
If you do want to put up a binary-only, at least have the decency to put it up on one of those torrents with the other pirated material and mention it using a fake account in a product forum.
Otherwise, please at least note the "oops" where you are distributing existing binaries and replace it with a binary with corresponding source ASAP. Everywhere there is one of your own pages linking to the binary, there should be a corresponding link to how to get and build that binary from the sources.
Instructions and recommendations are given at the links at the top of this post. It isn't hard and you don't have to duplicate every source file included. But you must give sufficient instructions for anyone who wants to recreate the binary to find and build it.
The Pi providers could do a better job of adding a label on github when they select a particular version to be a binary, I shouldn't have to go through a complex process to find the corresponding source on github, but I don't consider it noncompliance since I can find it by following a well documented if tedious process. I'm asking vendors to do at least that much, tell me how and where I can find the sources.
You are benefiting from my work and the work of thousands of others. The GPL was designed so that sharing would occur. That is why they REQUIRED to make the modifications and build instructions available when publishing a binary. And that is why I chose the GPL. I find nothing more unfair and unjust for people to use my work for free, then make me spend several hours trying to find out what scattered pieces of different versions of code out there are required to make a kernel I'm loading work like a binary image with a new piece of hardware.
If you don't like the GPL, find another OS under a more liberal license that doesn't require distribution of sources. They are out there. And make a binary image of that and don't include any of the GPLed components and use that with your accessory.
The community can and should do better. It is legally obligated to do so.
If you are a just a user, and see a binary derived from GPLed source for the Pi (the Linux Kernel is one, but most of the user programs are too), look for the exact corresponding source used to create it, and if you don't find it, politely ask for it. Unless they are the sole author, and the program is not derived from other GPL code, they have no right (unless they obtain such permission) to distribute the binary without the source.
We need to keep software free - as in freedom. The freedom to study. The freedom to modify. The freedom to build your own version and make your own changes.