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.

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.

Related Podcast

Which way will Linux tilt?
Stephen Shankland explains why a a move to bring sharper graphics to
Linux has rekindled a dormant debate over whether there's a place for
proprietary software in open-source Linux.

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.

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.