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.
So they are in violation. Who the fawk is actually going to DO anything other then sign statements and generally complain. WE NEED SOMEONE TO TAKE THEM TO COURT!
I am sick of all the complaining and no action. Put up or SHUT UP!.
Is that soo much to ask?
Not at all. If they want to not release their source code, they're perfectly free to do that...but of course, they're then perfectly welcome to not use GPL software to build from in the first place, what with that being the deal and all.
If you don't like the license terms, then use BSD or QNX or something else. Linksys knew the terms, now they have to abide by them.
Where's my lobbyist? Right here.
"Isn't it enough of a victory for the profession that they have used an academically based operating system rather than a commercial one?"
Umm, No. It isn't a victory at all. Anytime a corporation attempts to co-opt the hard work of others and not abide by the GPL which has gotten GNU/Linux where it is today, its a loss for us all.
"They could conceivably switch to Windows"
Fine with me. They can feel free to pay Microsoft royalties on every unit shipped as well.
I don't mean to sound mean, but you must be new to the opensource movement.
If you wanna get rich, you know that payback is a bitch
I expect someone clever enough could rip out the interesting bits, or port the whole damned thing to another card if interested enough. The philosophy, I believe, is that the community should be able to decide whether it's worth it.
Or, look at it this way - if no one could conceivably do anything with their source, then they have nothing to RISK by releasing it, huh?
-Looking for a job as a materials chemist or multivariat
*Sigh*... no, they don't. First, go and read the damn license, OK?
The problem this time round is that Linksys have released some kernel source code, but the code they have released is not sufficient to build a working kernel (minus the binary drivers for their wireless stuff, which don't have to be released under the GPL because of Linus's binary module exception).
Effectively, they've just given back the community exactly what the community gave them, without contributing the changes they made that the GPL requires be released under the GPL.
It may look to the outside like knitpicking. But rights have to defended or they lack all meaning. And we seldom get to pick and choose our adversaries, or the time of battle.
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
well, the whole rationale and underlying spirit of the gpl is that the whole community should benefit from their modifications/improvements since they benefited from the preexisting gpl'ed code, and then we should be able to turn around and integrate our own improvements and do whatever we want with the new source. (hence 'open' source)
and secondly, the thing is probably flashable by software, so you could theoretically add new features to the firmware by taking their source, modifying it, compiling it, and flashing it to the device.
-fren
"Where are we going, and why am I in this handbasket?"
No it is not . If they want to avoid the huge licensing costs of windows they must abide by the licensing terms of the OS they select (in this case linux) . .
If they want something witch they can turn into a propitary system then they should go with one of the BSDs , if they chose linux then they dam well better abide by the rules
Really, this couldn't be a worse time to go after Linksys. With the SCO case looming over everything, GPL software already looks like a risky investment to people. Now the GPL folks are going to go after Linksys?
Great. So now the perspective of someone who doesn't know the details of either case (Which probably makes up a large share of bosses who would have to sign off on any adoptions of GPL software) will look at GPL software, and see that using it gets you sued from the outside and the inside.
This is going to be bad.
Philip Sandifer's academic website
In the most part I like the GPL. But problems like this make it hard for companies to adopt GPL products. When they are required to release their own IP code. This makes it very hard to convince your Boss who has been for years working to keep the IP code their IP, To prevent cheap ripoffs of their products. Now that there are people strongly enforcing the GPL a lot of companies will be afraid to use it. Good job guys at magnifying Microsoft Concerns on the GPL.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
That discussion was about the modified version of GCC Linksys used that was created by Broadcom.
The issue here is Linksys added additional files to the kernel (not modules) but didn't include them in their source distribution.
You can't even successfully run make config on the code they're giving out, let alone actually build a kernel.
Yes, it's called embedded software
It's a snazy new way of making softwar, maybe you've heard of it? It's only been around for 50 years or so...
"Some things have to be believed to be seen." - Ralph Hodgson
They only have to release their code if it is part of a derivative work based on the GPLed code. A port of the Linux kernel to INTERCAL++ would probably be a derivative work, but the compiler might well be a separate work, so they would not need to release its source. But if the reason that it won't compile is that part of the source of the program is missing, then that's a sign that they have not published part of the derivative work.
Isn't it enough of a victory for the profession that they have used an academically based operating system rather than a commercial one?
It may be nice to see a major player using Linux, but if nobody makes noise about them violating the GPL, it could have bad repercussions down the road. Not enforcing (or at least trying to enforce) the GPL now gives ammunition to anyone litigating against it in the future. Someone like SCO could argue that not going after Linksys means that the FSF know the GPL is unenforcable, and therefore invalid. Or thgey could argue that not enforcing license terms on the kernel means that the kernel copyright has no value and can therefor be violated without consequences. It's better to send nastygrams now and risk alienating Linksys than not to send them, and risk seeing SCO or MS own Linux.
They could conceivably switch to Windows
Good! Linksys DSL/cable modem routers are pretty insecure by default. Let them generate bad PR for Windows insteads of Linux.
0 1 - just my two bits
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
Err, well, no.
It actually uses, for instance, a set of chips manufactured by Broadcom. Anyone else building an embedded system and looking to use those chips -- or writing drivers for PC hardware based on those chips -- would have a great deal of use for these drivers.
Wow, the letter linked certainly is informative and damning, and you are correct, there are some big signatures at the bottom, but in the corporate world, it all means nothing. If you're so sure about it, and want to stick up for the GPL, then sue them. Us ranting about it here won't do anything at all. Even a letter to some mailing list, signed by some big names in Linux, means absolutely nothing to them, because there are no consequences to LinkSys for ignoring them. And that's the bottom line.
... what if a company contacts out some aspects of their firmware design to a third party, but the parent company themselves uses GPL'd software. Say I hire AcmeSoft to write a driver for me for a router I'm making. AcmeSoft delivers some statically-linked binaries to me (but no source code), which I statically link into the GPL'd source code and in-house source code that my guys have written. Now, I make all that GPL software and my in-house software freely available, but I can't make the source for that driver from AcmeSoft available, because I don't have it. While technically, I'm in violation of the GPL, but if I've done all I can (short of pressuring AcmeSoft for source (which they won't give me) or ditching Linux altogether), am I really such a bad guy?
Responding to the accusations would cost money. Ignoring them, at this point, won't cost them a cent, because it's just a bunch of guys bitching and moaning on a mailing list, and here on Slashdot. Until someone with the stones (and the coin to back it up) steps up to the plate with some legal papers, absolutely nothing is going to happen.
That said, I have a question
Like woodworking? Build your own picture frames.
As a software developer the GPL scares me. Personally I try to stay far away from using any GPL code because I am affraid I will not properly credit it or in some other way infringe on the licence agreement. For instance, I don't have a clue whether or not its ok to use a dynamically linked GPL library with a closed source app. Honestly I don't even really know how I would find answers to this short of posting here or hiring a lawyer.
As a result I probably end up writing a lot more code from scratch than I probably need to. I usually avoid all types of "open source" since im affraid ill accidently do something wrong.
One thing that I would like to see is developers changing the license on some of their code to a less restrictive license once the code becomes very trivial. That is once the code has reached a point where there are MANY other implimentations, and development has stopped, it would seem to me that the GPL would do more harm than good.
Thats just my take.
Grrrrr... don't bother me, I'm thinking.
Ummm... Doesn't GPL become invalid or at least greatly diminished (in the eyes of the court) if derived code is not released as part of the package?
myke
Mimetics Inc. Twitter
You've just noticed the point of the GPL in the first place. Congratulations.
People license their code under the GPL because it protects their code from being commercialized. Nobody sells GPL code, and therefore anybody who uses it, must use it per the license. The GPL provides a way to ensure that if you give your copyrighted code away, then nobody will take advantage of that trust. In short, nobody can improve on your property and use those improvements to their exclusive benefit. Any improvements must necessarily benefit everybody. period.
And if companies don't like that idea, then they shouldn't use GPL code. tough.
-3Suns
~~~~
The Revolution will be Slashdotted
The big deal is that kernal developers wrote this code and they have the (copy)right to determine how it is being used. Linksys has broken the terms of the copyright licence. Just because the kernal developers have a more permissive license than proprietary software does not give people the right to do whatever they want with the sofware. Just because the copyright is not held by a large corporation, does not mean that they can get away with breaking the licence. Just because the license demands source code instead of money in exchange for the right to modify the software, does not make it any less valid. A licence is a licence and what Linksys is doing is illegal - no different than if someone were to ship with copies of Windows in their hardware without paying for licences.
The main point is that we need to inforce the GPL and out of principle and fairness. It wouldn't be good to crack down on licence violations in cases where we have something to gain and then willingly turn a blind eye to others. We don't want to be seen playing a bait and charge game like what happened with GIF and MP3. We need to be diligent and fair in this manner, find out what source is not being released, and who is holding it back (be it Linksys themselves, or one of their partners), and see to it that they obey the terms of our licence. If we don't, then people will get the impression that we don't care if they violate our license.
Now, if availability of this code helps someone, then great - that's why the GPL is written the way it is. And at the very least there are people that would enjoy having the code. But even if no one ever used the source, we would be setting a very bad precident not to press this issue.
BTW, Cisco uses Linux in some of their devices as well. I know at least about Cache Engine (maybe it's called Content Enginge today), their FibreChannel switches and VMPS server. Do they make mods to the kernel available somewhere???
Wrong, they are 2 seperate things....
e reAggre gation
...
With a binary module, you can compile the kernel cleanly, then load your module to talk to the chips. Kernel = Gpl, module = Any license. They are seperate objects/executables.
By statically linking, your code is now PART of the kernel, and beholden to the GPL. Nividia wasn't this STUPID, but you were. If Nvidia had done this, we'd be all over them too.
Face it, you messed up big time, and now want out of your legal obligations.
Is it as easy to break a corporate contract or NDA as you think it is to break the GPL?
Also, about libraries, static and dynamic linking, etc. The reason the LGPL exists is to allow propietary software to use LGPL code without becoming GPL themselves. In the case of Dynamically Linked GPL libraries, this is not really a problem. But for static linking (where the library/code becomes PART of the executable ), then a GPL'd library STATICALLY LINKED with a non-GPL application would cause the GPL to apply to the app too, as it is now part of it. The LGPL though allows static linking without requiring the application to becomes GPL.
Now, several times in the past, some GPL projects considered using closed source propietary libraries. But linking to them statically would require the libraries to release code. Now getting a third party to do that willingly, well. Thus the projects wrote their own to implement the desired functionality ( The now-defunct Free-QT project, as a replacement for QT before QT released a GPL friendly version ).
Buuut, you my friends, knew the risks, and still did it. You obviously didn't read any mail lists, read the GPL, or read the GNU websites.
Sooo, yer still screwed. The Kernel is GPL, it's being linked STATICALLY to your code, so your code is now GPL too.
*Slam Dunk*
http://www.gnu.org/licenses/gpl-faq.html#M
I Quote:
"Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them. "
"If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. "
The last bit SURELY applies to the Linux kernel combined with your code...
Also, this example....
I'd like to modify GPL-covered programs and link them with the portability libraries from Money Guzzler Inc. I cannot distribute the source code for these libraries, so any user who wanted to change these versions would have to obtained those libraries separately. Why doesn't the GPL permit this?
There are two reasons for this.
First, a general one. If we permitted company A to make a proprietary file, and company B to distribute GPL-covered software linked with that file, the effect would be to make a hole in the GPL big enough to drive a truck through. This would be carte blanche for withholding the source code for all sorts of modifications and extensions to GPL-covered software.
Giving all users access to the source code is one of our main goals, so this consequence is definitely something we want to avoid.
More concretely, the versions of the programs linked with the Money Guzzler libraries would not really be free software as we understand the term--they would not come with full source code that enables users to change and recompile the program.
Just substitute "Linksys" for "Money Guzzler"
Note the words "Linking" and "library". Statically linked kernel code is much more tightly joined than a library... So if it applies to propietary libs, it applies to kernel code.
Ignorance of the law is no excuse. Your company would ruin peoples' lives for breaking contracts. Yet they cry fould when they're the ones under the gun?
This is part of the reason some consider Linux to be viral, some actually believe that code running with or under Linux is required to have it's source available to all those who want it, that would be a big no.
Unless you're statically linking your code to GPLed code, as in Linksys' case.
Signatures are for stupids.
Hopefully your company is making the GPL portion of the code available as it should be doing. That is all that anyone is asking of Linksys. Nothing more. It is nice to have more details of interfaces, etc. but it is definitely not required. In your case and in the case of Linksys the remainder of the code may be proprietary and you may not want ot release it. As long as it is not statically linked then it can remain secret.
Of course you have a point.. BUT
As someone who develops software either using or in conjunction with open source, I personally much prefer the BSD license. Their philosophy is not 'bend over', but more that software should be a commidity for any use, without restriction.
Even with this philosophy there is a significant amount of quality software that gets 'donated' back into the community. For example, the netgraph system in FreeBSD. That is a significant piece of work.
I just prefer the BSD style philosophy rather than the draconian enforcement of the GPL.
In some cases, they can't release complete specs for the hardware, because some of their proprietary stuff (or, worse, other people's) is in software.
If you have secrets to keep, then do not statically link your precious secrets into the kernel. The kernel specifically allows binary-only loadable kernel modules. If Linksys had gone this route, then the community could compile new kernels and still use the secret loadable kernel modules -- without source.
Even better idea: if you have secrets to keep, not only don't statically link to the kernel, but don't even use open source. Please. That way I'll have more motivation to buy your competitors product.
The price of freedom is eternal litigation.
Yes, but the kernel has an exception to the license, allowing people to link dynamically to the kernel without being bound by the GPL.
This is why nVidia's drivers are OK: they are linked dynamically. The problem is that Linksys' stuff is linked statically.
It's always a long day... 86400 doesn't fit into a short.
Isn't it odd how, according to Joe Slashdot, copyright is so important when it relates to the GPL, but so irrelevant when it relates to music or movies?
Cases like this are exactly the reason why copyright law should have teeth and be respected: copyright is, in general, a good thing and an important defence of the rights of people who create work and allow others to use it.
However, when it's wholesale abused by large subsets of the population -- many, many of whom arrogantly proclaim their support for that abuse right here on this forum -- it's no surprise that other big companies turn around and slam it back in society's collective face. Did no-one see this coming?
I won't be at all surprised if Linksys wriggles free of all charges on a legal technicality, just as numerous blatant copyright infringers have done when prosecuted by the big media groups. It's just a shame that we have evolved a culture where copyright lacks respect to such a degree, and now the hard workers who create good things like the Linux kernel suffer because of the prevailing greed of song-swappers and the pirate movie business.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
RTFM
Its not about a couple of kernel modules , they modified the kernel!
don't you mean "our stuff"?
GPL clearly says that For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable..
Since you proprietary compiler is not what is normally distributed with the operating system on which executable runs, it falls into category of scripts to control compilation.
Rule is, indeed, simple and language independent, if you distribute binary of the GPLed product, you have to also distribute means to recreate this binary (and install it) from the source code you also provide (with the narrow exception when those means are readily available to your fellow developers.)
Well, now as I come to think about it, machine readable means represented in symbols for which standard mapping into bit sequences exist. And customary media means you do not to go out of your way in order to feed the source into you computer.
Speaking of paper copies, punch cards used to be a customary media, and if OCR software were cheaper and more reliable, there would be nothing wrong with printed copies either.
That summary is incomplete:
1. They also show with great detail that the downloadable binary contains symbol names not contained in the published source.
2. They don't say "we can't compile it", but "compiling the network gives errors about missing files."
3. Since the distributed binary comes with network support, yes, "2." alone would already be enough to show that the GPLv2 has been violated (see section 3, the part about what "source code" is defined as; see quote below), even if just some script is missing.
If someone released source code under GPL, do they also need to make sure that others can compile it?
Depends on what you mean by that. Of course, they don't have to handle the case if your system has a broken installation. If you mean, whether they have to assure that you have everything needed to compile it, then the answer is: yes, with one exception (from section 3 of the GPLv2):So, yes, they have to make available everything needed to create the binary from source, except what is easily available elsewhere.
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?
That rule above is also the reason why you cannot simply create a special compiler in order to circumvent the GPL. The compiler wouldn't be usually distributed with your OS, so it is not covered by the exception, and you have to distribute it with the source.
Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.