Posted
by
Zonkon Tuesday April 18, 2006 @09:11AM
from the bring-the-shiny-to-the-penguin dept.

Richard Gray writes "Should Linux accept proprietary video/graphics drivers from likes of Nvidia and ATI ? The GPL written by FSF says that the license prohibits proprietary drivers. From the article: 'To write open-source graphics drivers without help from Nvidia or ATI is tough. Efforts to reverse-engineer open-source equivalents often are months behind and produce only 'rudimentary' drivers, said Michael Larabel, founder of a high-end Linux hardware site Phoronix ... Torvalds has argued that some proprietary modules should be permissible because they're not derived from the Linux kernel, but were originally designed to work with other operating systems.' The FSF however, 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.' Where do you fall on this issue?"

Obviously it would be nice if nvidia and ATI would open their drivers, the opensource community would benefit hugely from such a move, I also think the chip makers would benefit from it in terms of code improvements and fresh ideas....I don't see it happening anytime soon though, there has been calls in the past for drivers to be opened and it hasn't happened yet.

As for this statement:

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.

Firstly that is a very arrogant approach, some of the best developers in the world work on open source stuff, saying it is to hard is just stupid. As for customers not asking for open-source drivers, all I can say is huh? There have been dozens of calls over the years for drivers to be open sourced!

Regardless so long as the drivers are proprietary, I will continue to load proprietary drivers into my kernel, the FSF has a fairly narrow minded view here, yes it would be great if the drivers were open, but they aren't, and I am not going to restrict my system capablities just because the FSF doesn't approve.

There have been dozens of calls over the years for drivers to be open sourced!

And they ship millions of units per year. So while every few years a few thousand people may clamor for them to change thier business models and practices (which is expensive to thier eyes), millions more happily use thier products without a problem.

What do you think thier course of action would be here? They could lose every Linux customer they have, and it would probably not adversely affect thier bottom line too much.

Nvidia already needs documentation in order to write drivers. Releasing documentation that they already have would cost them VERY VERY little.

Futhermore, nvidia could choose to release docs for their cards which are no longer "state of the art" which would allow the community to take over maintainance and not give away "secrets" to their competitors (once the cards are out for 6 months or so, there are no "secrets" anymore that would harm their ability to compete.)

To continue to withhold docs for older cards / hardware is POINTLESS and hurtful.

In many cases, hardware vendors simply do not produce the kind of documentation that you would need. The hardware and software developers work together, so there is a lot of undocumented internal knowledge that goes into those drivers.

Also, in many cases there is technology or code that is licensed and *can't* be released as open source because the people that own it don't want it released.

Finally, even if the developers want to do open source, their management may not (yet) be on board with open source.

Given time and good experiences, I think most hardware vendors will provide open source drivers. We just need to encourage them to do this rather than beating them over the head with it!:)

You are very naieve. For Nvidia to open source thier code would cost them a significant amount of time, money and quite possibly customers if they didn't do it right. Just off the top of my head...

Paying an army of lawyers to ensure that they CAN release in the first place. I'd bet that they don't have clean rights to distribute the source to everything in thier code, bet they licence some stuff.

Paying more lawyers and consultants to work out the best licence, or more probably write thier own.

Paying thier developers to clean up the code base before release, package it, setup version control access for the public.

Paying thier developers while they now unquestionably spend time liasing with the new open source developers.

Paying thier support staff when people using modified drivers ring up because stuff isn't working.

...

There IS a cost for companies to release closed source code to the open source world, it's significant, and in terms of support it can be ongoing (and if they put thier foot down and refuse to support modified code then they look bad to thier customers who don't know any better).

Most important:GPUs are predominately massive FPGAs with a highly specialized IO ring (at least they were when I was in the field). The driver essentially loads the array when the card boots. Opening that portion of the driver opend your design to the competitor. Similar things in some chipsets.I personally would be happy with a well supported binary driver over a half assed open one.-nB

What do you mean "massive FPGAs"? From my own experience with FPGAs and GPUs the two are not at all similar. And FPGA is just that, a "programmable gate array" where you can alter pretty much everything programmatically.A GPU is an ASIC for obvious reasons. (Cost and performance being the major contendors I suppose.) While you may be able to do some minor adjustments as well as turning on or off different shader pipelines it has nowhere near the flexibility of a FPGA.

