Proprietary Drivers Hurt Companies
Eric Raymond is a little nuts
but he's thought through
the economics of open
source software as much as anyone, and my personal experience keeps
validating many of his conclusions. Today's example: the
afterword
to his essay The Magic Cauldron. In this afterword, ESR lays
out the case for hardware companies to release open source drivers for
their products, or at least make the interfaces public so that somebody
else can write the drivers.
As I alluded to
before, I've learned this lesson the hard way.
Back when it was just starting to threaten 3dfx, Nvidia
announced that it would supply linux 3d drivers for its current card
(the TNT). I had recently converted my home machine to linux and wanted
to voice my support, so I ordered one of their better cards
(a TNT2, with 16 megs of RAM). My first surprise was that the 2D quality
was worse than my old card, an S3 Virge (not a software problem but
still irritating). My second surprise was that
Nvidia did not release any actual drivers for something like a year
after their announcement. My
third surprise was that, once released, the drivers were absolute
torture to get working. Maybe it was because my card was installed in
an AMD system, or because I was running Debian and not Red Hat, but
the driver never quite worked. I did get it working
briefly once, but after upgrading the kernel, it never worked again. I
also tried to get another TNT2 working in a PIII system, without any
luck.
I knew that many were using Geforces under linux and didn't have problems, so
Nvidia's drivers couldn't have been totally defunct, but they sure
didn't work for me. I
have installed and configured a variety of OSes on a variety of hardware
and I've never had half the trouble that I did with Nvidia graphics
cards. Lesson learned: no more hardware with binary-only drivers for me.
My next
video card was an ATI Radeon, which worked just fine with the default,
open-source driver built into X.
Now that I'm
weighing my options for a new AMD motherboard, any with the Nvidia
chipsets are out of the question, as some of their functionality
requires binary drivers. It looks like the situation with the
nForce chips is similar to what I experienced with the TNT2: they work for
some, don't work for others, there is no consensus on what the problems
are,
and little hope of figuring more out given that the drivers are
binary-only.
Life's too short to work around what ESR convincingly argues is a
self-defeating strategy for Nvidia. I'm still working Ebay for a deal so it's not
clear exactly which motherboard I'll end up with, but I do know that it
will have a VIA chipset and not one from Nvidia.
[/code]
slag code: