Some notes on Linux and free drivers
[Posted April 19, 2006 by corbet]
The good folks at ZDNet have been doing their best to stir up the
proprietary driver debate over the last week. Things got started with
this article
containing a classic quote:
For Nvidia, intellectual property is a secondary issue. 'It's so
hard to write a graphics driver that open-sourcing it would not
help,' said Andrew Fear, Nvidia's software product manager. In
addition, customers aren't asking for open-source drivers, he
said.
The first part seems better suited to somebody holding a management post at
SCO. Free software developers have created a system which scales from tiny
embedded systems to supercomputers. Their work powers much of the net.
When given the necessary information, free software developers are able to
support new hardware more quickly than anybody else.
But, it seems, they are not up to the task of writing a driver for a
graphics adapter.
It is true that contemporary graphics cards are complicated devices. They
are usually the most powerful processor in the system, and they have all
kinds of strange timing and memory management issues. But the idea that
the developers who built an entire free system would be stymied by the
complexity of a graphics adapter would be insulting if it weren't so
comical.
The claim that customers have not been asking for free drivers is more
discouraging, as many, many Linux users have been very clear about their
wishes for years. Nvidia knows that there is demand for free
drivers out there; it simply chooses to ignore that demand.
Perhaps when Nvidia's real customers - large system integrators - start to
complain, the message will be heard. To that end, those of us who buy
systems need to insist that they come with fully free software. The
vendors who sell "Linux-installed" systems with proprietary drivers,
ndiswrapper, etc. are not really helping. When those vendors understand
that their customers want free systems, they will, in turn, put
pressure on their suppliers.
From there, ZDNet columnist John Carroll was shocked to learn that
Linux lacks a stable kernel API.
ATI may claim that they accept the fluidity of the kernel interface
"as part of our day-to-day responsibilities in Linux," but I bet
that is said through clenched teeth after months trying to get a
driver to work across distributions.
Fragmentation didn't work for old-school Unix. Linux solved the
structural issue by providing a level of consistency made possible
through use of the GPL. It's worth remembering that before
attempting to justify an unjustifiable lack of a consistent Linux
kernel interface.
This discussion misses the point entirely. The way to get a driver to work
across distributions is to get it into the mainline kernel. Then it will
work across distributions - more distributions than any company could ever
support - and across architectures as well. When the company abandons the
driver in favor of next year's products, it will still work. When a
security problem comes up, it will be fixed. And there will be no
"fragmentation" problems.
There are a lot of other reasons for insisting on free drivers - see this article from last November
for a more thorough discussion. There also is no defensible
reason for keeping hardware programming information secret. True competitors will
reverse engineer the hardware anyway, and no hardware company makes its
money by selling device drivers. Hardware manufacturers in many areas have
figured this out, with the result that Linux has outstanding support for
their products. Hopefully the remaining holdout vendors will catch on,
soon, that there is a large and growing market waiting for them.
(
Log in to post comments)