So, what are the video card's products? Are they the hardware cards or the drivers?

A huge chunk of it is drivers. Frequently you will see new driver releases that massively improve performance in certain games without diminishing visual quality. That's all "proprietary" software R&D that no sane company is going to publish for their competitiors. And then you have "professional" cards where literally the only difference is drivers certification.

Anyway, there's a giant difference in video drivers and (say) ethernet drivers in terms of the importance of driver R&D.

I think the point NVidia is making is that the driver is a big part of the package they're selling. A buggy driver will make the entire package, including the hardware, look bad.If writing a graphics driver is indeed very complex, the chance of FOSS developers including bugs is quite realistic. The simple fact that FOSS developers have not been able to produce good GPU drivers despite reverse-engineering demonstrates the level of complexity involved.

nVidia can still support official builds, though, for quality assurance. It's the geeks who would takes the extra step of compiling the newer, not yet approved by nVidia, versions for their own use. You do have a good point. What if a distro vendor packaged a non-approved nVidia driver and it had bugs and made the product look bad? Well, maybe nVidia could put in provisions that non-approved versions must come with a visible warning that it's not "official" as a compromise?

Fact is that the Nvidia drivers are the bad ones. They don't even properly detect the attached monitor (was fun searching for a solution via links, thank you very much Nvidia), when I reinstalled Ubuntu due to an hard drive change I found that "nv" works with my LCD out of the box!

A buggy driver will make the entire package, including the hardware, look bad.

Who told NVidia to release a buggy driver? Where are these bugs coming from? I guess you are trying to say that by releasing the source code, that somehow the drivers will become owned and released by FOSS developers. That's just silly. NVidia can release the code and control the content at the same time. They don't have to donate it to the FOSS community.

The simple fact that FOSS developers have not been able to produce good

I think the point NVidia is making is that the driver is a big part of the package they're selling. A buggy driver will make the entire package, including the hardware, look bad.

You obviously never used the early versions of NVidia's Linux (and later FreeBSD and Solaris) drivers. No one expects any software to be 100% bug free (yes, I know there are exceptions to that but on the whole this is true). And if you counter this; I offer up ATI's drivers, including their Windows drivers, as repost. I have yet to have an ATI product that did not suffer miserably from driver problems under any OS.

If writing a graphics driver is indeed very complex, the chance of FOSS developers including bugs is quite realistic. The simple fact that FOSS developers have not been able to produce good GPU drivers despite reverse-engineering demonstrates the level of complexity involved.

Do you know anything about reverse engineering? It is a hack no matter how you look at it. You are trying to guess what something does by observing it. How can this be compared to knowing what something does because you have the documentation right in front of you. Nice troll. Or not.

Such version would come at the expense of NVidia's reputation; if ATI keeps their drivers closed, ATI will have the more stable package in the typical consumers' eye.

I'm sure writing a graphics driver is very complex, but fixing bugs in one isnt.There have been several times that things have worked with OSS drivers that dont work with the proprietary ones. For example, try running NVidias proprietary drivers on a system with a Xen kernel. If you manage to get them to build and load at all, after hitting the big powerbutton on your now dead machine, try running the opensource drivers.

Proprietary drivers are often much worse than their OSS equivalents, and graphics driver

Reverse engineering a complex piece of hardware is not easy. It takes time and energy that would be far better spent just writing code. Many years ago I tried to reverse engineer driving of a serial chip. I spend days working on it before I realized that I could go down to the store (this was pre-web) and get the spec sheet for the chip. (Turns out it was a
6551 [arcadehelp.com])

Even though I'd already done most of the reverse engineering, the extra notes in the spec allowed me to improve my program greatly -- and with

From: Jon Smirl
Date: Mon, 25 Oct 2004 23:55:58 -0400
After talking to representatives of both companies, it seems that the
patent system has completely perverted the IP situation between them.
But are staying secret because of fear of being sued by the other for
infringement. This is exactly the opposite of what full disclosure of
patents was supposed to achieve.
I wish they could just get together and agree not to sue each other
over stupid things like register

