April 17, 2006 4:00 AM PDT
New Linux look fuels old debate
- Related Stories
-
VMware-friendly change likely for Linux
April 13, 2006 -
Device support 'key' to desktop Linux
April 5, 2006 -
Novell hopes its next desktop will leapfrog Windows
March 9, 2006 -
Novell seeks to boost Linux graphics
February 6, 2006 -
Defender of the GPL
January 19, 2006 -
Linux gets Intel help with Centrino
March 10, 2004
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.
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.
Download mp3 (5.3 MB)
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.
See more CNET content tagged:
ATI Technologies,
NVidia,
graphics chip company,
kernel,
Linux



If a user wants to avoid closed drivers or other closed software that is their choice. Who is FSF or Redhat to limit choice.
Odd that Microsoft has to my knowledge never suggested that users should be blocked or legally prevented from running open source on Windows, but the "Lets Be Free" guys are now about "My Way or No Way."
A few more legal threats like these and I can see vendors and key business suppliers of Linux drivers and tools wiping their hands of the whole thing.
This type of internal dogma an restriction is more harmful to Linux than and silly SCO lawsuit.
But businesses don't need fancy video cards and sound cards. Those types of hardware are mostly for home users. The leaders of the Linux development community are trying to adopt Linux in the home, but know that video, audio and optical media drivers are needed to help that adoption.
So nVidia and ATI are in a position where they have leverage to violate the GPL license. And they will continue to violate the license while they have leverage to do so.
The only thing I can see out of proprietory drivers is that the hardware manufacturer may have some ability to keep ahead of their competition be not giving away their work, as so much is processing control of the hardware is now done with control code. Letting the chip manufacturer sell their fancy new chip to many parties for them to fully develope it to various potentials. Admittedly, a sneaky competitor could still reverse engineer their drivers, BIOS, etc. Yet, without the code being fully deciphered that may be much harder to execute. Until better protection is functioning for the hardware developers, I suspect at least a well delayed release of the 'source' will likely persist. Yet after that concern is addressed, one would think that reliably getting the best possible interface with the rest of the system would be to best for both hardware seller and the end user.
Sincerely,
Gregory D. MELLOTT
I would have no problem with distro maintainers who want to make "only free software" a point of distinction, but it would be a problem if the kernel went that way. They shouldn't limit my ability to interact with other entities, whether I, as a user and owner, want to stay all open or mixed. I personally want the fastest box I can get, and the nvidia drivers help me get more out of my $150 card than the open source drivers. If the kernel wouldn't allow me to use the nvidia driver I wouldn't have the freedom to do what I wanted to with my box unless I got a different kernel, and in this case I think we're talking a *BSD kernel. As much as I would miss Slackware, I'd be a BSD user inside a week (though Slackware would probably be the last to force that on users).
Besides, the GNU guys are going to have the Hurd (herd?) kernel any day now, right? They can go that way with their kernel and let Linux go its own way.
Cheers,
joe f.
I think a stable kernel interface should be a high priority, so I can get drivers for Linux and know they will work, be they open-source or closed-source. I don't like having to recompile my drivers for each new kernel version. Sometimes the recompile fails, because of internal kernel changes.
If they wish, the kernel maintainers can add an optional restriction to block closed-source drivers, so those who prefer only open-source drivers can get their wish.
But I feel most people just want to use their systems to do what they want. So, by trying to force all Linux users to use only open-source drivers, the FSF is depriving users of their freedom NOT to use only open-source drivers.
It's like saying the freedom to practice religion means you MUST practice a religion. IMO, freedom to do something MUST entail the freedom NOT to do it---without choice, something is not freedom.
So, basically, I'd like to see users to have the option for closed-source or open-source drivers, and have the tools to enforce their wishes on THEIR system.
If the open-source community wants linux to evolve into a true replacement for windows, they will have to allow businesses to be BUSINESSES.
Just because a driver ties to the kernel doesnt mean it should have to adhere to the GPL of the kernel. Since my mouse driver ties to the kernel... and it drives my mouse... does that mean that my mouse design has to be open and patent free also? What about the document I created with my open-source editor... do I have to provide that document to the open-source world since I created it with open-source software?
That might sound silly but it isnt any silly'er than saying the drivers have conform to the GPL because it ties to the kernel.
If FSF keeps on this path it may just kill Linux. No company is going to want to use a GPL or GPL v3 OS that requires every thing developed on it to be open to the public.
for open source 3D graphics development. We don't require that
our projects release source code, but we find that once the benefits
are well understood, that our customer quite often prefers the cost
savings of the open approach. Given a choice, and full
understanding of the tradeoffs, we consistently see development
okay'ed for open source release. We have found the graphics driver
development community to be very capable, and we're quite happy
to see our work released.
It would be really cool if the entire software industry, heck all businesses used open and freely available software, just wondering who they would hire to work these jobs since nobody could pay any bills?
need to grow my beard and ponytail and start wishing for this exciting make believe world!
Despite what zealots may say or attempt to do, nothing prevents a kernel distribution from being made with the main goal of a fixed kernel API. This API would act as an abstraction layer between the official kernel API and a kernel API friendly to hardware manufacturers.
While the kernel developers would try to make the API even less concrete or make obvious attempts to thwart such a kernel distribution, it would be hard to prevent, since it would be easier for the hardware manufacturers to write for the fixed API and support the effort to counter the obfuscation of the original kernel.
The effort wasted by the original kernel developers and the desire to concentrate on performance and not politics, will eventually cause the original kernel developers to agree to a fixed API...
Just my 2 cents.
With an OS, it has always been about the drivers. OS2 Warp failed because the drivers were not there. Microsoft succeeded because they made it policy to make sure all the drivers were present for all hardware.
Look, the highway should be drivable without paying a toll, but I am willing to pay for the car. Get it? To all the Yugo drivers out there, well, granola and tofu are great sometimes and in Santa Cruz, you can walk the streets knowing with confidence, that it is a nucUlar free zone. Right.
OpenSuse. So what? How many of us have gotten Windows
installed without visiting half a dozen manufacturers sites to get
drivers? Not many, and even less of those ended up with a
stable system via windows install media + windows update
alone.
Proprietary drivers are a reality. An unfortunate one to a chunk
of the LK dev community, who wants to not have a stable kernel,
and no stable API/ABI for kernel modules.
interested in software development save for what
minimal portion they need to do to make their
hardware a compelling purchase.
Andrew Fear of Nvidia stated that: there's no
demand for open-source drivers, that drivers are
difficult to write, so it wouldn't help, and
that intellectual property (sic) is a secondary
concern.
He's wrong on all three. Nvidia and ATI are
quite consistently requested to open-source
their drivers OR release specs so that at least
people wouldn't have to reverse-engineer their
hardware. Drivers for these cards are also not
especially complex compared to drivers for other
hardware that's already been written
open-source, save for the fact that there's no
documentation about the hardware that could be
referred to which is a confounding problem. If
Nvidia could simply provide specs to open-source
developers and toss in their input to assure
they obtain the performance and feature levels
they want -- that would save them quite a bit of
money on software development, assure a timely
maturation of their products, prolonged support
life, and reach into new markets.
One has to assume, therefore, that the reason
that Nvidia and ATI don't provide information
about their products and don't open-source their
drivers is that they feel that doing so would
compromise and intellectual property (sic)
position that would exceed the goodwill and
development savings that they'd reap from going
open-source. ATI's probably more honest in
saying that they have contracts that prohibit
divulging certain third-party information --
whether that makes sense or not.
As a result ATI and Nvidia's products cost more
and they expend more effort working out issues
that may very well be more readily addressed by
another party.
I suspect that slowly, these two companies --
like other hardware vendors -- will adapt to the
demands of the modern IT landscape and
open-source development. The time will come when
without an open-source driver, they no longer
qualify for use in high-security applications.
No audit, no use.
Without the FSF's hardline stance about Free Software, the GNU/Linux operating system would not exist. You may want to read that last sentence again.
Stallman and company have never waivered in their belief that software should guarantee the users the freedom to use, copy, modify, and redistribute software. It is their "hardline" views that have kept the movement *moving*. Had they caved in at any point along the way (as many of the previous commentors have suggested they should) then the "Linux" operating system would have frightening similarities to Apple's OSX. Sure, there may be some free stuff in there, somewhere, but it's so intermingled with non-free, "secret" code, that the users are hogtied and beholden to a corporation for improvements, features, bug fixes, etc.
If you wish to be reliant on a company to feed you your software at their whim, and to be not entirely sure what your computer is doing behind the scenes, please feel free to use OSX or Windows. If YOU want to be in control of YOUR computer, then support Free Software.
My expectation is a very small percentage, so the whole access to the source code is of little use to them.
As a user of computers I believe the ideal of free software as in FSA definition is fantastic and I applaud their work and dedication. The only thing is that it only really works in an ideal world where commercial pressures do not exist. For some software this may be possible, as it is a soft product requiring no physical manufacturing process. Software can be coded and distributed without paying somebody.
For hardware this is a different situation. For any company to manufacturer a product they need to incur a real expense. This needs to be recouped in some way so they can do R&D and build the next version with improved performance.
On the specific topic of video driver. I remember the first nVidia Detonator drivers, which had quite poor performance. nVidia updated them and the performance was vastly increased, so for video cards the drivers make a huge difference to the performance and in some cases can be the difference between being the first or second in the speed race. For this reason I can understand why nVidia and ATI would keep their drivers closed source.
Now my personal perspective as a user is that as long as I have the right to use it I don?t care if the software is closed or open source. If a vendor will provide me with free (not FSA definition) drivers to improve my experience I?m going to take them and say thank you very much. In an ideal world FSA Free would be perfect, but until then or even without that being a realistic option I?ll take what?s on offer and enjoy it.
A business might get by with Windows 98- for all the power required of office software. It's only when you start to power Photoshop, 3D software, & games that you run into needing real power.
Having said that, it's a common thing to read threads that say, to the effect, "if I could play my games/run my graphic apps on Linux, I'd switch".
Linux needs to support driver useage- or it will soon be out of the picture.
-
by 3rdalbum
July 22, 2008 5:43 AM PDT
- It's interesting to read these comments from 2006 in the light of ATI's considerable opening-up. It's also funny to hear "They're going to stop allowing proprietary drivers, this is the end of Linux!" comments because of course we know now that this was never in danger of happening.
-
Reply to this comment
-
-
See all 38 Comments >>Suggestions that "they should just let the drivers be in the kernel whether or not they are open-source" are ridiculous. You're effectively suggesting that the whole kernel project move to the BSD or MIT licenses - an actual physical impossibility. Saying that there should be a stable kernel interface is not a bad idea, but the lack of stable kernel interface currently doesn't deter anyone from building drivers as they simply make a small open-source wrapper library that links against the kernel headers each time.
Not having a stable kernel API is good in some ways not mentioned in the article, for instance you can choose not to install the kernel headers and make it more difficult for attackers to root your system.
Finally, AMD/ATI has shown that you can open up your specifications and get drivers written mostly by the community. I'm sure Nvidia are looking very seriously at opening up their drivers, because a lot of people are now eying off ATI cards. Why wouldn't you? 3D with an open-source driver! Having just downgraded to the nv 2D driver (which is open-source) and experienced fewer crashes and glitches, I'm really thinking that there's something to all this open graphics stuff.