By
Stephen Shankland
Tuesday, April 18 2006 10:44 AM
URL:
http://www.zdnetasia.com/news/software/0,39044164,39352584,00.htm
Efforts to bring glitzy new graphics to Linux are fueling an old conflict:
Does proprietary software belong in open-source Linux?
The issue involves software modules called drivers,
which plug into the kernel at the heart of the open-source operating system.
Drivers let software communicate with hardware such as network adapters, hard
drives and video cards.
The use of such drivers is common with Linux, but it is all but necessary for
the recent push to bring eye-catching graphics to the operating system user interface. To deliver 3D
effects and similar visuals for the desktop, the software taps into a computer's
graphics chip. And although the Linux kernel is open-source software, drivers
from dominant graphics chipmakers Nvidia and ATI Technologies are not.
Proprietary drivers pit purists against pragmatists. The Free Software Foundation, which wrote the General
Public License (GPL) that governs Linux, says that the license prohibits
proprietary drivers.
But while the FSF tries to be an irresistible force, they're running into an
immovable object, in the form of graphics chipmakers, which are keeping 3D
graphics drivers proprietary.
"If Linux expects broader vendor support, the community needs to capitulate
to proprietary software involvement," said Raven Zachary, an analyst at The 451 Group.
Help wanted
To write open-source graphics drivers without help from
Nvidia or ATI is tough. "The proprietary drivers are largely the only choice for
those with modern graphics processors. Nvidia's GeForce 7 series and ATI's
Radeon X1000 series both presently do not offer any open-source driver," said
Michael Larabel, founder of high-end Linux hardware site Phoronix.
Efforts to reverse-engineer open-source equivalents often are months behind
and produce only "rudimentary" drivers, Larabel added.
ATI's driver remains proprietary for intellectual property reasons, the
Canadian company said. "There's third-party intellectual property that ATI has
licensed that is required by law to be protected," said Matthew Tippett, ATI's
Linux software engineering manager. "And the graphics market is hotly
competitive, and particularly in the high-end cards, we have lots of
intellectual property. We want to maintain the proprietary, trade-secret nature
of that as long as possible."
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.
Some Nvidia components are open, including some driver configuration tools
and a driver component that interfaces to the kernel. "We believe in open source
where it makes sense," Fear said.
Both companies are cooperating with efforts to give Linux a 3D interface
competitive with Apple's Mac OS X and Microsoft Windows Vista. ATI is working
"closely with Novell" on its Xgl software, Tippett said.
Nvidia prefers the design of the AIGLX approach from Red Hat, said Andy
Ritger, manager of Nvidia's Unix graphics drivers. "The eye-candy stuff is quite
cool. I think it looks better than Vista, but I'm biased," he said.
Open-source advocacy
Linux founder and leader Linus Torvalds has
argued that some proprietary modules are permissible because they're not derived
from the Linux kernel, but were originally designed to work with other operating
systems. If they had originated from the kernel, that would require them to be
covered by the GPL.
"Historically, there's been things like the original Andrew file system
module: a standard file system that really wasn't written for Linux in the first
place," Torvalds wrote in a 2003 mailing list posting. "Personally, I think that case
wasn't a derived work, and I was willing to tell the AFS guys so."
The FSF sharply disagrees. "If the kernel were pure GPL in its license
terms...you couldn't link proprietary video drivers into it, whether dynamically
or statically," FSF attorney Eben Moglen said in a January interview.
Kernel developers have kept proprietary drivers at arms' length, adding a
feature years ago that could be used to block proprietary modules from loading.
And in February, Greg Kroah-Hartman, a kernel programmer who works for Suse
Linux seller Novell, added a patch that will trigger such a blockage for the USB
subsystem he maintains.
"The USB subsystem will not be allowing closed-source kernel drivers to
register with it" after February 2008, according to a note with his patch, posted online. Those with proprietary functions can
move them above the kernel level, he argued. But his position against
proprietary modules has sparked concerns about blocking use of some ISDN networking gear.
A proprietary driver, even if it works, raises complications. "If you have an
open-source kernel...and you add a binary module into the mix, it reduces your
ability to provide the customer the same level of service," said Dirk Hohndel,
Intel's director of Linux and open-source strategy.
Taste of open-source-only world...
Red Hat shuns proprietary drivers for business reasons, said Chief Technology
Officer Brian Stevens. "Why wouldn't you want the army of users to resolve it
and make the driver a better driver? There are a lot of smart people who work on
open source," Stevens said.
The company is urging graphics chipmakers to help open-source programmers by
sharing hardware details, Stevens added. "We have made a direct request to them
to open their specs fully. That's something they're not able to do at this time,
but that request came from me," Stevens said.
On the flip side, Intel believes it can use open-source drivers to gain
against Nvidia and ATI. The strategy parallels the chipmaker's earlier move with
wireless
networking support, and it has won an ally in Red Hat. "Their partnering
with the open-source community is a pretty strong advantage," Stevens said.
Intel has new plans for its open-source graphics driver work, though Hohndel
wouldn't reveal details. "Our (graphics) drivers are open source. We are
bringing out some interesting new stuff. It's not released yet," he said.
Warning shot across the bow
Users got a taste of an
open-source-only world last month from Red Hat. The company inadvertently
suppressed the ability to use proprietary kernel modules when it shipped the new
version
5 of its popular Fedora Core Linux. The unplanned experiment wasn't pretty
for newbies.
"I do not believe the intention was to promote open-source modules and to
attack proprietary modules," Larabel said. "One of the reasons I personally
believe this is the fact that beginning Linux users who tried Fedora Core 5
would experience problems with loading mainly ATI or Nvidia modules and
ultimately tarnish Fedora's reputation due to a troubling experience--or so I
have gathered from the countless e-mails I received from those beginning users."
Red Hat unblocked proprietary modules in an update. However, other snags
persist. Fedora and Novell's equivalent, OpenSuse,
don't ship with the proprietary drivers, requiring users to jump through extra
hoops to obtain and install them. On top of that, updating the kernel sometimes
requires a corresponding video driver update.
One change that could ease driver difficulties is a stable interface to the
Linux kernel. A stable interface provides a fixed and documented way for a
driver to communicate with the kernel. Even if the kernel interior changed, the
method of communication would remain the same, and drivers wouldn't have to
change with kernel updates, for example.
"I understand the reasons why kernel developers try to steer clear of that,"
Fear said, giving as an example the wish to preserve maximum freedom to
innovate. But a stable interface "would make our lives and the lives of the end
users easier," he added.
With the existing fluid interface in Linux, programmers must provide drivers
for numerous kernel variations, and old drivers--open or proprietary--stop
working, said Miguel de Icaza, vice president of development at Novell.
"Contrast this with Windows, where there is a stable interface for drivers in
the kernel. A driver developed against NT 4 works on XP," he said.
ATI is willing to accommodate Linux's fluid style. "ATI accepts that as part
of our day-to-day responsibilities in Linux," Tippett said.
Some worry that a stable interface could lead to more proprietary drivers.
Arjan van de Ven, a former Red Hat kernel programmer who now works for Intel,
described a speculative "Linux doomsday scenario in which Linux kernel developers
accept binary modules and a stable interface. In his scenario, posted on the
Linux kernel mailing list in December, hardware companies reverse current
open-source support and ultimately leave users unable to respond to a serious
security vulnerability.
Only some steps of the scenario are unlikely, van de Ven said. Despite this,
he remains hopeful. "I believe that the advantages of freedom in the end are
strong enough to overcome the counter forces," he said.