After talking to representatives of both companies, it seems that thepatent system has completely perverted the IP situation between them.But are staying secret because of fear of being sued by the other forinfringement. This is exactly the opposite of what full disclosure ofpatents was supposed to achieve.

I wish they could just get together and agree not to sue each otherover stupid things like register designs and programming models. Thedesigns are horrible on both cards due to accumulation of historicalcruft. Save the lawsuits for the core of the engines if you reallyhave to sue each other.

Regardless so long as the drivers are proprietary, I will continue to load proprietary drivers into my kernel, the FSF has a fairly narrow minded view here, yes it would be great if the drivers were open, but they aren't, and I am not going to restrict my system capablities just because the FSF doesn't approve.

I pretty much felt the same way until nvidia dropped support for cards that are TNT2 and older. The older drivers from nvidia's download archive are tough to build against newer kernels.Granted, a T

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.

Firstly that is a very arrogant approach, some of the best developers in the world work on open source stuff, saying it is to hard is just stupid.Or maybe it's just code for "We haven't got documentation for this stuff, and rely on the collective experience of our developers over generations of the product to keep writing drivers. Driver writing is not a revenue center but a cost center for us, and in order to contain costs, we're not going to make the upfront investment required to throw our developers at documenting this stuff to the point where we won't be embarassed."

Intellectual property issues like cross-patent licensing and 3rd party code could be addressed relatively cheaply when compared to addressing systematic deficiencies in documentation and code style. Such an effort would turn the cost structure of a hardware company on its head.

Yes, they would ultimately experience an advantage from having unpaid volunteers improving their code. However, in order for those volunteers to improve the stuff, the stuff's already got to be in good shape anyway.

I think the fact that nVidia produces linux drivers at all is great, when most companies dont give a toss about Linux support. Open sourcing them would maybe slightly improve things, but as long as they keep updating their driver support, which they are doing out of their own good will for likely not very much return (well not any immediate return, though there are quite a lot of people using linux, and they may buy nVidia just so that they can get proper 3D acceleration for.. err.. tux racer)

The problem that the people who understand the scene have is that what's to stop nvidia from deviating from the standards for OpenGL?Fact is they *already* do that [from what I've read].

So the more and more people use these closed source drivers the more likely they are to get into vendor lockin.

Imagine you're a game developer and you're working on boxes that use nvidia hardware. Then you realize that a particular "feature" of the driver [e.g. misinterpretation of the GL spec] is used in your game and not

Even if Linus didn't mean to use the GPL (which he apparently doesn't, since he seems not to care when companies like nVidia, ATi, and TiVo violate the license), that is the license he picked for it, and the license says "thou shalt not link with proprietary code!"

Linux should be *open* to using either. If not than it's not really a "open" tool.

This is why people argue that the BSD license is more open than the GPL. However, the restriction against linking with proprietary code is what ensures that certain free software actually gets written. It's a means to an end that ultimately results in true openness.

This is why people argue that the BSD license is more open than the GPL. However, the restriction against linking with proprietary code is what ensures that certain free software actually gets written. It's a means to an end that ultimately results in true openness.

But binary blobs, and their open source equivalents (drivers written under NDA), are common in Linux. While OpenBSD is free and fights for hardware docs, the Linux crowd just sits on the sideline doing nothing.

I dunno, that sounds bogus to me. if the kernel is truly under GPLv2 there is no reason why end users cannot load binary modules.What the GPLv2 actually says is that if you distribute derivatives of the GPL'ed product you have to make your modifications open source. In no way shape or form is a GPU driver a "derivative" of the Linux kernel. That's like saying Slashdot is a derivative of the glibc project because the Apache server it runs on uses it.

And not only that, but I want my $300 graphics card I bought to play UT2004 and Quake 4 on to perform like a $300 graphics card. This is one area where nVidia's proprietary driver hasn't been touched in the past five years or so. The driver not only works (For most), but it works about as well as the Windows driver.That's not to say the opensource driver people can't develop a great driver given the necessary documentation, just that sometimes proprietary drivers aren't all bad. And as someone else mentione

