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.















What a shame it would be to let the advantages given to us by open source be eroded by the incremental encumberances of closed-source drivers.
The OpenBSD guys are absolutely correct on this point. It's all got to be free. To allow anything else puts us back into the stone age in terms of stifling innovation.
Posted by mario on Tuesday, April 18 2006 10:03 PM