In August of 2004, the Philips Webcam Driver 'pwc' was removed from the Linux kernel, following a disgreement regarding a hook only used by that driver [story] A few days later, Alan Cox [interview] suggested he was willing to be the maintainer and plans to get the driver re-merged were underway [story]. A limited version of the pwc driver was merged into Alan's -ac patchset [forum] in 2.6.9-ac1. More recently, Alan submitted a patch for the mainline kernel that contained a new version of the pwc driver, merged in 2.6.12-rc1. Alan explained, "PWC has a new maintainer (Luc Saillard) and also the various contentious binary hooks removed and replaced with reverse engineering work. Please restore it to the kernel."
The previous maintainer of the pwc driver took exception, claiming that the decompressor code that's included in the new driver was not legally written. He suggested, "in case you hadn't noticed, that code has been reverse compiled (I would not even call it 'reverse engineered'), and is simply illegal. Maybe not in every country, but certainly in some. There are still some intellectual property rights being violated here, you know, and I'm surprised at the contempt you and Linux kernel maintainers show in this regard for a few lines of the law." He went on to note that he would be contacting Philips to make them aware. [Update: Find Alan's reply here.]
The new driver includes a comment that clearly states, "the decompression routines have been implemented by reverse-engineering the Nemosoft binary pwcx module. Caveat emptor." The last two words are latin for, "let the buyer beware." In late 1992, two court cases in US federal appeals courts determined that reverse engineering a program is "fair use" under certain circumstances within the United States. The first was Atari Games Corp. v. Nintendo of America Inc. in September of 1992. The second was Sega Enterprises Ltd. v. Accolade Inc. in October of 1992. Although both cases upheld reverse engineering as fair use, the former still concluded that Atari had infringed on Nintendo's copyright by using an unauthorized copy of the progam. Outside the US, different countries have different interpretations of whether reverse engineering is "fair use".
From: "Nemosoft Unv." [email blocked] To: Greg Kroah [email blocked], luc [email blocked] Subject: The return of PWC Date: Mon, 2 May 2005 02:29:35 +0200 Hello Greg, Luc I've been out of the loop for a while, but today I was informed that PWC is about to return to the main Linux kernel tree, in some form. In fact, it's already in 2.4.12rc3. Unfortunately, the current implementation is not acceptable. First, there are still some references to the old website (http://www.smcc.demon.nl/webcam) en e-mail address. But that's no big deal. What's more of a problem, though, is the decompressor code that is being included. In case you hadn't noticed, that code has been reverse compiled (I would not even call it "reverse engineered"), and is simply illegal. Maybe not in every country, but certainly in some. There are still some intellectual property rights being violated here, you know, and I'm surprised at the contempt you and Linux kernel maintainers show in this regard for a few lines of the law. Now don't get started on "it was GPL code before you left bla bla" or "you should not have abonded the project bla bla blah" and "this court here has ruled reverse engineering is allowed and so on mumble mumble". I abandoned the project, true. But PWC was (and is) GPL, so if somebody wanted to do the maintenance, that's fine because that is the intent, after all. Even if that person grabbed the pre-compiled binaries and started maintaining with that, that would have been borderline, but okay. But you're crossing the line here with PWCX (the decompressor). If it was truely reverse engineered, by studying the bitstream and trying to figure out the algorithms, then that would have been a remarkable feat. But how dare you decompile binary code, slap a GPL header on it and try to return it to the kernel as if everything's alright now? Anyway, I'll inform my contacts at Philips tomorrow. I don't know how they will react; maybe they'll go nuts, maybe they'll let it pass quitely; it's hard to tell. Either way, you're putting yourself in a precarious situation here. Clearly, this code was not intended to be included in the kernel source, it has been obtained by rather dubious means and, above all, I don't think the GPL was ever intended for this kind of "relabelling". I call it theft. So I seriously suggest you do not put the module back into the kernel in this form. Regards, - Nemosoft Unv.
From: Alan Cox To: "Nemosoft Unv." Subject: Re: The return of PWC Date: Mon, 05/02/2005 - 13:45 On Llu, 2005-05-02 at 01:29, Nemosoft Unv. wrote: > In case you hadn't noticed, that code has been reverse compiled (I would not > even call it "reverse engineered"), and is simply illegal. Maybe not in > every country, but certainly in some. There are still some intellectual > property rights being violated here, you know, and I'm surprised at the > contempt you and Linux kernel maintainers show in this regard for a few > lines of the law. Reverse engineering in the EU for compatibility is legal. It was done in the EU. Linux exists because the law is sensible and allows such actions, its the same reason you aren't still buying all your flush toilets from Thomas Crapper & Son. > Now don't get started on "it was GPL code before you left bla bla" or "you > should not have abonded the project bla bla blah" and "this court here has > ruled reverse engineering is allowed and so on mumble mumble". Don't like facts ? The legal position on reverse engineering is in general fairly clear. What you describe might not be. If so then we need to find someone who hasn't read the code to rewrite it from the algorithm description of the current code. Shouldn't take more than a week. [Its the difference between disassembling the code and publishing a form of the disassembly and writing a new implementation of the algorithm. One is copyright violation the other is reverse engineering] > Anyway, I'll inform my contacts at Philips tomorrow. I don't know how they > will react; maybe they'll go nuts, maybe they'll let it pass quitely; it's I *am* concerned by your comments about how the reverse work may have been done, and whether proper process was followed. I'd be greatful if you would forward me your contact at Philips too. You are considered as having an axe to grind and I'd rather discussion occurred between Philips and the Linux community than via yourself. You've also said yourself that the NDA you had was expired so the previous lack of a GPL module is your personal agenda and nothing to do with anyone else. That makes me wonder what your real goal is. Alan
It's a good and bad thing
First of all, I haven't been seeing much of a support for web cameras in Linux, so having this one back is certainly a good thing. However, I'm a bit surprised about the late development in the licensing debate. It'd appear the open source community is going in two different directions. One side's like "I don't give a f*** about licenses, I'll just release it and hope no one's going to sue me" while the other side is even more interested in licenses than before. The interesting thing is to see, for how long these two directions can go on with one source tree.
Nemosoft is overstating their case...
Nemosoft withdrew webcam from the kernel because Linus and the crew decided not to give kernel hooks to drivers composed of a GPL part and a prorprietary part. That decision made you mad, and like a petulant child you took your ball and went home, bawling to mommie. As a parting shot you called the kernel coders . http://www.smcc.demon.nl/webcam/ How juvenile.
Your decision (or that of Phillips, if it wasn't yours) effectively said that even though folks purchased Webcams powered by Phillips engine they weren't allowed to use it on Linux, only on Windows. I was planning at the time to purchase a phillips compatible webcam. I don't know about other folks but that decision cost Phillips what I would have paid for their technology. Because Linux is now BOOMING in popularity I suspect that the income that Phillips will continue to LOSE will only increase significantly.
Now, concerning your claim that the Linux kernel coders are compiling in PCWX into the 2.6.x kernel... If I read the following website correctly, http://www.saillard.org/linux/pwc/, it seems that it is the individual user, NOT THE KERNEL CODER, who can either compile their 2.6 kernel to include a patch downloaded from Saillard's site, or they can download the whole tarball and run their webcame as a NON-KERNEL process:
It doesn't look to me like it is Linus and the crew who are doing what you claim. Perhaps you're trying to blow this up into another anti-Linux crusade? It seems to me that after all these years you are still pouting because you didn't get special kernel hooks. Still so juvenile.
Philips has not refused anything
I have contacted Philips but there seems to be general confusion as to who is responsible for these decisions. The people I talked to don't seem very eager to find out who decides and forward me his/her coordinates.
I'm sure it's an easy case as soon as somebody finds out who to talk to... But Nemosoft does not want to give the name for his contact. I have a feeling Nemosoft could have worked for Philips and perhaps wasn't completely allowed to just pass everything on. It's possible he's afraid for his own neck.
Note that Philips has not refused providing a linux driver or allowing specs to be used to make one. Neither have they protested at the whole situation -- if they would know about that.
I guess I should push a bit more, but I don't want to piss anybody off there and then spoil it for everyone.
And don't forget the Philips-type driver is one of the only drivers that are functional enough for decent usage. There are few alternatives.
Derivative works?
"Nemosoft Unv." is claiming that a binary only kernel module is not a derivative work of the Linux Kernel but that a reversed engineered (decompiled with a few modifications) clone of that binary only module is a derivative work under copyright law. It seems to me that even if the reverse engineered module was considered to be derivative, he would still have to prove that the original binary only module was *not* a derivative work of the Linux kernel in order to claim copyright infringement.
Precedent
The two court cases cited in the summary above (Atari Games Corp. v. Nintendo of America Inc., Sega Enterprises Ltd. v. Accolade Inc.) are, of course, only applicable to US law.
Alan Cox and many other developers (and users) live and work outside the jurisdiction of the United States where the above cases are irrelevant.
However..
Since Linus is the final person approving and commit the patches it could also fall under US law.
- Ben
unlikely
I'm not sure that's how it works. There's always somebody from outside the US who can stand up and proclaim responsability. Whatever to keep it out of the hands of US law, heh...
Note that Philips is an European company (on the Dutch-Belgium border in Eindhoven, about 100km from here) and it wouldn't make much sense to sue somebody in the US. In fact, in Europe, it wouldn't even make much sense to sue for something like this.
AFAIK (by reading the portugu
AFAIK (by reading the portuguese law, which is based on a EU directive), decompilation as means to reverse-engineering is allowed in the EU.
Of course this doesn't mean direct transcription through decompilation is permitted, but it means that we can use decompilation to infer certain algorithms with interoperability purposes. IANAL.
Whoa!
Things are heating up in Linux kernel land. First, there's the tiff about Bitkeeper, now this!
thats what we are about
We have problems that have to be solved. We dont just avoid them. Open collabration is so great.
Unfortunately
Many people think a great way to solves problems is with blatant copyright violation, which no one seems to mind as long as it isn't the GPL that's being violated. Funny how that works...
Law violation ?
What law exactly was violated ?
When ? Where ? By whom ?
Which court say that ?
None ? I thought so.
in-kernel image decompression
Regardless of whether including the decompiled code is legal or ethical, I thought that the kernel developers already agreed that things like video decompression, interpolation or color space conversion do not really belong in the kernel in the first place.
Instead of doing it in-kernel, you can just let the driver send the compressed video via the V4L2 API to user-space where it is decompressed using a user-space lib (gstreamer for example). On the other hand, applications may not be ready yet to talk to anything else but a raw V4L device file.
Need pwcx binary for my architecture
Hi
I am using linux 2.4.16 & 2.4.22 MIPS architecture kernel with lx4189-uclibc-gcc tool chain. The binary pwcx.o is available only for standard linux architectures.
I need the pwcx.o( decompressor binary) for my kernel. Can you compile and give the binary of decompressor for my kernel?
Kernel Informations:
======================
Kernel = 2.4.16 and 2.4.22
Tool chain = lx4189-uclibc-gcc
Architecture = MIPS
Format = BIG ENDIAN format
Kindly send me the compiled decompressor binary file as per the requirement given above pls.
Excellent point!!
Excellent point!!