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