There you have it. If Linux systems ever want to develop greater market penetration and actually challenge the dominance of Windows, they need to to be able to handle all the same things, including video. I say, use the proprietary drivers until approrpiate ones can be reverse engineered, then dump them for the open source versions. If more and more people begin to use Linux systems, eventually the graphics systems manufacturers are going to have to cave to market forces and support the open source system.

I want my GeForce to work too, but every time my xserver gets updated, the driver needs to be recompiled. I run debian unstable, so this happens a LOT. THe result is a total pain in the ass. Furthermore, it's a total pain in the ass for anyone installing ANY version of linux - making linux unfriendly.Already, there are many wifi adapters, printers, scanners, controller cards, video cards, USB devices, sound cards, etc. that will not work at all because manufacturers stopped releasing hardware programming sp

This is (yet) another way Linus has misunderstood a legal, rather then technical challenge (along with GPL v3 & the bitkeeper fiasco).

Proprietary drivers should never have been allowed to link to the linux kernel - doing so makes them a derivitive (yes, even those drivers that predate the linux kernel). Allowing them to link has diluted efforts to create free drivers, diluted the GPL's effectiveness (in the kernel) and allowed Nvidia & ATI to appear to be contributing more then they actually are.

I'm lucky (hah!) enogh to be using a driver from a vendor [sourceforge.net] who shows a little more support for OSS, but while the software is quite stable, the actual hardware is crap (and utterly useless for games).

[quote]Why are GPUs any different?[/quote]GPUs don't have to remain 'binary compatible' with their predecessors. When you buy a new graphics card, you get an updated driver that supports the new chip. This is why GPUs evolve more quickly, why they have exceeded Moore's Law by such a significant margin.

This is not a statement in defense of closed-source drivers. The open source model makes "upgrades" of this sort actually EASIER. But you cannot put CPUs and GPUs into the same class of device.

Because there would be no incentive to buy their hardware if they didnt write drivers too, just as there would be no incentive to buy x86 processors for home use these days unless an OS existed for them. I'd prefer that the drivers are tuned and released at the same time as/before the hardware, rahther than wait for a while for the community to catch up. Open sourcing the drivers would be great, though if nVidia are doing a good job at providing drivers for their hardware, then where is the problem? I dont

"It's like AMD or Intel selling an OS. And saying 'you must use this OS with this processor'. That trick didn't fan out to well for IBM (System/360 anyone?) and wouldn't work for x86 processors either."

Yeah, nobody, not AMD, not Intel, NOBODY would want to repeat the s/360 debacle. Domintaing an industry for decades, tens of billions in sales. Really. Who wants that?

It's funny because he's a complete jackass. "Spelt" is a variant past tense of spell going back at least to 1750.

It's not even particularly variant, since it's pretty common to devoice a final (typically) voiced stop; in this instance, it'd be [d] > [t]. It's just an example of a "non-standard" orthographic representation adopted to more closely match the pronunciation in a given dialect.

I think you have it the wrong way around. If Linux does not have drivers for main stream hardware such as video cards and such, then linux will become irrelevant. If proprietary drivers for such cards were blocked from loading on the next kernel release you would be left with the crappy hardware you mentioned or you would switch to Windows which would have the drivers to support the hardware you want/need to run.

This whole argument of allowing/disallowing proprietary drivers is more of a religious war

I have a deep desire when I install an OS for my hardware to "just work" without having to spend hours configuring what should be done automatically. Of course, I also want those devices to always work without random driver breakages during kernel upgrades and such.I guess when it boils down to it, I want the source driver with all the freedoms of the GPL. That way I always have control and know that any future kernel updates that kill the driver will result in the possibility of fixing it with or without t

Yeah, it's great to be an idealist, but there are some of us who want usable 3D. I fall squarely in the latter category, and I will continue to load proprietary modules into my kernel.

Any move by the FSF to prohibit this will only drive people away from Linux, since it's not likely that NVidia and ATI will ever open their drivers completely. Free Software is great for some things, but occasionally the FSF has to recognize that some proprietary elements are unavoidable.

I fall squarely in the latter category, and I will continue to load proprietary modules into my kernel.
Any move by the FSF to prohibit this will only drive people away from Linux, since it's not likely that NVidia and ATI will ever open their drivers completely.

