Open nVidia Linux Driver Pledge Nearly Complete
Ciarán Mooney writes to let us know that the Pledgebank drive to raise $10,000 for Project Nouvaeu is almost complete — at this moment it needs only 196 more people to sign up. Project Nouveau aims to provide open source 3D acceleration for nVidia cards. The drive was started by David Nielsen, whose blog explains what he hopes will happen.
With new technology like AIGLX, XGL and XEGL emerging, having open source drivers for 3d cards is very important. Along with the recent R300 work for the ATI cards, this will bring much improved graphics to the Linux Desktop regardless of architecture. I only hope that the ATI X200M card gets open source support soon too (obviously not from nouveau).
Also Fedora 7 (dure April) intends to include the nouveau drivers - which is great as out-of-the-box Fedora can't include the binary nVidia driver necessary to have AIGLX working.
And to anyone who thinks this is unnecessary as there is the binary driver - just wait until you card is dropped from the official support and the old driver stops working with some future kernel.
[...] The pledge mentioned is however not supported by our project. We currently don't need any money and the person who set it up is not connected to our project.
Congratulations to everyone who pledged to throw money at something that doesn't need any.
His blog entry says it's basically a $10,000 "thank you" for taking on the project. Seriously, what? I'm giving someone a big pile of cash to thank them for taking on a project, even when they haven't made any meaningful progress toward completion of that project?
I hereby announce I will take on the project of solving world hunger. Please give me a giant no-strings-attached donation as a "thank you" for my initiative. I will then make very little progress toward my goal before finally abandoning it as too difficult.
The project's official website is even more interesting. It explicitly says they have no affiliation with the pledge drive, and don't need money.
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
In fairness, the Nouveau guys (Heh, I hadn't grasped the name before but that's fairly clever...) aren't asking for money, say they don't need the $10K and make it clear that they're not expecting to have a reliable driver for the Fedora 7 release. The hype isn't their fault and I look forward to seeing what they come up with.
What I'm listening to now on Pandora...
They may not be able to release the code to the drivers as they are - they probably do contain patented/licensed trade secret code. However, they certainly can provide basic - non optimized code to allow interfacing with the chipsets. With that as a basis, the OSS community could certainly work out how to optimize the system - alleviating the trade secret issues, though patents might still be a problem. IANAL, but IIRC, the API's can't be patented, just the code behind them. The rational being that the API's just dictate the interface & there is only 1 way to impliment using the interface - as dictated by the API.
Often technologies will have in the license agreement "You can't release this code." You aren't required to like it, but if you sign the contract (and this stuff involves real, paper, signed contracts) you are required to respect it. nVidia and ATi both license a good deal of things for their drivers (S3TC would be an example). They can't just give the finger to these people and do what they want, they'll get sued and they'll lose because there's a contract in place.
It isn't that NVidia or ATI won't release code. They won't even release hardware specs. There are plenty of kernel and X.org hackers out there who would jump at the chance to write open-source drivers for NVidia and ATI cards. But to do that, you need hardware programming information. You need to know which registers in the cards do what, you need to know what opcodes do what. You need to know what data goes in what registers, or to which addresses, and what data the card sends back, in raw binary. The driver developers don't have this information, and without it, they can't write drivers. NVidia and ATI aren't providing this and won't provide this, citing the need to protect trade secrets. Just to provide the 2-D open-source drivers that X.org does have for NVidia cards, the X.org developers had to run the driver source files through a code mangler that makes those particular .c files look like an entry to the Obfuscated C Contest, or NVidia wouldn't provide enough information to do even 2-D acceleration. The whole point of Nouveau is the laborious process of reverse-engineering NVidia's cards to figure out this information.
Sure, there may be some secret sauce in there that makes for shinier 3-D graphics at a higher frame rate. But I suspect that shiny graphics aren't on the top of the list of things they're protecting. It's DRM. Macrovision's built into every video card that has a TV output port (so you can't use a VCR and tape a DVD movie.) Soon, HDCP will be built into every new graphics card so you can watch HD-DVD and Blu-Ray movies without being able to exercise Fair Use legally. And very likely, all you have to do to turn off Macrovision and completely piss off the MPAA is flip a single bit in a particular register. And it's likely that if hardware programming information was known about newer cards, cracking HDCP would be trivial.
That's why we're stuck with proprietary drivers.
Meldroc, Waster of Electrons
A similar thing has happened with Java. A few programmers, some employed by RedHat, got together to produce clean-room implementation of the class libraries under the classpath umbrella.
Outsiders scoffed at the insurmountable task they were undertaking, saying it was a waste of time given Sun's implementation.
Now, with nothing to lose, Sun is on the verge of releasing Java under the same license that classpath uses!