Linksys Still In Violation of the GPL?
A reader writes:"From a recent post to LKML: "...Clearly, the kernel source that Linksys provided cannot be used to recreate the kernel that they are shipping with their product. Therefore, they have been, and still remain in violation of the GPL." Several heavy hitters have signed this one, including Jeremy Allison and Alan Cox." There's also commentary from David Turner and Bradley Kuhn of the FSF.
I'd be much happier if companies were forced to release good, unhindered specs/APIs... I don't care if you didn't give out your specific implementation, fine... whatever... but give me the means to create my own implementation that can function the same as theirs. Is that soo much to ask?
---
Programming is like sex... Make one mistake and support it the rest of your life.
What's the big deal anyway? The thing uses proprietary hardware, so in order to reproduce it, you'd also have to have the masks to make the chips anyways. So they stand to lose nothing by not publishing the source.
The article references that Samba has also been abused in this matter. Has this been resolved?
Davak
They are shipping software: loaded on the hardware.
If someone released source code under GPL, do they also need to make sure that others can compile it? These guys use "we can't compile it" argument just to prove that the source code is incomplete but suppose that linksys ported linux to INTERCAL++ and released full source code but did not provide the compiler they made in-house. Would that still violate GPL?
Gentlemen, you can't fight in here, this is the War Room!
The GPL license however has been concocted to prove a point, politically. It does not say "here, do with it as you please". It says "I'll show you mine if you show me yours". Quid pro quo. Linksys has taken the quid, now they need to give us the quo.
Pathman, Free (as in GPL) 3D Pac Man
If Linksys is implementing a bunch of extra functionality through kernel modules, they would not have to release that source because of the GPL. A module developer can cover the module under any license that they see fit.
However, if Linksys is using an existing GPL'd module that they have tweaked, then they would be in violation of the GPL. My thinking is that they are employing the former rather than the latter.
-Runz
All code that is part of the derived work is covered under the GPL. In the case of the kernel, the only code that is not part of the derived work is code which only accesses the kernel through the kernel modules API. But anything that is inserted by the modules API is not exported by the kernel. So, regardless of binding third-party agreements, the code directly added to the kernel resulting in the exported symbols of bcm_*, pkt*, dma_*, sb*, osl_* and srom_* are part of the derived work. To honor the third-party agreements, you must discontinue redistribution of the derived work. Please read Clause 7 for details on how your third-party agreements effects redistribution of a GPL derived work.
Anotherwords, you have cleared nothing up. Linksys is wilfully and with full knowledge violating of US Federal Copyright law. Declairing that code is not covered by the GPL does not make it so. Ensuring that the code is only access via the kernel modules API is the only way to correctly declair it is not part of the GPL derived work known as the Linux kernel. Not all of the derived work is provided in source code form from Linksys and by choosing to lie/declair that it is can only make the mess Linksys has choosen to cause even bigger.
Let me get this straight... If you use GPL, you are supposed to reveal ALL the code you have even if it parts of it was designed completely independently? You want companies to reveal all their silicon secrets just because they are using Linux to access the silicon? They should give credit where credit is due but there is no reason for them to reveal the internal workings of their silicon, etc. Get real.
The GPL is real, and it is about sharing. If all they want to do is give credit then there is always BSD code available. I wonder if they would be asking as nicely as they kernel group is if they thought Linux was violating their license?
Time is what keeps everything from happening all at once.
post a rant on slashdot. It's well known that the RIAA, MPAA, Microsoft, SCO, etc. read weblogs to find out what uninformed 12 year olds think of them, and change business practices accordingly.
You may think that's funny but the fact is, a lot of mainstream net media do troll through these articles, at least looking for a consensus on the general mood, and sometimes finding an interesting lead or two no doubt.
Try this: google "slashdot site:www.usatoday.com"
Admittedly, the qualify of the posts often leaves much to be desired in terms of factual content, however you will generally see challenges to posts that are blantantly wrong.
Have you got your LWN subscription yet?
We've also been trying to get the Zaurus development house the Kompany to comply with the GPL but have so far been ignored. They've released a port of Kpatience, a card game originally for the KDE desktop. Despite claiming this is a GPL-compliant release they are charging $50 for source to the $6.95 program. Their only response so far is to claim that $50 fee is legitimate because of their hosting fees. Any suggestions for encouraging compliance?
I'm not sure I understand why everyone's so sure they're violating the GPL. If the missing kernel modules are entirely original, why are they required to release them under the GPL? AFAIK, you are only required to release source that contains GPL-ed code, or that is based on GPL-ed code. If you write a kernel module from scratch, it is not bound by the GPL - Linux API compatibility notwithstanding.
Agreed we don't know if their code is original without seeing it. But if it's original they're not obliged to show it. That's the catch-22 of the GPL I've always found interesting.
However, what we have with Linksys is allegedly a willful attempt at deception on their part. I like Linksys and I hope this is some misunderstanding. However, I will not give my money to (and thus not depend upon their products and services) someone that I can't trust. I need to know that by spending 20,000 USD on their equipment will be a good decision now and 10 years from now. That means no funny business that will screw me into lowering my productivity until I can find time or pay someone to create workarounds... or get all new equipment. For my home equipment I don't mind tinkering a bit as long as I have absolutely nothing else to do, like spending time with my wife and child. This perhaps is the problem many "open source" contributers fail to realize... if I can more cheaply pay for software than it costs me in time and money to setup the basics for some application then I will go with the paid solution even if it is closed source. Sure I "have access to the code and can damn well fix the problems myself" but then again, I have full access to every thread of my clothes, every nook and cranny of my vehicle, all the components of my house and every appliance within it and I can easily go buy surgical equipment for me to operate on my family. However, the issue here is that many must weigh their limited time against the benefit of "doing it yourself."
A robust API lets me stand on the shoulder of giants instead of recreating the wheel. The better designed the API and underlying framework is, the more efficient it is to use it. If to get anything done beyond some sort of "Hello World" functionality requires ugly hacks and workarounds that will break upon later releases then that is NOT a good product. (Still, this is not to say that a car's inability to be easily converted to a Lunar mining vehicle does not make it "crap")
I'm with you.
I noticed that there are three 'definitive' replies to your hypothetical query, and they all disagree with each other to some extent. If a careful reading of the license doesn't clear matters up (and doesn't even give a consistent answer from three self proclaimed knowledgable sorts), then avoid it.
Furthermore, there's no telling if the GPL has any validity whatsoever in court. A few partisan lawyers have decided that it does, but that's far from a legal ruling.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
Wow if I was a moderator right now I would wish I would have 1/2 insightful and 1/2 troll. I personally like the BSD license I find it to be the most productive and beneficial to human kind. But going the GNU is Communist that is pushing it, If GNU was Communist then It would be more like free software that you cannot sell for any reason because it already belongs to the comunity.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
In your last example, a custom compiler inserting binary code, it is NOT clearly a violation.
The GPL does NOT require that you are able to compile the code... only that if you make modifications to someone's code, you release those modifications.
The GPL does not requier that you have the technical means to take and use other's code.. only that you are allowed to use it legally, and that the code is made availalbe to you.
If I port something to VC++, it is not a violation just because you don't have a copy of VC++. Using my own custom compiler you CANT get is irrelevant.
So.. the compiler-that-inserts-code example could perhaps be a way to subvert the intent of the GPL..... at least the way I read it.
There is a second subversion also.
The GPL allows you to statically link against things that are a normal part of the target system. You can write a GPL app for Solaris that is linked against Sun's LIBC, which definately isn't open source, for instance.
This, of course, is open to interpretation... the SUN example is obvoius. what if I say that somethign is built for my particular distribution of linux I use in-house, which has some commercial non-free libraries.... am I violating the GPL by distributing osmeting linked against them? Not if the intended target is that platform, and that platform only... by the letter of the GPL, that is allowed. The fact that it LOOKS like another platform that you want to use isn't relevant.