Any move by the FSF to prohibit this would essentially start "closing" Linux. Since all it would require to work around it would (hopefully) be to correct the kernel. If the FSF did prohibit the linking, how would this be any different than Mi

If a Linux Distro is really open, should the user not have the freedom to choose if he wants to use open-source drivers or proprietary drivers. Being slavish to the 'open-source only' rule is in fact counter to the spirit of it all.

Oh goody, another licence flamewar. Seriously, proprietary software is going to be a fact of life for ever, intentionally annoying your users by preventing them using binary modules is only going to reduce Linux uptake.

The Linux kernel offers API's and services that allow proprietary applications to run. If you look at a video driver as an "application to display information" then I see no reason why a proprietary driver couldn't be used with the Linux kernel. Just stick to a well defined set of API's and this discussion becomes a non-issue.

The Linux kernel offers API's and services that allow proprietary applications to run. If you look at a video driver as an "application to display information" then I see no reason why a proprietary driver couldn't be used with the Linux kernel.

The standard Linux kernel API (syscalls, etc.) presumably isn't sufficient to write a high-performance video driver. That's why they're writing kernel modules instead of applications. But kernel modules by their nature are loaded into the same memory space as the

The Open Graphics Project recently released schematics for their first product and are steadily making progress towards completing it for sale (http://kerneltrap.org/node/6262 [kerneltrap.org]). If Libre graphics drivers are REALLY important to you, you might want to consider looking them up at "www.opengraphics.org". Despite being unfunded since early 2005 (which they could use some help with), they are still managing to make some headway. Those people with technical expertise (graphics drivers, graphics hardware, PCB design, chip design) would do well to pitch in to the effort. And those with money who also complain about the lack of Libre drivers should put their money where their mouths are. Rather than sitting around and complaining about it, the founders of the OGP decided to actually DO something about it; if you want to do more than just complain, they could use your help.

OGP seems a brilliant idea but without significant financial backing from a major player (nVidia, ATI, IBM, someone like that), it's basically just a hobby project. Who is going to back a piece of electronics on which they have no IP and which ANYONE, even say nVidia or ATI or some bloke on eBay, could copy and sell?

I hate IP issues as much as the next slashdotter but I really can't see this taking off.

LinuxBIOS has taken off in a TINY way because it allows large Linux-dependent companies to boot their machines faster for a tiny piece of free code that they can stick on a £5 flash chip themselves with a £100 device.

OpenCores and the like haven't because the designs are fantastic but to actually put them into hardware in any bulk way costs an awful lot of money.

OGP is basically a large OpenCore project that relies on being able to manufacture cards that are built with some VERY expensive components, for a final price which may be way more than any average graphics card on the market but yet can't outperform that average card. And there's no way to reduce that cost even if you were to assemble it yourself (in fact, it would probably cost more).

And then you have, say, 10,000 units of these cards that you sell at just over cost (literally, because any more and people would laugh at the price tag). The profit you would make would be nowhere near enough to justify the effort, to secure the next batch or to convince some investor to plant millions into the scheme.

And in the end you get a few thousand people who are happy running an open system that costs them much, much more in terms of time, effort and money than **any** card on the market.

It's not going to change the world and it's REALLY NOT going to be available anytime soon in any shop (even the ones who stock every obscure component known to man etc.) for anyone to even notice it exists. By the time it gets there, it's going to be obsolete. By the time the new, improved model is released, it will also be obsolete.

Then you have legal problems like what if nVidia decides it hold a patent on something (hardware patents are much easier to enforce than software)? What if the cards explode in someone's machine? The disclaimers are all well and good but the slightest bad press will kill the entire project stone dead.

And in the end a graphics card is just a graphics card. Those that need the fancy 3D are gamers (who don't care about binaries) or 3D professionals (who wouldn't touch stuff like OGP with no warranties, no performance advantage, etc.).

I have an EPIA M10000. Next time I build a PC, I'll probably pick another VIA EPIA. Why? Because VIA released source code for drivers for every piece of hardware in the system, from the S3 UniChrome graphics card to the hardware MPEG decoder, from the ethernet interface (hello, nVidia) to the hardware random number generator.

It's also a nice stable silent mini board with a CPU that runs on 4W of power.

If you don't need gaming-level 3D performance or heavy number crunching power, a VIA EPIA-based system is a great option.

I'm reasonably happy with the current situation. I run several proprietary drivers on my system (nVidia, in particular). I like that the stock kernel isn't tainted and is redistributable and hackable (not that I ever hack it, it's the principle.) And I like that proprietary closed-source drivers are nevertheless available to me.But most of all, I like that *I* get to choose when and whether to use them -- this is the very core of free software.

Allowing some company to run a binary driver on my computer, when I cannot see the source code for that driver, is not in the interest of best practices security. Using those binary drivers on a computer that has a need for high level of security is a self-defeating endeavor.

The good move would be to go the opensource way also for hardware. Something like OpenCores [opencores.org].
Of course this move would be quite long and hard to go. But we all can bet that the emerging product would be by far better than the closed one.
Just like it is happening for *BSD systems against the notorious "Unix Sys V" or, better, Linux against Microsoft.
Reverse engineering can be tough as well, but a good disassembler would do the magics: once you know how they do it, you can guess why they do it that way and

Sometimes I think those free software guys are going way to ideological. Granted, linux would not be as succesfull today without their GNU tools (hence GNU/linux is the correct name to them), and without the GPL i can't imagine what legal troubles might have been here (hooray for SCO!), and how we would solve them. The GPL is fairly strong for this matter.

Even more, I would say we should be thankful to nVidia and Ati for even going into the trouble of creating their proprietary video drivers, even if this

I used to think having a Linux kernel driver ABI would be a good thing. But then I started to change once I read about the OpenBSD ilk and their trials with wireless, RAID, etc. (and their recent "blob" song). My attitude these days is "not in my kernel".

Binary blobs prevent peer review for security. They are in themselves a security risk as any vendor could use them to inject God-only-knows what hooks into the kernel (Sony rootkit native on Linux, anyone?). And I'd be more inclined trust the quality of code from the Linux community above and beyond anything proprietary.

I'd rather go without. If we must have binary drivers, they should either be run in user-space through a strict Free-software gateway or provided as a safe byte-code for a driver virtual machine.

So it doesn't matter what people think about it. It is allowed... move on. NVidia and ATI will never release open source drivers that have the same performance as their proprietary closed driver so what does this matter? If Linux wants to survive in the 3d performance arena that require high performance video cards then it has to allow proprietary drivers otherwise it is screwed. If the Linux kernel changed to not allow any proprietary drivers to ever link in any way with the kernel then Linux desktop use would be reduced dramatically. I have been using it for 9 years and 5 years exclusively on my desktop without Windows but I would drop it in a heartbeat if the latest 3d games and 3d modelling software that normally get released for Linux wouldn't have about same performance as a Windows setup. If MS wanted to severly hamper Linux growth it would be relatively simple... buy NVidia and ATI and stop releasing drivers for Linux:). Some might say that the server market would keep growing the same but that would not be true because without 3d performance I bet that quite a few developers would stop producing code for Linux which in some way or another would also eventually slow server ocde development(less people with the skills on Linux).

One you make this decision you can't turn back. The second that you allow proprietary drivers to be used by linux you will see a sharp decrease in the number of opensource drivers being worked on/used. When you have a working solution, you will not have the same desire/need for an opensource version. Yeah, of course we all know the argument, we love open source... and if you have a working windows, then why have an opensource OS. It is different though. Most people think that everyone that uses linux is a h

This argument is so old. I suppose the fact that it keeps coming back must indicate something, however.

I think there are two views. The first is that the kernel source should include all of the drivers' source. Buggy drivers destabilise the kernel and if they're closed, then then life is more difficult for the kernel devs.

The second view is that the kernel and the drivers ought to be separate as much as is feasible, that where possible, the kernel should expose a stable set of APIs which the drivers can

Live and let live. You can be idealistic as much as you want, but for 99.999% of the world, a Computer(and it's OS) is a tool, not a political statement. We just want the thing to work.I have absolutely no problem whatsoever with proprietry drivers, or proprietry software in general, and would encourage kernel developers to support them as best as possible. (I'm thinking a fixed API/ABI/Whatever so I don't have to reinstall every driver when I update my kernel). Leave that stupid "Warning: A proprietry kern

But personally I don't have any strong feelings against closed source drivers.
As long as they don't interfere with the OS or other applications.
Again only a strict protocol could prevent this without opening the source.

Perhaps I am not a big enough open source zealot. However, I would think that commercial software and hardware is a big boost to Linux as a whole. For example, Linux takes much longer to get support for certain types of hardware, simply because vendors want to protect their development effort.

So, using this reasoning, I am sure people believe that Oracle should open source their database, because it runs under Linux?

Although I like the thought of open source and free software, I also see the place for co

I donate to the FSF (money, not time) and consider myself to be a supporter in general.That said, a good fraction of my job is developing and deploying Java-based web portals and other infrastructure software on Linux servers - and I do need the "non free" Sun JDK and JRE for that.

So for me, it is a matter of pragmatism to sometimes use non-free software on Linux. (I have been using Ruby + Rails + Apache a lot more in the last year, and besides the simple fact that developing in Ruby is so much fun, I like

He has been quoted as saying that if the best tool for the job costs money, then he is going to buy it. True...if you go by the FSF way of doing things, then you can't have the drivers. However, it goes back to the "best tool for the job" argument. I need to make Linux work...period. If nobody is going to produce a driver that works and the company isn't going to open the driver, yet they provide it for free, I'm going to use it.

I currently have a notebook with an ATI Mobility Radeon 9700. Frustrated by the lack of open source drivers, I installed the proprietary ones offered by ATI... Big mistake... it caused so many problems, one of which had been listed as a known bug for half a year by ATI.

If a vendor want's to close source their drivers, then that's their decision... However, they should provide a decent level of support. A known bug should not exist for any more than several months (imagine what people would say if they did t

A little more seriously, let me just repost part of a comment that really illustrates the veracity of this answer:

And really, I don't know when you started to use [GNU/]Linux, but when Istarted (pre-1.0) we didn't have video drivers. We wrote them ourselves.We chose the freedom of [GNU/]Linux over the convenience of binary-onlyplatforms with working drivers. It shames me that so many of the currentgeneration of [GNU/]Linux users don't understand what the world before[GNU/]Linux was like. It was hell. Closed source binary-only driverseverywhere. Buggy code that you couldn't fix. [GNU/]Linux changed allthat. Finally we have source and freedom and rights. Finally there'ssomething to be proud of; an entirely open source operating system builtthrough the sweat and tears of 1000s of volunteers. And you wouldsacrifice all that for slightly faster 3D graphics? I can't comprehendyour state of mind. Your priorities are completely foreign to me.

I find this fanaticism in the open source community is what's crippling Linux. OMG, some are actually considering using code in the kernel to block proprietary drivers. Imagine the problems that is going to cause for the end user. That's insane, but that is the mentality in the open source community that puts the GPL over the user. The gpl purpose is to foster cooperation not to force it. If an entity believe its needs to protect its IP, then why does that preclude their software from operating with GPL software. Majority of users (99%) want something that just works. They don't care about proprietary, open source, or philosophy. They don't have a CS degree nor care to get one. They don't even read the EULA. They just want the function which coincidentally is the purpose of making software. The end is function! The end is the user! GPL is just a means to get there but it is not the only way.

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users....
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights.

I don't use Linux, so it doesn't much matter to me if it uses proprietary drivers or not. But I do use FreeBSD which has a proprietary driver or two available for it. My answer based on my FreeBSD experience is: "NO FSCKING WAY!"

There are many advantages to Open Source software, and to me, being fully in control of your computer is one of them. But when I used the NVidia driver I was not in control. When it was first announced I was in the process of building a new PC. On the basis of NVidia officially supporting FreeBSD, I decided on a GeForce card to show my reciprocal support. For a few months I was happy. Then the proprietary nature of the driver rose up and bit me. When a new FreeBSD CD set arrived on my doorstep via my subscription, I wasn't able to use it until NVidia updated their driver.

The last straw came when after SIX MONTHS of no updates, I went searching around for reasons. It turned out that NVidia had decided not to update the driver because they were tired of tracking an evolving kernel. They weren't going to release a new Binary Blob(tm) until the 5.x branch was declared stable. While that might make sense on the surface, how come none of the Open Source XFree86/X.org drivers had the same issue? How come none of the Open Source DRI drivers in FreeBSD had the same issue? This was especially painful because the driver KEPT CRASHING the kernel! In twenty five years of using Unix, BSD and Linux, this has been the only time I have seen a kernel crash.

I went to the store and bought a low end Radeon. I am using the Open Source radeon driver, and couldn't be happier. It has never crashed on me, and I never have to wait for someone to get around to syncing it up with an OS upgrade. The transition from FreeBSD 5.x to 6.0 was painless, which is how it should be.

And they're universally bullshit excuses, since the vast majority of those making such an argument don't even need to link with GPL code to make their program run on Linux. ATI is one of the few exceptions, and even then their argument is still bullshit because merely exposing the API for their card isn't going to kill their market advantage!

Not true. I want OEMs to write the drivers because they have the specs in front of them. Networking drivers have shown many times that releasing the spec to OS programmers often results in better drivers than the OEMs. There's no reason to assume the same can't happen with video drivers.

Actually, they don't work perfectly. The nvidia ones break suspend/resume, don't work with SElinux if execution on the stack/heap (which is vital to neuter buffer overflow attacks) is disabled, and the latest version of the nvidia drivers cause 'hall of mirrors' effects on games like Enemy Territory.

"Besides that, what's wrong with external modules like the nvidia drivers ? They work perfectly."1. That is what is currently allowed. Some people want to ban even that!2. No they don't always work perfectly. Linux currently lacks a stable driver API. I don't mean that it the API has bugs in it but that the API changes from kernel version to kernel version. When a new version of the kernel comes out you often have to recompile even external modules to get them them to work. If you have no source your are ou

Then you should support keeping drivers open source.See, a HW vendor will release a driver for their product for whatever the current version of linux is, may update it once or twice, but then once they no longer sell that product, wont bother anymore. Someone still using that hardware, who wants to upgrade to a version of linux newer than those supported by the HW vendor, is screwed. If the HW vendor either releases a driver that can be included in the kernel, or the information necesarry for a kernel deve

The problem is that userspace is SLOW. Even with DRI, you need context switches. Also, the kernel modules perform not only the connection to the main module, they also multiplex the commands sent to the card.

I dont want to know how it works.I just want to know how to talk to it properly so I can make it do what it is supposed to do (and push it to its full potential).My microsoft optical mouse might have code in a little embedded processor inside it (I dont know) but regardless of how it works, what matters is that it talks over USB and it talks using a known documented protocol (so any operating system is able to use it).My Intel Pentium IV 3.4GHz HT CPU does contain microcode that I dont have any source code for. But, it doesnt matter since the documentation of how to talk to it (the x86 instruction set) is open. (I dont know if the physical specs of how to talk to it and how to build a motherboard for it are open though)Its the same with graphics cards. We dont want or need the origonal design files for the custom ASICs used on the cards. Or the complete schematics for the cards. All we need is details of how to talk to the card and how to get it to draw stuff on the screen. (which these days means full hardware accellerated 3D being powered by OpenGL) If a manufacturer can provide a graphics card where the hardware interface is open and which supports all the things you need these days for games like Doom III, Unreal Tournament and Neverwinter Nights (like pixel and vertex shaders), I for one am prepared to put my money where my mouth is and support them.

If a manufacturer can provide a graphics card where the hardware interface is open and which supports all the things you need these days for games like Doom III, Unreal Tournament and Neverwinter Nights (like pixel and vertex shaders), I for one am prepared to put my money where my mouth is and support them.

Only problem being that a lot of the functionality these games require is actually in the driver, which is very very likely to be closed-source forever. Its as if you want to recreate a full personal com

It is also a pragmatic issue; heavy user reliance on proprietary drivers would make Linux development unsustainable.Just to pick one obvious example: if someone's running a proprietary video driver, and their network driver is crashing, it's proven in practice to be extremely difficult to distinguish between a subtle bug in the network driver and a bug in the video driver scribbling over memory in the network stack.

Without visibility into the source code for everything running in kernel-space, issues like