Plenty of loud argument has ensued over whether binary-only drivers belong in an operating system based on open source philosophies. David Chisnall examines the reasoning on both sides.
Plenty of loud argument has ensued over whether binary-only drivers belong in an operating system based on open source philosophies. David Chisnall examines the reasoning on both sides.
great aricle!
In the case of Linux, non-GPL binary modules are illegal: Not a lot of choices about whether you like them or no, or even if they’ve sense or not. Red Hat has already been lawsuited by a few people (and even enterprises could start suing people, would you like to be sued by companies like IBM because your binary module uses IBM-contributed-and-patented GPL code?) for including binary modules.
Drivers are not “sort-of apps using the kernel API”, they’re more like plugins inside of a big app. I can understand that people wants to to run propietary userspace apps on top of the kernel, but propietary binary drivers is a different beast.
Edited 2006-08-06 18:11
What drivers are depends a lot on how your system is built.
For Linux is true that it is more like a plugin in a big app, for a microkernel system this would not be as correct.
Wrong. Non-gpl compatible drivers are illegal. A “small” but truly gigantic difference.
And, if proprietary driver is wrapped into an open source(GPL) code that access the other parts of the kernel ?
Let’s say that wrapper code (interface to kernel) is dependent of every kernel version, and binary code is independent containing only algorithms and other data (Intellectual properties) protected by the manufacurer of the hardware device .
The driver writer (of proprietary driver), (or distributor) can be sued by the other kernel developers/contributors ?
If it is done carefully, proprietary binary code can be loaded into GPL code. Many GPL defenders like to claim otherwise, but the truth is that the GPL, as a copyright distribution license, only has power over the distribution of derived works.
It has no power over the user who does not distribute code. It has no power over code that is not derived from GPL code.
Which means, the end user can do anything he likes to GPL code and its derivatives, and the binary vendor isn’t even “inciting” him to do anything illegal by providing glue code and installation instructions.
I don’t think it misses that point at all. I would hope it is obvious to all that the GPL isn’t a watchdog over end users so they can do whatever they want. But it does go against the intent of the GPL and the vendor by making it also IMO goes against it as well as any distro that automatically installs these drivers without sny user input whatsoeveer.
I just thought it was a good article that discussed a lot of good points. Not that it covered every point, every argument, with tons of supportting material and interviews or anything. Just some good reading for those that aren’t familar with the issue.
🙂
I don’t think it misses that point at all.
Actually, it missed important points on both sides of the issue.
Any discussion of drivers that doesn’t cover the derived-work argument or the cost-of-support argument has missed a key argument on both sides. (Yes, I know, it claimed that Linux doesn’t allow binary drivers. This is neither correct, nor stated in the form of an argument for discussion.)
Just some good reading for those that aren’t familar with the issue.
If by “good”, you mean “misleading”, then yes.
It asserted the derived-work argument as fact. It missed NVIDIAs point about why it would be unlikely that anyone outside NVIDIA would be able to right good drivers for their cards. It didn’t talk about cost-related arguments, or the impact of opening drivers on the support overhead of vendors.
The issue of GPL or GPL-compatible driver stubs that expose an interface to a proprietary userspace driver is very much a grey area. There’s nothing in the text of the GPL that explicitly prohibits this distribution model, especially as the stub and driver are usually distributed as separate packages. However, in many jurisdictions, particularly in the US, judges are given quite a bit of leeway in interpreting the “spirit” or “intentions” of the licensor.
If there were a big enough case, and the plaintiff subpoenaed an expect witness such as Richard Stallman or Greg Kroah-Hartman, it is well within reason that the judge could rule that the whole system was explicitly designed to bypass the intentions of the licensor.
Besides the fact that the Linux market isn’t quite big enough to force the proprietary vendors’ hands, the primary reason why such a suit hasn’t been filed is the fear of setting an undesired legal precedent. As little as RMS and Linus agree upon these days, neither want a legal precedent that encourages the proliferation of suitably distributed binary-only drivers. Similarly, the hardware vendors don’t want a ruling that asserts that any binary-only driver is a violation of the intent of the GPL that covers the Linux kernel.
Add to the pile of reason why the GPLv3 is DOA that it doen’t directly address this important grey area.
And, if proprietary driver is wrapped into an open source(GPL) code that access the other parts of the kernel ?
That’s how the nVidia proprietary drivers works and it’s totally legit.
No, it isn’t, even if the wrapper were LGPL’d it would, IIRC, be swallowed up and turned GPL when linked into the kernel at runtime, your GPL wrapper can’t link to a non-GPL compatible module.
Wrapper code and and binary driver are owned by the same developer/company.
He/she can’t sue himself.
BlueCat/Montavista doesn’t seem to provide the full kernel source code of their own Linux distributions.
Edited 2006-08-06 23:43
No, it isn’t, even if the wrapper were LGPL’d it would, IIRC, be swallowed up and turned GPL when linked into the kernel at runtime, your GPL wrapper can’t link to a non-GPL compatible module.
The nVidia wrapper is under GPL. The wrapper doesn’t link to the binary driver, it loads it dinamically, so it’s OK.
Erm, I’m not so sure that this version of OK is compatible with the FSF version of OK.
Even if it’s linked dynamically at runtime it’s still linked, we’re talking about the GPL here.
Well, nvidia isn’t going to sue itself for its own binary driver violating the license on its own GPL wrapper so its a moot point.
This pops up every time…
A wrapper doesn’t shield closed software from the GPL… The wrapper must be GPL because the kernel forces it to, then the closed software must also be GPL because now the wrapper is forcing it to. The GPL is viral.
But the GPL only talks about “distribution”. You can make a GPLed wrapper and distribute it separately from the binary closed part. The user will join both parts, which is legal as long as he only uses them for himself and _doesn’t redistribute_.
A wrapper doesn’t shield closed software from the GPL… The wrapper must be GPL because the kernel forces it to, then the closed software must also be GPL because now the wrapper is forcing it to. The GPL is viral.
This is a commonly made, incorrect argument, that even Linus has cited counter examples to.
There is little case law on the meaning of derived in terms of software components compiled into larger systems, but what there is supports the opposite point of view.
From the GPL:
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
If I read that correctly, then something like ALSA for graphics drivers could be distributed with the kernel, then it’s up to the user to install the binary part.
IMO, it would be cool if the major vendors for graphic hardware could agree in making something like this that could be included with the distributions and then providing the binary parts as separate packages.
The wrapper can be LGPL’d. LGPL is a GPL compatible license.
In the case of Linux, non-GPL binary modules are illegal:
You have no understanding of copyright law. There is no “illegality” involved here.
Please note that parent is not referring to non-GPL-compatible binary Linux kernel modules being allowed of disallowed by the GPL. He is simply splitting hairs over the use of the word “illegal” to refer to a violation of civil code, under which copyright is established.
Perhaps the people who agree that this is an important distinction should join some sort of club or something?
He is simply splitting hairs over the use of the word “illegal” to refer to a violation of civil code, under which copyright is established.
No, he doesn’t understand copyright law if he’s using the word illegal. You were confused the other day too. It’s good that you seem to understand now.
I think it’s you who’s confused if you think there are no criminal penalties in copyright law.
By the way, you also didn’t understand that only copyright holders on relevant modules of code can bring legitimate lawsuits.
Seriously, you need to stop posting the “copyright is just civil law” crap, you’re 100% full of it.
http://www.law.cornell.edu/uscode/html/uscode18/usc_sec_18_00002319…
Heck, just watch the FBI warning on any DVD. There are criminal aspects to copyright law and they can cry big fines and jail time.
No mention of trifles such as the end-user, the consumer, user-friendly or “making something with you in mind”, such as a fully functioning Linux desktop. Just my 2 cents, but until some of these pundits get to grips with the idea that software is made to be used by users – and when did anyone last ask them about any of this? – these arguments are going to remain sterile. People can debate the finer points of software licences 24/7/365, but if something important doesn’t work or cannot be obtained most folks will vote with their feet. I really wonder what planet some of these pundits are on.
actually, no. that doesn’t matter in the least – we got where we are and do what we do because of the licenses, and we’re going to make damn sure we follow them, period. the “pundits” are on planet reality, in this case – this stuff IS important, whether end users like it or not.
OK. How does it matter?
As an end-user I *need* functioning 3d drivers to run my 3d modeling applications. That’s why I buy NVIDIA, and if NVIDIA pulls out of providing drivers for Linux because of the big stink people make about them, then GNU/Linux will have lost a long time fan and convert.
Personally I don’t think NVIDIA or ATI will lose anything by GPL’ing their drivers, I think they’ll actually gain quite a bit. But as a serious end-user I simply do not give a flying fornication about the philosophy of the GPL or GNU or the FSF. There’s nothing that drives me further away from something than ideology.
I have used Linux for years because I find it to the best current offering as a desktop and server OS, for my uses. I still use a Mac and my main desktop is still a Windows computer (because the apps I use for my day to day work aren’t on Linux) but I’d much rather be using Linux 99% of the time.
I completely agree, for appropriately limited definitions of “fully functioning.” A primary theme running through this article was that binary drivers raise significant concerns over security, stability, and [I’ll add] support.
While there exists a sufficiently broad legal grey area, most Linux distributors will continue to provide seamless distribution and installation routines for binary drivers and other questionable software.
However, part of what makes Linux-based systems attractive, particularly for corporate customers, is the single-provider support model offered by the large commercial distributors. Binary drivers make this support model partially or completely infeasible. Further, the hardware vendors can’t even support their own drivers effectively if you have additional proprietary kernel modules loaded on your system. Add this to the stability and security concerns addressed by the author.
Linux users have been able to tolerate binary drivers while the userbase was small and largely self-supporting. However, as I speak the market is moving towards a state of maturity that will strain this delivery model to its limits and expose its significant shortcomings.
Folks will vote with their feet. It’s just a question of whether they’ll place the blame on their Linux distributor or on their hardware vendors.
I’m not going to bother reading a one page article that has been split over five pages and then surrounded with more ads that article text.
@jonsmirl: Use the “Print” link on that page.
Really, how do you surf the net at all then?
I do not use ad blocker or anything but ads are completely tuned out. I could not name you a single ad that osnews has on it or the site with that article. Ads almost always have some degree of seperation and I personally just focus on the main section and never notice a single ad unless it is one of those annoying floaters.
I do agree it is a bit stretched out and drags you thru all of it though.
One good idea is to look for a [print] version link. Usually that cuts out anything except the article and does not spread it out over numerous pages.
well they may be “illegal” but IME they certainly a helluvalot better than the GPL versions, at least for:
nVidia glx – tried the open version, but they were slow and unstable compared to the nvidia version
nForce4 gigabit ethernet: tried forcedeth for a while, suffered low throughput, and random controller hangs requiring an idown/up cycle to restore to their original limited functionality. nvnet on the other hand has doubled the throughput, and hasn’t hung once in several days of use(contrast this with forcedeth which would’ve hung innumerable times in that span…)
“nForce4 gigabit ethernet: tried forcedeth for a while, suffered low throughput, and random controller hangs requiring an idown/up cycle to restore to their original limited functionality. nvnet on the other hand has doubled the throughput, and hasn’t hung once in several days of use(contrast this with forcedeth which would’ve hung innumerable times in that span…)”
I’m using the forcedeth driver on a large number of Tyan and HP Opteron workstation and it works just fine.
(I use it to monitor GbE lines in promisc mode)
I’d suggest you give one of the later kernels a try.
G.
The article mentions OpenBSD’s stance against binary drivers because they are a security risk. Are there any recorded instances of an actual security breach due to unsecure drivers? This sounds like straw-man tin-hat thinking to me.
… You have no way of knowing. (Unless someone gets caught red-handed in the cookie jar…)
If computer history seems to suggest that security through obscurity -never- works.
Did you miss David Maynor and Jon Ellch’s wireless driver hack? The one that’s been in the news over an over for the last week?
On the very same page (3) of the article, it refers to the recent discovery of a really bad security vulnerability in the Atheros wifi driver for Mac OSX that allows a malicious user to remotely exploit any MacBook within range that has its wireless radio turned on. The target doesn’t even need to be connected to any network for the exploit to work.
So, yes, insecure drivers are a real threat to the non-tinfoil-hat-wearing public.
The problem is not the MacBook itself, it’s the drivers for the Atheros card, which in turn was a third party card and NOT the builtin Airport card…
From The Register at
http://www.theregister.co.uk/2006/08/03/wifi_driver_hack/
‘During the demo, an Intel-based MacBook was used, with a third-party wireless card – not the wireless card that ships with the MacBook itself. This factor greatly diminishes the scope for mischief in practical terms.’
Actually I’m pretty sure they went on record after that demonstration saying that the vulnerability existed in the drivers for the Airport Card too.
http://blog.washingtonpost.com/securityfix/2006/08/followup_to_macb…
so a follow up was written.
to quote:
“During the course of our interview, it came out that Apple had leaned on Maynor and Ellch pretty hard not to make this an issue about the Mac drivers — mainly because Apple had not fixed the problem yet. Maynor acknowledged that he used a third-party wireless card in the demo so as not to draw attention to the flaw resident in Macbook drivers. But he also admitted that the same flaws were resident in the default Macbook wireless device drivers, and that those drivers were identically exploitable.”
windows
Much ado about nothing, in ONE way – find a way to make said binaries pass legal muster, and stop whining. Either that, or comply. Nuff said.
http://www.openbsd.org/lyrics.html
For the record with LoseThos, there are no strings attached (more open then GPL), but I discourage binary drivers and have ways of enforcing this sentiment by changing #defines and stuff in the kernel with new releases, requiring recompilation of 3rd party software.
One mode of using LoseThos is placing LoseThos live on application disks to run software on machines without LoseThos installed. It’s like placing a Linux application on a live linux disk and running it on a mchine without linux on the harddrive. It works with LoseThos because it’s only a few meg.
http://www.losethos.com
I figured that since you insist on continuing to spam OSNews about some OS you made that nobody has ever heard of, I might as well give you the benefit of the doubt and check it out.
You’re obviously freakin weirdo, but this little project you have is kinda interesting, in that for being so primitive and arcane, it sort of makes sense… in a way.
I can’t begin to comprehend why you think this program of yours is relevant to any of the threads you’ve spammed. Perhaps you should submit an article to OSNews? I bet you’d even find someone out there that wants to help you hack on it maybe.
It’s not that bad, it’s worth a skim.
Not relevant?
I have an Free, open-source OS and binary drivers are a relevant topic. What’s not relevant?
Compiled drivers give operating system authors more ability to make changes. With compiled drivers, I’m free to add parameters to system functions with default parameters set to maintain compatibility. I’m also free to change #defines and stuff and nothing breaks as long as people are recompiling after upgrades.
Your posts seem more like advertisments for your OS, which is off topic in every thread.
Writing an article would probably really be a lot better and would not get you -5 scores either …
Amazingly, this article does a bad job of covering both the arguments for and the arguments against blobs.
It didn’t even do a very good job of describing the arguments that it did discuss.
I don’t object to binaries, but I want freedom to change the operating system and there is more freedom if people recompile. I can expand the list of default parameters on system functions or change #defines. I won’t do it maliciously for the sake of doing it, but I will if I have a good reason.
“My experience with manufacturer’s drivers hasn’t been good, whereas my experience with open source drivers (where they exist) has been excellent. Perhaps I’m unusual in this respect.”
That’s a pretty bad argument. Creative does suck at creating drivers. ATI does too. I agree that most OSS drivers could work far better, but (!) the drivers that the OSS community has created for these two are both very basic in terms of functionality.
The DRI drivers are 2d only, there’s a ton of functionality missing there. Even then the 2d acceleration is marginally good.
As for the creative stuff, you can’t use software controlled hardware EQ, turn off the main speakers and change to headphones output upon headphone insert, use any of the EAX features, use hardware acceleration for audio playback among other things. Most audio cards don’t support hardware mixing or low latency recording/playback.
That’s all moot of course if the hardware manufacturer provided specs and references, as well as a few driver developers who are in the know. But that argument is still a very poor one.
If you have binary drivers, you don’t have a Free OS. If you have binary blobs as big as the kernel doing most of the work talking to the hardware, you have lost control of the OS, and if you were using the free OS for it’s freedom, you’ve just lost.
If you’re using it because it “just works”. you’ve also lost. The reason it “just works” is because people can poke around in a free systen and fix things. It’s impossible to do that in a closed system.
If you’re using it because it doesn’t cost anything.. well, all I can say is “have fun with your non-free system.”
Binary drivers have no place in a free system, because with binary drivers, you no longer have a free system.
Edited 2006-08-07 06:06
at least someone understands it.
ohh the days that linux had a small and knowledge userbase.
the problem is not having uninformed users , the problem is users that dont know a thing try to tell what the creaters and founders of all this what to do.
is funny really , users want linux to have stable api’s and binary drivers. what is then to make linux diferent than windows ?
do you actually think windows sucks , because bill gates said ” we are evil , lets make a sucky product ?”
windows sucks because it made “comercial” options. it made options to be backward compatible , even if it meant keeping known bugs to keep old stuff working.
it sucks because drivers can crash the whole thing as in linux. but windows rely on third party driver makers to make stable drivers. linux relies on linux developers to make stable drivers. there is a big diference.
well , news … sometimes ( well , 99 % ) third party companies write terrible drivers. ( cof cof , ati in windows some years ago)
i am really glad that linux doesnt has to please “shareholders”.
Binary drivers have no place in a free system, because with binary drivers, you no longer have a free system.
That’s based on a whacky enough definition of “free” that the overwhelming majority of people don’t care.
It is also, for the most part, a demonstration of “FOSS” hypocrisy, as the vast majority of “freedom” fans run their “free” OSes on PCs for which they have no source for the bios, without which their “free” OSes wouldn’t even start up.
The attitude towards closed source made me consider Linux less of an alternative to Windows. I don’t think an OS should be so limiting, and I certainly don’t like the attitude: the source is there, tweak it to your needs. Not all people are programmers, or even if they are maybe they don’t feel like developing, don’t know how, or don’t have the time.
First I was inclined to be very vehement about the Open Source philosophy, but than I’ve come to terms with the fact that it’s not my bussines to judge what some people do with their spare time. It’s generous of them to make the software available for me to use if I find it suitable to my needs.
I believe that core Linux developers are more interested by ethics that market share. If you look at it in this light you can decide for yourself if you care more about ideals or about pragmatism. I, for one, have chosen the latter, because I can’t afford the time to tweak my Linux system just to get some basic stuff done. It’s harsh, but true.
Why do people act like the ability to hack, code and tweak their system is only a benifit to programmers or others who know the ins and outs of their system?
If those core Linux developers weren’t so adamant about all aspects of the code being free then neither they nor the other programmers of the world would be able to freely hack, code and tweak software for your or my computer. The more stuff that stays closed the worse it is for us because it means many less developers working on it for us.
And when choosing an open solution that doesn’t work so well over something closed that works now it only seems like an ethical choice. But years from now when that closed code is no longer around, or is no longer free (as in beer) and the free code has been perfected and is steadily improving, the decision to go with Free software will be seen for the pragmatic choice that it is.
Maybe for you it’s practical to go with what works now, on your personal computer (I admit, I do it too), but it is not practical for any of us for the developers to just go with the working closed source solution.
I assume you removed my highly relevant comments because you think there is something illegal with LoseThos. It’s 100% legit with no reverse engineering Bios code. I looked at some Linux code, when doing hard drive support but later found a document on ATA commands on the internet. FreeDos helped me boot it in the early days as a launch pad from TASM files. I used their font. That’s the only possible legal issue.
Ironically, my boot loaders don’t even use BIOS calls, doing direct access to IDE controllers, instead, so it’s even less BIOS based then normal. I found documentation on IDE controllers and did direct IDE access–documentation is way better then reverse engineering–who has the time or patience for that?
I’ll repeat my highly relevant comment on binary modules.
Recompiling modules allows the kernel to change during updates without rendering stuff incompatible.
Most kernels are C, not C++. Mine is something in-between because I have default parameters available for functions and I can add new parameters to system calls without creating backward compatibility problems. I make the default parameter match old version behavior.
Where did anyone complain about the legality of your OS?
They removed relevant on topic comments and posted warnings on copyright penalties, so I assumed so.
After looking again I think I know what you mean with the mornings, however in my opinion they have not been a reply to any of your posts but discussions about NVidia/ATI/etc. drivers in the linux kernel.
And don’t forget that a revelant comment (for example that an unstable API like you use encourages open drivers maintained along with the kernel) can be diluted if you mix it with references to your os too much, which in my opionin are seen as adverts. This results in a -5 score not because of the revelant part of it, but because of the irrelevant.
I have to admit your OS is probably not well known enough (yet?) to be relevant. Don’t worry – the same applies to my coding at that kernel level.
Besides it is a pity that the discussions here are mainly about Linux as the title implies only Free OS, and Linux is not the only free OS. The discussion should not contain any specific OS anyway.
The open source aspect of linux IS important because it is what is responsible for where linux has gotten today.
— “Most people dont care about whether they are using closed source drivers or not”
The access to code isn’t aimed at everyone, thats how it has always been with linux, but my hope in linux is founded in that if i see something that should be differente, even though i may not be able to write code to change it, there is a big chance that someone else also think that that thing should be differente and actually CAN write code to change it.
For example:
It might not matter to me right now that mplayer is free and open source, but the day i watch divx on my Xbox (1) in Xbox Media Center, it does make a difference, its because of mplayer being open source that i am able to do that.
Or how i was able to run Linux on my Xbox, i dont see any closed source OS that can run on it.
Say the Xbox was 128bit, then linux wouldnt had been able to run in X if the only drivers were closed source.
My Windows-fan friends always make fun of my OS-choice and say things like (ironic) “Have you looked alot at the source lately? Good thing to have around!”
Well no, i havent, but i know that there are people out there who are, and who are doing the changes i also want to be done.
The open source aspect of linux IS important because it is what is responsible for where linux has gotten today.
Being open matters to Linux’s success. Being “free” in the FSF sense does not.
Even the overwhelming majority of kernel developers use the blob drivers for the graphics cards.
How would it have evolved so much if sharing was not required? If everyone had to recreate the wheel over and over because the code wasn’t “free” then how would we have come so far so fast?
why is it that users thar have been using windows all this time , come to linux and want binary drivers ?
you dont care if linux use a binary driver. do you care for linux ?
please , just answer… do you really care ? would you like for linux to keep its stability , security ? or are you using it because linux makes you look 1337 ?
when vista rolls out , will you keep using linux ?
you may not care , but someone has to. specially those that make gnu/linux as they dont know how to continue doing it otherwise.
i wonder how Xorg and Direct-fb development would be if graphics card specs were open ( NOTE , not asking for open drivers )
wonder if ralink and other driver would crash the system with preempt enabled ( dunno if latest versions do , but some versions did )
wonder if my late adsl modem vender already allows me to use a 2.6 kernel , instead of 2.4
NOTE – for those that dont care about the source : nobody is asking you to review , read , change the code. BUT PLEASE UNDERSTAND , if you want things to work , its because someone has to review it ! if no one can review it , we cant make it work.
( see for example , intel graphic cards already work with aiglx ( at lease its what i read in forums , as i have an nvidia ) and nvidia and ati cards dont ( specially nvidia that doesnt work well with 7.1 xserver )) and guess what ?!?? NOBODY CAN DO ANYTHING ABOUT THAT
Edited 2006-08-07 10:02
why is it that users thar have been using windows all this time , come to linux and want binary drivers ?
The average user doesn’t care, they just want their hardware to work. Now why doesn’t it work? Company won’t release specs or write a driver. Why won’t it write a driver? Because it needs to be open-source, and they can’t do that (often they have no choice – they signed NDAs to get components of that hardware).
you dont care if linux use a binary driver. do you care for linux ?
Of course you do, why else would you use it ;-).
The drivers where open-source matters are general stuff like IDE, USB host controllers, SATA, known standards like SCSI – in other words, stuff that is used on a lot of hardware. When people say driver, they usually mean something used for exactly one piece of hardware. The benefits of writing an open-source driver for one individual product, like an NVidia FX5200, is much lower than writing one for an entire family of devices.
when vista rolls out , will you keep using linux ?
From what I hear, Vista will be terrible, but people ought to try both, just to know what they’re missing out.
It amuses me how Linux/OSS zealots expect that every driver can be open-sourced. Obviously they never tried submitting patches to any large open-source project, except maybe their own. And if every hardware manufacturer in the world started making open-source drivers and they were all accepted into the kernel, the kernel source would grow to many gigabytes in size. It’s just impractical to keep all the drivers for all the hardware in the world in one kernel tarball.
Linux developers claim that they could change the USB architecture because the drivers were open-source. Rubbish – it was also because there were few drivers to begin with. If there were 1000 drivers, who would have the time to rewrite all the code?
specially nvidia that doesnt work well with 7.1 xserver
Many drivers don’t work with 7.1, and I heard NVidia is fixing it. And NVidia cards work much better than Via Unichrome, whose drivers were open-sourced – it still crashes unbelievably often, Linux and Windows.
Driver support has always been a serious issue for me with Linux, and I am doing something about it. For the past 3 years I’ve been working on getting (the user-space) USB scanner drivers for Windows to work on Linux, and I’m close to finishing. Unlike the SANE project in which 176 of the 1273 listed scanners are completely supported, this should let you run virtually all Windows scanners under Linux.
wonder if my late adsl modem vender already allows me to use a 2.6 kernel , instead of 2.4
You see why an unstable kernel API/ABI, and the general Linux attitude on binary drivers, is bad news?
What are YOU doing to help?
Of course you do, why else would you use it ;-).
why else ?! lots of reasons.
but do you really care ? would you like linux to be much better than windows and be a great operating system , or do you just care that it works ?and if windows vista ( lets pretend here ) is much better than linux , will you still care for linux ?
ike an NVidia FX5200, is much lower than writing one for an entire family of devices.
but there isnt a driver for a product. there is a driver for a family of products. similar like the ati r200 drivers , dont only work with one product. like the r300 drivers works with a family of products ( 9500,9700,9800,etc )
From what I hear, Vista will be terrible, but people ought to try both, just to know what they’re missing out.
yeah , vista is terrible … but if it was great ? lets just dump linux ?
It amuses me how Linux/OSS zealots
i am not neither a linux nor OSS zealot. i am a freedom zealot
Obviously they never tried submitting patches to any large open-source project, except maybe their own.
well , never really , because kde is a very small open-source project
the kernel source would grow to many gigabytes in size sooo … that is your reason disc space … and you have proof for these “gigabytes” , right ?
hey , lets not make translations to other languages , lets just make english and french and german. because then, if we translate to every language , it would grow to many gigabytes.
Linux developers claim that they could change the USB architecture because the drivers were open-source. Rubbish – it was also because there were few drivers to begin with. If there were 1000 drivers, who would have the time to rewrite all the code?
<sarcasm> yeah , those damn liers ! i mean , what a stupid lie of them telling that they could not change how usb worked only because they … well , could not change how usb drivers worked ! </sarcasm>
Many drivers don’t work with 7.1, and I heard NVidia is fixing it. And NVidia cards work much better than Via Unichrome, whose drivers were open-sourced – it still crashes unbelievably often, Linux and Windows.
i am very glad they are working in it. nvidia is friendly to open source developers. they are responsive and care about linux development. although they dont release the specs ( to bad ) they care about linux ( as stated by xorg developers )
but , by the way , i can make nvidia crash linux any time i want. just go to a frambuffer , use fbtv or anything else that uses the framebuffer , and switch back to X … instant freeze ( this is since the first driver release until now , and will never change )
Driver support has always been a serious issue for me with Linux, and I am doing something about it.
that is great. thanx you for this.
this should let you run virtually all Windows scanners under Linux.
is it going to be like the wifi drivers ? where none has all the features and most crash the system ? will it grow to many gigabytes ?
You see why an unstable kernel API/ABI, and the general Linux attitude on binary drivers, is bad news?
stop and think for a minute. above you state that the linux developers wrongly clamed that they could change the usb architecture because they had open source drivers.
so what do you want ? an architecture that never changes ? to have closed drivers ? and if a bug is found ? and a feature can be introduced ? what if its necessary to change something ????
bad news would it be for a stable api. then , it would be impossible to change things like the usb architecture.
you want a stable api ? you got one … just look at what X development was. Xfree was as stable as it gets.
not Xorg is evolving , even the api from 7.1 is slightly diferent than 7.0. now , remember Xfree and look now at Xorg… i think i can rest my case.
You see why an unstable kernel API/ABI, and the general Linux attitude on binary drivers, is bad news?
What are YOU doing to help?
well , not spreading FUD for starters. you seem to suffer the ” i am smarter than everyone else , and i am the only one that submit patchs to large open source projects , and i am smarter than the linux developers , and i am smarter than the sane developers” . well , what i wanna say is , you may be smart , ( please , i am not insulting or trying to ofend you , fully respect your position ) but please try to keep an open mind! keep an open mind that maybe the linux developers might know what would make it easy to develop linux.
i myself gravitate more around kde and im messaging. how i would love for a fully open and documented msn specs
An operating system should not be a religion. If Vista would be greater in every little detail – well, why not switch?
And having gigabytes of source code is not only a disk space problem. It is likely a big organizational problem. If someone is really able to manage a project that big – great, then no problem. But this is unlikely.
An operating system should not be a religion. If Vista would be greater in every little detail – well, why not switch?
for end users , and business yes , of course.
but what for the developers , the creaters ? they made their “baby”, surelly they about it , and want to make it the best , even if “vista” is better
And having gigabytes of source code is not only a disk space problem. It is likely a big organizational problem. If someone is really able to manage a project that big – great, then no problem. But this is unlikely.
the problem is that drivers dont grow go gigabites. see for example the size of the source kernel compressed and uncompressed.
of course , it it would really get that big , probably a solution would be found. ( maybe kernel-core , kernel-current-drivers, kernel-legacy-drivers, etc )
by the way … have you noticed how big is windows xp nvidia drivers ? its 40m for english only and 60m for international !!! its bigger than the linux kernel !!
The developers will hopefully improve their “baby” then to get on the same level as Vista in this example, if they care about end users and business.
If they do, they need to compete and the rules are made by end user and business. If end users and business don’t care if every driver is open source but the result of this requirement is that some pieces of hardware aren’t covered at all by drivers – well, either you develop for yourself or for end users in this scenario, but not for both.
I consider the linux kernel already a huge project – I’m surprised actually that it works that well without already having been split up like you mentioned.
And yes, the nvidia drivers are huge, no idea why, probably because it contains an installer, images, etc.?
well , there are end users , that do care.
this is a problem of users coming from windows, and just wanting another windows.
linux must not turn into another windows. we come so far making decisions based on freedom , security , good software.
lets not just make hacks now to allow every piece of code to work, because the end user wants to.
when i see posts like ” WHO CARES , NOBODY CARES “… its ppl coming from windows , that have a “windows” mentality.
i guess that most people that has been with linux from the start knows that gpl is great and binary drivers are bad
Okay in that case however nobody should be surprised not to catch the users that don’t care. (The old desktop linux discussion)
And is there only black & white? Does every closed source os or even with only closed source drivers have to be like Windows?
Being open doesn’t automatically mean being better and in this area probably a mixed approach could result in more drivers.
well , of course , it isnt black or white.
that being said , windows has the possibility of being much better than linux.
but , that is like saying that when vista is released , there is the possibility of every virus stopping to exist , and never ever be another virus !
( we should not be that naive )
another thing , is that with binary drivers , it is black and white as to giving support ! they may be good , i mean , work perfectly , without apparent bugs. of course.
but never ever can be given support on some piece of code that you have no idea what it is.
and since linux companies give support service …
An operating system should not be a religion. If Vista would be greater in every little detail – well, why not switch?
Depends on what you expect for the future. If you expect that Windows Vista and its successors will suit your needs for the next 10 years, go for it.
On the other hand, if you like getting the benefits of a free (as in speech) OS (stability, no DRM, no stupid registration/activation hassle), maybe you will stay? And mind you: The free OS won’t get better if you do not do anything about it. Relying on others to improve the free system so you can switch back if you don’t like Vista anymore, means you are just a freeloader.
Munich (Bavaria, Germany) choose Linux with good reason although it is more expensive (in the next 5 years) than Windows (due to the massive rebates given by Steve – monkey boy – Ballmer).
I think with “Linux” its almost the same as with evolution: If an indiviual does not reproduce itself, from the point of “the evolution” it does not matter if this indiviual was born at all. Its the same with Linux: If you don’t write code, test, translate, document, support other users or just give money, you do not matter for “Linux” (whereas you have to buy a proprietary OS so you matter due to your license money).
fs
And having gigabytes of source code is not only a disk space problem. It is likely a big organizational problem. If someone is really able to manage a project that big – great, then no problem. But this is unlikely.
Ironically, Andrew Morton has already pointed to that as an issue. The volume of bugs is increasing, because developers aren’t motivated to maintain code relating to older systems and peripherals.
So the devs want all driver code in the kernel, despite the fact that even under the current situation they can’t properly maintain it.
Zealous idealism meets cold hard reality.
Not that I believe hardware vendors are any better motivated to address legacy hardware support, but it’s frustrating that the zealots are too stubborn to admit there may be room for a compromise somewhere.
Oh well. My own fault I guess for not realizing I could only experience true freedom by restricting myself to someone else’s ideals.
From the article…..“The quality argument is used by both sides. A spokesman for NVIDIA recently argued that there was no point in releasing the specifications for NVIDIA’s cards, because no one outside their organization had the skill required to write a competent driver.”
This argument is flawed, and yes I know it is from the beginning of it. If no one else has the skills, then NVIDIA is in a world of hurt should some of their driver programmers get hit by a bus. Does that mean the company would not be able to replace the programmers? That would also mean that should employees with that function leave, NVIDIA would be going out of business since they would no longer have the stable drivers they do now…I don’t believe it.
Yea, I took that as a slap in the face for every coder not working for nvidia.
Man the programmers at nvidia should go on strike and demand a 100% pay increase if according to nvidia they have them by the balls that badly.
Yea, I took that as a slap in the face for every coder not working for nvidia.
I think the author was being sarcastic.
But he misses NVIDIA’s point. There’s more to writing good drivers than having access to specs, no matter how good a programmer you are. Having access to the actual hardware developers gives a driver writer an advantage, especially when the spec is ambiguous, and even the best specs are ambiguous.
You can have the access and not take advantage of it, giving you bad drivers, but you can’t take advantage of it if you don’t have it.
The issue of closed or open source drivers is pretty irrelevant. The only reason why this is being discussed is demand.
If there was demand for Linux further afield than the server, and on to the desktop, the one question hardware manufacturers would be asking themselves is “What do I need to write drivers to make money out of this thing?” If that means writing open source drivers and getting them in the kernel then that’s exactly what they’d do. If they don’t, providing there’s demand, then another competitor will move in and take their potential market.
Look at the amount of server hardware that has drivers in the kernel, and look at things like reliable and working CPU throttling drivers out of the box – which Windows doesn’t have incidentally. Anything that doesn’t have Linux drivers in the kernel ready and working, like some awful RAID cards, are absolutely worthless as bits of server hardware these days. In order to run Linux, when I built one of my servers I dismissed lots of RAID cards out of hand if they didn’t support Linux and you have to keep in mind I was spending hundreds of pounds.
In the case of nVidia, ATI and the graphics market, the desktop and Linux world would (hopefully) be demanding so much that they’d have to look at how reliably they could get their hardware to work out of the box. If they refused to open their drivers and get them working with the kernel process then another competitor who is willing to do that could conceivably come along (if there’s demand), get their hardware working out of the box and pre-installed and that would give nVidia and ATI something to new to think about.
Edited 2006-08-07 16:42
These are:
1) Linux works on almost any platform, including arm, IA64, sparc, hppa etc.
Binary drivers are usually available for x86, AMD64, powerpc only.
What’s more Linux developers have an abition to make it immediately available to any new, emerging platform – that’s only possible with having source.
2) Linux is targeted at working with older hardware well. Hardware producers only produce binary drivers for their new models, to force users to upgrade.
This means new version of Linux based on binary drivers would require hardware change/upgrade. Just ask Windows 64 bit users what a pain it is not to have drivers for their proven, working, still modern, good quality scanners or printers 🙁
Also new Linux versions are released much more often than Windows versions, so these issues would be multiplied.
3) Hardware of the same type within same generation is usually not that different, products from different producers are just incompatible with each other. I suppose that most of the code could be shared (be the same) across nvidia/ati/intel/via/sis/xgi graphics. Having that – a lot linux own of shared code – may even prove less time consuming to develop than dealing with binary blobs.
4) And there’s security and stability aspect that almost everybody mentioned – drivers working in kernel mode may break the system. It’s much easier to assure quality level when you have access to whole source code, so that you can eliminate bugs.