It's all over the Internet now: the Linux kernel developers have issued a statement urging vendors to release open source device drivers/modules. Some of the commentators say:
"It's unclear how much impact the developers' statement will have."
(LinuxWorld: Linux kernel developers: Say no to closed-source modules)
Other simply note that:
"The statement will most likely do little to force vendors to write open source kernel modules, since effectively, this statement changes nothing about the situation as it was - it just sort of formalises the whole thing."
(OSNews: Kernel Devs: Closed Source Modules 'Harmful and Undesirable')
And yet another informs of NVIDIA's response:
"NVIDIA's fully featured Linux graphics driver is provided as binary-only because it contains intellectual property NVIDIA wishes to protect, both in hardware and in software. (...) NVIDIA doesn't expect Linux kernel developers to debug issues in NVIDIA's kernel module."
(ZDNet: NVidia says no to request to release open source drivers, once again)
All in all it's quite fine that the Linux kernel developers have finally spoken, but what made me write this post was Stephen O'Grady's (Redmonk analyst) opinion cited in the aforementioned LinuxWorld article:
"What's interesting is that they felt the timing was right for this message."
The point is that the timing is actually wrong. Not only the kernel developers but all Linux developers should join OpenBSD's "Stop the Blob" fight couple of years ago. Instead they sometimes even refused to help when asked for, as pointed by Theo de Raddt:
"Nvidia did not give anyone documentation. Instead, they expect people to load a gigantic blob of binary code into their kernel, and just be happy with that. Some Linux people in Germany reverse-engineered the driver years ago, but the rough story I heard is that Nvidia asked them to stop, and they did. This just astounds me! In any case, Jonathan Gray (who started this effort) asked for their help with a few problematic technical details, and they refused. I could not believe that, so I asked as well -- and they refused again. These are Linux developers, basically placing the community in a situation where they have to run a binary blob of unknown code from a vendor, instead of sticking to their guns about open source?"
(InfoSecNews.org: Interview: Theo de Raadt of OpenBSD on March 28, 2006)
And another cutie:
"There are always at least a few efforts in the project to get more documentation out of vendors. But some vendors are still incredibly resistant. We often run into vendors who have signed NDA agreements with Linux developers, who will then happily write a Linux driver filled with magic numbers, which only one developer in the world understands. Having signed the NDA ensured that Linux got a working driver, sure, but the internals are indistinguishable from magic. It cannot be fixed by anyone else, because it is full of secrets. It is a source code version of a blob.
There are many reasons why vendors will not give information out. I believe that all their reasons are a lie to the customer. I can get nearly complete data books for the parts that are in my car, and I should be able to get them for the parts in my computer."
So, as far as I think it's good that the attention of general open source public has been, hopefully, turned to the the problem named blob (and I think it's better late than never), stating more or less officially that the problem exists and is "harmful and undesirable" will not make it disappear. So, what are you -- the community -- going to do about it?
More posts from this author available at http://blogs.ittoolbox.com/unix/therek