Where's the source (of PWCX)?

This page has been largely made defunct with the introduction of the webcam driver as source into the Linux kernel, back in April. However, there is still one binary-only component, the pwcx module.

Originally, the complete pwc module was released in binary only form, because of an NDA (Non Disclosure Agreement) that I signed with Philips B.V. That was, at that time, the only option to get information from them so I could make a driver (and I must say they have been quite cooperative, and still are). They wanted to protect their effort and the many hours of work that went into the development of these USB cameras, and simply don't want to tell the rest of the world how they did that exactly, and I agree.

Of course, binary only modules have their specific set of problems: non-portability, version mismatch, hard to debug. So I've always been active for getting an open source driver, and after a while, when it became appearant this project was quite succesful we decided to loosen up the NDA a bit. The current source form contains all the code that is needed to control the camera, get images flowing, etc. The part they still wanted to protect is the decompression scheme, and that's why it is still in binary only form, as the pwcx module. However it's a large step forward and even without this module you have a working driver, be it with some limitation due to the compression.

You may still wonder however: "Doesn't this violate the GPL or the open source spirit of Linux?" The answer: no. Linus, the creator of the Linux kernel, specifically made an exception for binary modules for the Linux kernel. Basically, you can write & distribute modules as long as they don't require changes to the stock kernel. Of course I'm also actively developing and helping with Linux USB support, so some of my efforts rub off into the main kernel.

Back to the main page