It's very hard to explain this in one short post. I am bringing this up as a suggestion for a future episode.
It all started with this thread on the kernel mailing list by Karen Sandler. It got some attention in the media, such as this piece by sjvn: Linus Torvalds' love-hate relationship with the GPL. But it touches on a very deep issue about GPL, and I didn't want it to be buried in the news.
If you have time, you can follow the mailing list discussion (especially the short back-and-forth between Linus Torvalds and Mathew Garret) for yourself. If you don't have time, read my conclusion here:
The core issues is, developers benefits from the GPL since they get the code back from big players who use and extend Linux. These big players (the likes of Intel and IBM) do respect the copyleft in the GPL and actually give the code back, because it also benefits them to do so.
However, there are thousands of small companies who sell devices with Linux, and these companies never publish any source code for their products, although they legally have to. The likes of Linus Torvalds are against doing any legal action (GPL enforcement) over these companies, because even if these companies comply, the developers get nothing useful (no original new code) from such companies to put back into the kernel. Therefore, they think it is OK to leave them violating the GPL, otherwise, we just make potential future contributors to enemies.
Problem is, although those small companies add no innovation to Linux, they bring a huge impact to the lives of actual end-users, because those are the devices that the end-users are using. By doing GPL enforcement, entire business areas learn that they should provide the source code to their products, otherwise they get into trouble.
Not doing enforcement over those small companies may make no harm to Linux developers, but makes a big harm (takes away freedom) from the many many end-users all over the world, the type of people who may never got into kernel development, but would certainly benefit if their dumb router gets a security update, or their fridge gets a custom firmware that increase the life-span of their device.
So the question is, who the GPL should work for?
- The developers who are involved in the upstream project, and never want to make anybody (even the GPL violators) upset, in the hope that the violators may some day become big and start to contribute original code to Linux?
- Or the end users, who use devices that use very old Linux technologies, but may actually benefit from having a truly free software running on their devices?
Do you see the dilemma I am trying to describe? Any thoughts?