Slashdot Mirror


Should Linux Have a Binary Kernel Driver Layer?

zerojoker writes "The discussion is not new but was heated up by a blog entry from Greg Kroah-Hartman: Three OSDL Japan members, namely Fujitsu, NEC and Hitachi are pushing for a stable Kernel driver layer/API, so that driver developers wouldn't need to put their drivers into the main kernel tree. GKH has several points against such an idea." What do you think?

944 comments

  1. Oh, I'm all for it. by Anonymous Coward · · Score: 5, Funny

    Linux, with the stability of Windows prior to the advent of certified drivers.

    1. Re:Oh, I'm all for it. by KiloByte · · Score: 3, Insightful

      Driver certification means just that Microsoft received the driver, and agreed to confirm that the driver comes from one of its business partners, and not from a suspicious open-source hacker. You don't even have a guarantee that the driver is free from rootkits.

      The company isn't really interested in fixing any issues with the drivers -- if you have problems with a bug, you have already paid them all the money they are going to get for that particular piece of hardware.

      An example: the !@#$%^&* nVidia proprietary X driver. On some older cards, it will cause kernel oopses, within my usage patterns around once per several hours. Is there anything we can do to fix the problem? I'm not a master kernel hacker, but I do have some rudimentary skills there -- I would have at least some chances to make a fix myself; if I wouldn't succeed, reporting a data-loss bug would make us have it fixed by someone with more knowledge in no time.
      On my current desktop, switching to text mode the first time X is run after a boot puts the console into 80x25 mode without even doing a TIOCSWINSZ. Somehow, if I kill the X server, reset the video mode then start X again, everything is fine, until the next boot/resume. What can I do to fix this annoyance? Begging to nVidia does nyet work.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    2. Re:Oh, I'm all for it. by larkost · · Score: 2, Insightful

      On the driver certification part: it does only certify that the driver came from a Microsoft business partner... but the characterization of why this is a bit off. It is to certify that this is not from an unknown third party. It is done for the same reasons that most linux iso's are distributed with a MD5 hash next to them (which most people ignore anyways): it allows you to be sure of where the code is coming from, and that it is not coming from a nefarious third party.

      I do wish that linux and MacOS X has similar setups, but it is difficult to setup such a system without having a central authority with a great deal of power (to abuse).

    3. Re:Oh, I'm all for it. by LordNimon · · Score: 5, Informative

      It's been a while since I've worked on Windows drivers, but I believe certification also means that the driver has passed Microsoft's very rigorous driver tests. This test suite is much more thorough than anything a Linux driver has been through.

      --
      And the men who hold high places must be the ones who start
      To mold a new reality... closer to the heart
    4. Re:Oh, I'm all for it. by nbert · · Score: 2, Insightful

      It doesn't mean much formally, but if a vendor doesn't bother to certify the driver (it's not that expensive after all) it's a good indication that they might not care about driver improvement as well. Or to put it in different words: Would you believe that a company which can't afford certification would invest more than necessary into driver development? I know that this doesn't apply in many cases, but it's a good rule of thumb.
      I never had significant problems with certified drivers, but I guess that some of you know good examples.

    5. Re:Oh, I'm all for it. by shadowmas · · Score: 4, Interesting

      "....if a vendor doesn't bother to certify the driver (it's not that expensive after all) it's a good indication that they might not care about driver improvement as well...."

      or maybe it improves that its drivers so frequently that it cant keep trying to certify it every single time?

    6. Re:Oh, I'm all for it. by fiddley · · Score: 1

      fine! Get a MS Certified Driver one time, I'll trust it up to a few point releases later... don't have to do it every time if you can't afford it...

      --
      If medicine were ever perfected, we'd all be the same.
    7. Re:Oh, I'm all for it. by nbert · · Score: 1

      ok, might be a hurdle. But it happens quite often, that a certified driver is offered from a vendor along with uncertified ones. Hauppauge, Creative and Nvidia come to mind. Because the certification process doesn't work in realtime, some of them will be qualified later. Others won't. In general I just trust vendors more if they took some measures to get qualified, but I must admit that I haven't used Windows personally for quite some time, so it might be a different story nowadays. Like I said, it's just an indication, but in my opinion it's a good step in the right direction. "Bad" drivers are the stability concern #1 when it comes to XP and 2000, because those are quite stable in every other regard.

    8. Re:Oh, I'm all for it. by Afrosheen · · Score: 1, Interesting

      That's fascinating, as the majority of Windows defenders here blame bluescreens on poor drivers and badly written applications. If Microsoft themselves are certifying the drivers and putting them through 'very rigorous driver tests', why the blue screens? Or is it that un-certified drivers are to blame? In my experience, there are 2 kinds of Linux drivers for any piece of hardware...ones that work, and ones that don't. I have yet to see any half-assed, barely working drivers in Linux thus far. Windows, OTOH, has always had flaky drivers. How can it be explained?

        Not trolling, just wanting some enlightenment here.

    9. Re:Oh, I'm all for it. by tepples · · Score: 2, Informative

      If Microsoft themselves are certifying the drivers and putting them through 'very rigorous driver tests', why the blue screens? Or is it that un-certified drivers are to blame?

      The latter. Not all peripherals are made by large corporations that have the means to get each driver signed.

    10. Re:Oh, I'm all for it. by SirBruce · · Score: 2, Interesting

      In my experience, most end-users don't run WHQL certified drivers. This is usually because certification takes a long time. In the case of graphics drivers (which is what is commonly the problem), there will be many updates that relate that improve performance or fix a specific game-related bug that are installed by power users long before such fixes make it into an updated driver that's officially certified.

      Bruce

    11. Re:Oh, I'm all for it. by Eon78 · · Score: 1

      Just one example I had trouble with last week: the Linux 2.6 megaraid driver.

      Half-assed because it only works when you disable ACPI on your shiny new Dell PowerEdge 6850.

    12. Re:Oh, I'm all for it. by revmoo · · Score: 1

      I had an ATI WHQL driver bluescreen on me a couple times this week, why did Microsoft certify a driver with bugs in it? (the updated driver fixed the issue).

      MS didn't release these whql drivers, but since they are slapping their name on it they are taking on a liability to ensure that these things actually work. Maybe they wont be sued for it, but certainly they want there customers to trust them?

      --
      I would expect such blatant racism on Fark, but on Slashdot? Mods please ban this asshole.
    13. Re:Oh, I'm all for it. by indigoid · · Score: 1

      i have. check out the indycam driver. admittedly it's a baroque piece of hardware (though a fun toy!) on an 11-year-old platform but it is pretty half-arsed and barely working. i'd fix it (the specs are all freely available and it doesn't look like more than a weekend of effort) if my Indy had enough disk space to untar kernel source :/

      last year I tried to build a linux-mips cross compiler toolchain to aid the process, but halfway through compiling gcc my PC's cpu died, and i haven't bothered replacing it since :-(

      --
      P-plate adventurer
    14. Re:Oh, I'm all for it. by lgw · · Score: 1

      Sometimes it's uncertified drivers, but more often (especially in the case of video drivers) the problems come in situations outside what the test suite encompasses. Game developers are always pushing the limits of the drivers, and it takes a while for new techniques to make it into test suites. The test suites are actually pretty good, but are doomed to always be a bit behind and therefore not very useful for a new game for the first month or two it's out.

      There are also problems with drivers on machines that do old-fashioned interrupt sharing (which isn't tested for, as far as I can tell), but that problem is ageing out.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    15. Re:Oh, I'm all for it. by Anonymous Coward · · Score: 0

      ::woosh::

      Look out for the sarcasm!

    16. Re:Oh, I'm all for it. by afidel · · Score: 1

      All the Microsoft certifies with a WHQL driver is that it survives their very extensive battery of tests. The do not, and cannot certify that driver is bug free. Besides which I don't think that WHQL certification extends to the 3D portion of the driver at this point but only to the normal 2D modes, I imagine that this will change with Vista.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    17. Re:Oh, I'm all for it. by Philodoxx · · Score: 1

      One thing to remember too is that Linux (or OSDL) have no equivalent that I'm aware of for WHQL. Allowing binary drivers with no means to ensure the quality of the driver is just asking for a cheap lazy company to put out a driver that may put all of its users up the creek without a paddle.

      --
      Oh, a lesson in history from Mr. I'm my own grandpa.
    18. Re:Oh, I'm all for it. by Chrononium · · Score: 1

      Frequent improvement might indicate that the original driver wasn't that great to begin with (Alpha or Beta quality, albeit enough to pass certification). Just a thought.

    19. Re:Oh, I'm all for it. by DonGar · · Score: 1

      Can you define "Not that expensive"? My understanding is that the cost was measured in 10's of thousands per run and that many situations (single driver -> multiple hardware versions) could easily require multiple runs. However, I've never been involved in an MS driver certification, so I don't really know much about it.

      --
      plus-good, double-plus-good
    20. Re:Oh, I'm all for it. by daddymac · · Score: 1

      If you talk to Dell, I'm sure they would recommend you use the megaraid2 driver instead of the megaraid. At least, that's what they keep telling us to do to our 2550's and 2650's with the PERC 3/DC, I imaging your 6850 has a PERC 4 of sorts. For the record though, I've never had a problem with the megaraid driver on any of our Dells, PERC 3 or PERC 4.

      --
      If something I said can be interpreted two ways, and one of the ways makes you sad or angry, I meant the other one.
    21. Re:Oh, I'm all for it. by studog-slashdot · · Score: 1
      This is a serious problem for my company; we've had to implement a new certification lifecycle to try to control costs.

      Meanwhile, linux driver updates go out as soon as they're available.

      ...Stu

    22. Re:Oh, I'm all for it. by Anonymous Coward · · Score: 0

      Sure it does. It's called making it into the kernel tree. Once there, a bug in the driver is considered a bug in the kernel, and such things will cause a delay of the kernel release itself until they are fixed. Of course, this doesn't apply to "binary only" drivers, but that's exactly why vendors should open source their linux drivers. It's guaranteed quality assurance with all linux versions.

    23. Re:Oh, I'm all for it. by DavidTC · · Score: 1
      Does that explain why my fucking signed Logitech wireless keyboard driver bluescreens XP when it loads itself at any point except boot, or ever unloads itself. (I.e., if I ever plug or unplug it with the computer on.)

      And, no, I don't mean sometimes, I mean every single damn time. I can demonstrate bluescreens for fun and profit. This is a wireless USB keyboard/mouse called iTouch, the older model with the ball in the mouse. (Why the hell I need drivers for a USB keyboard and mouse, even a wireless one, is beyond me.)

      Not only is that signed, my USB drivers are signed, as is everything up the chain. Admittedly, I have some drivers that aren't...but it did this before I installed them, and I doubt Alcohol's virtual CD-ROMs are causing this, or my USB wifi, or my TAP virtual network adapter. (As an aside...MS, please come up with some sort of standard 'virtual device' for CD/disk/network/whatever. This is actually one of the things an OS is supposed to be able to do, device management, as opposed to sending instant messages or whatever you've decided to include in the OS today.)

      OTOH, if something ever goes horribly wrong with my computer and I can't unplug it or turn it off, I can always unplug the keyboard, and know my computer will crash in about three seconds.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    24. Re:Oh, I'm all for it. by Anonymous Coward · · Score: 0

      NO BINARIES IN THE KERNEL!!!
      if you like binaries in the kernel STICK with windows!! leave us alone!
      who needs that shit anyways. or they open their source or we don't need them..

    25. Re:Oh, I'm all for it. by Hal_Porter · · Score: 2, Interesting

      You do realise that most of these problems are more like "with the POS 417 AGP host bridge and a Froon 812 graphics card writes to off screen memory fail 1% of the time when the graphics accelerator is doing a lengthy operation and we see it often now we altered the driver " than "dude I forgot a break; statement"

      With a bit of luck, you can catch the second type of error by running a well thought out test suite. Not always though, I think its an example of the halting problem. The first sort is much harder - there is a lot of variability in PC hardware, even to the point of it being completely broken.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    26. Re:Oh, I'm all for it. by Anonymous Coward · · Score: 0

      Same here. Actually I was considering writing a driver dummy and getting it certified.
      This way dummy can be installed via Setup API without any warnings and later on be
      commanded to pass the execution to some other kernel code, which would be injected
      into the kernel with InstallService.

      But so far nearly no users of our app had any concerns installing uncertified drivers
      eventhough it generates that message about 'microsoft thinks that this driver will
      blue screen your system, [fineprint]because it does not have Logo Certification[/fineprint].

    27. Re:Oh, I'm all for it. by Afrosheen · · Score: 1

      Thanks to everyone who replied, and a great big 'kiss my ass' to the moderators who gave me a -3 flamebait for the parent post. I already said at the bottom I wasn't trolling and wanted some real answers from people that know better.

        Now, go ahead and waste the rest of your mod points modding this one flamebait. :p

    28. Re:Oh, I'm all for it. by m1mike45 · · Score: 1

      The megaraid cards are not true hardware raid. They are more like software raid running on a pci card. It's kind of like those softmodems from back in the day. Most of the emulation was actually hardware based. I believe support for these type of cards was dropped when we went to the 2.6 kernel. I would recommend and LSI Logic or 3Ware RAID card. They work much better.

    29. Re:Oh, I'm all for it. by rtb61 · · Score: 1

      Windows driver certification was just an oppurtunity for microsoft to charge an adiitional licence fee, quality of driver software had nothing to do with it.

      --
      Chaos - everything, everywhere, everywhen
    30. Re:Oh, I'm all for it. by Philodoxx · · Score: 1

      I was talking about an equivalent for WHQL on binary drivers.

      --
      Oh, a lesson in history from Mr. I'm my own grandpa.
    31. Re:Oh, I'm all for it. by mightypenguin · · Score: 1

      Maybe you already know this, but you shouldn't use the framebuffer kernel driver with the proprietary nvidia drivers. It makes it much more finicky. Since I do almost everything in X I don't really need 1280x1024 VGA console :)

    32. Re:Oh, I'm all for it. by KiloByte · · Score: 1

      Of course, that's known stuff, the docs warn against this. I don't use fbdev -- it's abysmal anyway. It's noticeably slow even on high-end graphic cards, and a server box I installed recently took around one freaking second to switch VTs or redraw the screen. I didn't bother to check what the workmate who built that machine stuffed inside, it doesn't matter for a headless box, so I guess it would be some integrated crap. I chose lightning-fast accelerated hardware text mode, thank you.

      I find most X-terminals useless -- xterm is hard to read, gnome terminal is buggy like win32 console and konsole not any better. I'm used to real text, so unless I find a compelling reason, nothing forces me to move, at least while used 21' CRTs cost half the price of 14' LCDs.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    33. Re:Oh, I'm all for it. by QuestorTapes · · Score: 1

      > It's been a while since I've worked on Windows drivers, but I believe
      > certification also means that the driver has passed Microsoft's very rigorous
      > driver tests.

      Yes and no. Microsoft extensively tests certain aspects of the driver, using certain hardware. They don't test all hardware configurations, just typical ones. And they do nothing to certify certain "optional features" of drivers.

      HP is notorious for putting crap features in drivers for a lot of their printers, with the result that Microsoft's generic HP printer drivers are usually -much- more stable than the HP supplied ones. They can't always access all the Cool! New! Features!, but they work fine and are generally much more stable.

      This is not just true of HP; as others have mentioned, graphics boards are another area where manufacturers pull stupid stunts.

    34. Re:Oh, I'm all for it. by cyphercell · · Score: 1

      If a parent could be modded as flamebait why not mod the resulting thread as flameWar give the mess an icon with flames tux vs. msn butterfly or whatever so I don't have to read it.

      This question was about the Linux driver model. Not the Windows driver model.

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
    35. Re:Oh, I'm all for it. by nbert · · Score: 1

      Spend some time trying to look up exact numbers. I guess they are not available to the public, so we can only guess. According to Microsoft you only have to sign up to some programs (costing less than 500$ in total) and you can self evaluate your product with some software they supply. After that you can send the test results to Microsoft and they give you a certificate. However, that's just how I see it after having read their description at microsoft.com. Maybe there is an additional fee for filing in reports after evaluation (very likely), but I simply don't know because I couldn't find information.

  2. Only one word by Anonymous Coward · · Score: 0

    Heresy!!!

    1. Re:Only one word by Krach42 · · Score: 4, Informative

      Not just Heresy, but Linus has said directly that he doesn't want a stable binary kernel driver API percisely so that people *can't* write binary drivers for Linux.

      --

      I am unamerican, and proud of it!
    2. Re:Only one word by Anonymous Coward · · Score: 3, Interesting

      What are his reasons for not putting video card drivers in the kernel, like other Unix operating systems?

      Why do we still have to have a user program (X) with device drivers in it? (Would anybody think it's a good idea if the Linux kernel didn't have any sound drivers, and required gstreamer to implement its own?)

      It seems we have two competing driver models in Linux: some are in the kernel, and provide a consistent interface (sound cards, SCSI/IDE/... cards, network cards), and some aren't in the kernel at all, but expose them at a low level and rely on userspace programs to provide actual drivers (X11 for video cards, CUPS for printers).

      I'm against a binary API, not on philosophical grounds (I like gstreamer's binary API), but because it simply never works: I've tried to use binary-only drivers under Linux in the past, and it never works nearly as well as open-source drivers. But whewher or not you agree with Linus' open-source philosophy, can we at least all agree that we need to put drivers in the same, correct abstraction level?

    3. Re:Only one word by Altus · · Score: 4, Insightful



      the question I have for this is "why?" wouldn't a stable binary API likely result in far more third party hardware support for linux? possibly more laptops that are actually compatible with linux?

      This seems like a case of open source programmers shooting themselves in the foot because they want everything to be open source... not every application and driver is going to be made open source just to suit the desires of the linux development community. It seems to me that sticking to a hard party line against closed source software instead of trying to co-exist with said software is bound to keep linux in relative obscurity and pretty much ensure that it never becomes a viable competitor in the desktop market.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    4. Re:Only one word by IamTheRealMike · · Score: 2, Informative
      That's incorrect, he has said he doesn't mind binary-only drivers but he won't go out of his way to help them. So, if he sees an improvement that would break the module API, he'll do it. That's a LONG way from "I do this so people can't write binary drivers" which is clearly not the case (many companies do, successfully).

      Also a lot of people mix up the issue of "binary vs C" with "closed vs open". You can have open source binary drivers, and that's often a convenient thing for end users to have (because the user experience of installing binaries is generally better than that of installing things from source code).

    5. Re:Only one word by Shimmer · · Score: 3, Insightful

      So in other words, Linus has decided to deliberately damage the kernel (by introducing unnecessary instability) in order to make it harder for people to write software that uses it.

      I thought that Linus usually put technical correctness above political correctness, but it looks like I was wrong.

      --
      The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
    6. Re:Only one word by Hatta · · Score: 1

      So in other words, Linus has decided to deliberately damage the kernel (by introducing unnecessary instability) in order to make it harder for people to write software that uses it.

      There are plenty of good reasons not to have a stable internal kernel interface. Also, keep in mind that even though the fact that the kernel API may change inbetween versions may be described as "instability", it doesn't translate to an instability in the OS.

      --
      Give me Classic Slashdot or give me death!
    7. Re:Only one word by swmccracken · · Score: 1

      As I understand it, a lot of the changes are changes only to the Application *Binary* Interface, not the Application *Programming* Interface.

      In other words, a lot of changes are still source code compatable meaning all that's needed is a recompile.

      (A classic example is changing C compiler. This may change how the structures in memory are laid out - not a problem if everything's compiled with the same compiler, but a big issue if you need to maintain a stable binary interface.)

      Or perhaps a driver may deal with an "opaque type" (ie: a type provided by another kernel subsystem) like a handle to a resource. Exactly what this handle is may change from version to version of the kernel (it could be a pointer to void, pointer to int, it could be a struct) but since it is opaque, the author of the driver need not (and should not) care. Such a change affects the binary interface but not the source code interface needing only a recompile.

    8. Re:Only one word by diegocgteleline.es · · Score: 1

      What are his reasons for not putting video card drivers in the kernel, like other Unix operating systems?

      Uh, what Unixes? AFAIK, other unixes run X aswell and run X's user-mode drivers. Now, what makes you think that it's linus who told the x people to do things like that?

      In fact, since linux already implements 3d support (dri/drm) inside the kernel, you might explain us what the hell you're talking about?

    9. Re:Only one word by wolfemi1 · · Score: 1
      The question I have is: why wouldn't hardware companies want to provide open-source drivers? They're hardware companies, and anything that makes their hardware easier to use or more attractive is nothing but a good thing.

      I just think that the companies are paranoid about letting source out into the wild, but they really need to understand that opening the driver source can only help them.

    10. Re:Only one word by guitaristx · · Score: 1

      The answer to your "why?" question is this:

      As it exists now, the manufacturers are expecting the Linux community to jump through all the hoops. They expect Linux to define an ABI (which includes mystically divining all the hooks that it will need when new hardware types show up), and support that ABI thick-and-thin, no-matter-what. Part of the open-source model is the flexibility it provides when there is a need to abandon the mistakes of the past regarding interfaces. See above for tons of comments regarding forced backwards compatibility because of binary drivers and their compliance to an ABI (which equates to backwards compatibility of bugs - if an interface had no bugs, it wouldn't ever need to be changed).

      --
      I pity the foo that isn't metasyntactic
    11. Re:Only one word by man_of_mr_e · · Score: 1

      The problem is that hardware companies often hide things in their drivers. For example, certain video cards can be "upgraded" strictly through drivers. The driver turns off a given feature in a low end model and turns it on in a high end model, an open source driver would make that strategy useless.

      Many hardware vendors also believe that you can learn things about the hardware by examining the driver, and thus give away trade secrets.

    12. Re:Only one word by Krach42 · · Score: 1

      Off searching for the other respondants post:

      Ok, Linus's goals may not be the same fundamental ideology that I'm advancing, but they're still the same fundamental goal: Binary drivers bad.

      --

      I am unamerican, and proud of it!
    13. Re:Only one word by mrchaotica · · Score: 4, Insightful
      A stable binary kernel driver API would have the following effects:
      • There would be no incentive for companies to make their drivers Free Software
      • There would be no way to fix bugs in the drivers which would cause Linux to crash more often
      • There would be no way to verify that the drivers were free from security flaws (e.g. buffer overflows), nor would there be a way to check for malicious behavior (e.g. rootkits, like the Sony CD driver)
      • There would be greater vendor hardware support

      In other words, it would turn Linux into the same kind of piece of shit that Windows is, and defeat the entire purpose of using it!
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    14. Re:Only one word by fimbulvetr · · Score: 1

      I haven't looked all the way through the discussion yet to see if this has been brought up, but I'd also like to point out that another reason for closed source is that places like ATI might be using techniques/methods patended by Nvidia. Of course, some are so blatently obvious and perform so well, ATI wants to keep using them but the second Nvidia can prove ATI us using them, they'll be sued into oblivion.
      The same thing applies to raid cards - think Adaptec, LSI, ServeRaid, etc. Patented methods companies don't want to disclose they are using lest patenter sues them.

      This would all go away if we didn't have those ridiciulous software patents.

    15. Re:Only one word by dbIII · · Score: 1

      That isn't the primary reason - once you impose constraints they quite obviously constrain you, and the possibility of making binary drivary incompatable is not considered a good enough reason to sacrifice flexability.

    16. Re:Only one word by ardor · · Score: 1

      I use it because I like it. I also use it because it is a much-needed alternative to Windows. Windows' marketshare is too big, Microsofts control is too great. Most people usually do not choose Linux because of idealism, but because it is a cheaper, viable alternative - as a server. Not as a desktop. You want Desktop Linux? Then embrace binary drivers. You want to force Linux to stay a toy for self-proclaimed elitist hackers (e.g. 0.00001% of all users)? Then just go on and prevent the stable API from becoming a reality.

      --
      This sig does not contain any SCO code.
    17. Re:Only one word by MikeFM · · Score: 1

      Why do I care if the stupid and lazy people out there can get a better computing experience? They can already if only they will put forth a very small amount of effort. If they won't make the effort then what is in it for me to make the effort for them?

      I've been using a Linux desktop for about seven years with far more success than any of my Windows or OS X customers are having with their 'easier' platform. You can keep all your clever ideas for converting the masses and leave me with a tool that actually works. Don't turn Linux into Windows just for the sake of having a free version of Windows.

      Besides, the desktop is dead. It's a lame metaphor anyway that lends to low productivity and a lot of user confussion. It just wasn't a concept made to handle today's complex world. Better ideas are out there and they are beginning to work their way into the mass market.

      Anyone that really wants a binary driver API could always write one and require that users use a kernel that has the BD API in order to use their drivers. An installer could even install such a kernel module for the user. Then it'd just be a legal issue to work out and not a technical issue. There is really no reason for closed source drivers though. It's one of the stupidest ideas in the PC industry. There is nothing in there that gains the companies any real advantage and by being closed they are actually producing crappier products.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    18. Re:Only one word by Xyrus · · Score: 1

      "There would be no incentive for companies to make their drivers Free Software."

      On the contrary, I believe there would be incentive. A hardware vendor wants to sell hardware, but not support hardware as support costs money. It wouldn't be long before hardware vendors realized that they could save some significant green by allowing th community to take care of itself, or perhaps provide some basic skeletal framework for a driver and allowing the community to roll their own.

      In either case, a hardare vendor would benefit significantly from opening their drivers. But first, a hardware vendor needs to see that their is significant demand for their product. Companies are fixed in their ways, and are wary of change, especially when that change is constantly demanding the release of their source.

      "There would be no way to fix bugs in the drivers which would cause Linux to crash more often."

      You're making assumptions. There is no rason to believe that a third party cannot write just as good drivers as any other members of the OSS community. And as I stated above, a vendor would be keenly interested on keeping the community happy if they wanted to continue sales. Or the OSS community could reverse engineer and write up a driver themselves.

      Regardless, I think linux needs to do more to get vendors on board. The companies are uneasy about releasing source, so provide an avenue where they don't have to right away. Once they realize that they have an entire community who'll run support and fix bugs FOR FREE, they'll open up.

      "There would be no way to verify that the drivers were free from security flaws (e.g. buffer overflows), nor would there be a way to check for malicious behavior (e.g. rootkits, like the Sony CD driver)"

      Even the best programmers in the world will miss buffer overruns and the like. That being said, their are always ways to detect problems. Access to the source won't necessarily make it any more obvious, especially if the programmer(s) went out of their way to hide malicious behavior.

      And again, it would be in a vendors best interest not to have malcious code and exploits when dealing with a well informed computer community. If they are found, you can be sure the turnaround would be fairly quick. If not, then the community would just not use the product.

      The key here is getting the vendors comfortable with this community, which is sometimes portrayed with a "make everything free" type of zealotry. Once they're comfortable, I believe that both linux and and the vendors will share a very beneficial relationship.

      "There would be greater vendor hardware support"

      That's the general idea.

      "In other words, it would turn Linux into the same kind of piece of shit that Windows is, and defeat the entire purpose of using it!"

      I think you're missing the point of using Linux. I'd use linux because it's a good operating system and allows a greater freedom of choice. The opinion that it's better than 'dows is subjective. After all, if windows does everything that someone wants and linux doesn't, then to that user windows is better.

      Anyway, that's another discussion. The point here is that I believe that companies need a bit of reassurance FIRST, before jumping right into OSS. I think a binary driver API would be a convenient way of doing this. Perhaps make the API with protection to prevent kernel panics and such.

      But seeing how Linus seems firmly against this, it seems unlikely that something like this will happen. Which means (in this day an age of IP fears) vendors won't support linux well, if at all. Which means, for most users, windows will still win.

      ~X~

      --
      ~X~
    19. Re:Only one word by Overly+Critical+Guy · · Score: 1

      Somehow, Windows and OS X manage it.

      --
      "Sufferin' succotash."
    20. Re:Only one word by Anonymous Coward · · Score: 0

      So in other words, Linus has decided to deliberately damage the kernel (by introducing unnecessary instability) in order to make it harder for people to write software that uses it.

      No, he decided to keep the quality of the kernel high, by deliberately introducing a mechanism by which companies couldn't introduce low-quality, unimproveable drivers, which would damage the stability and security of the kernel.

      You must be one of those people who can't look 2 moves ahead in chess, aren't you?

    21. Re:Only one word by mrchaotica · · Score: 1
      After all, if windows does everything that someone wants and linux doesn't, then to that user windows is better.
      But "everything that someone wants" has to include adding the capability to do what they want if it's not there already. Non-Free software can't accomplish this, therefore it cannot be better than Free Software.
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    22. Re:Only one word by Anonymous Coward · · Score: 1, Insightful

      In fact, since linux already implements 3d support (dri/drm) inside the kernel, you might explain us what the hell you're talking about?

      Unless the DRI people are lying to me, no, that's not what DRI is. DRI is "framework for allowing direct access to graphics hardware under the X Window System". (And DRM is the "kernel module that gives direct hardware access".) Hmm, nothing about 3d support there -- just opening it up so user apps can play with the hardware directly.

      Yes, it "integrates with Mesa, an open source implementation of the OpenGL API". That does not make it "3d support inside the kernel".

      If you had a kernel module that allowed user programs direct access to your sound card, and could write a userspace program that implemented 3d audio for your particular sound card, would you claim that the kernel had "3d audio support inside the kernel"? This seems a truly bizarre definition. By this logic, the kernel has "support" for *everything* "inside the kernel": just su root and twiddle with /proc/kcore!

    23. Re:Only one word by errordactyl · · Score: 1

      Linus has his reasons but they are incompatible with people who don't even know the difference between a binary driver and a non binary driver. If I were NEC, Fujitsu or Hitachi and had the resources to hire even a skeleton size "Linux" development team, it would be really tempting to fork the kernel over this minor issue---you'd have vendor support up the wazoo. NVIDIA et al may even just flat out stop releasing source stubs and only support the binary interface. Seems similar to the xorg/xfree dealie: pedantic old farts gettin in the way of practical decisions

      --
      $_.=["a".."z"," "]->[rand 27] while !/just another perl hacker$/;
    24. Re:Only one word by iamacat · · Score: 1

      Dude, it's much easier to write malicious software in userspace and you are much more likely to want/be able to modify the source of a regular application than a device driver. Are you advocating removing a stable binary interface for regular programs to try to force companies to open source Doom 3, vmware and so on? If not, why pick on relatively unimportant device drivers.

      Anyway, at this point vendors are doing Linux community a favor by releasing any kind of driver and are probably losing money by doing so. They should be encouraged in any way possible rather than giving them more requirements. If Linux ever reaches >50% marketshare, THEN make your demands.

    25. Re:Only one word by mrchaotica · · Score: 1
      If Linux ever reaches >50% marketshare, THEN make your demands.
      If we compromise now, it'll be harder to make those demands later.
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    26. Re:Only one word by ardor · · Score: 1

      People do not care about the computing experience! For them, computing experience is Word and Excel and Photoshop. To force people to become computer experts just to do everyday stuff like writing or photo postprocessing is incredibly arrogant and wrong. A very small amount of effort? HA! Ever watched a complete newbie trying to master Linux? The ATI drivers requiring a very small amount of effort? X configuring issues? Linux distros have the big disadvantages that things get very hard once the planned route does not work, e.g. the predesigned architecture fails, for example when the autodetection guessed wrong, or some drivers do not work (ALSA stuff for example). It is a very small amount of effort for YOU. Then, the typical reaction: "our Linux" is so l33t, the l4m3rs shall take OSX or Winslows if they dont want to spend incredible amounts of their time with our l33t Linux to know how to do stuff, yeah d00d!

      You dont want easy Linux? Fine, then DO NOT TAKE IT, but leave the option for the rest. Do not try to force everyone not to have an easy Linux.

      As for the binary driver issue: ever heard of IP issues? More and more functionality moving into the drivers (the graphics drivers are a prime example), thus containing lots of company secrets and potential SW patent violations? I think these are very good reasons for closed source drivers.

      I see this happening in the future: either, Linus accepts a stable ABI; or someone else writes a layer between the changing kernel APIs and a stable frontend - this layer would be in constant adjustment, always following the current kernel; or the big OSDL companies simply fork linux, tackle a stable ABI on it, and this is the kernel of choice for all desktops. The vanilla kernel will remain in its 5% marketshare then. Either way, Linux will get such a stable ABI, or it will die off for most people. And there is NOTHING that can prevent that.

      --
      This sig does not contain any SCO code.
    27. Re:Only one word by iamacat · · Score: 1

      Why is that? If kernel has a frozen binary driver interface in series 2.7-3.1, what keeps Linus from resuming regular changes in version 3.2? If at that time Linux has a large market share and the new kernel has valuable features, it's a good bet device manufacturers will open source the driver rather than giving up a big chunk of their profits.

    28. Re:Only one word by MikeFM · · Score: 1

      It's fine to make Linux easier to use. Just actually make it easier to use and don't just make it more like Windows in the blind assumption that Windows is easier to use.

      It's obvious that you don't know how easy Linux can be to use if you think you need to do something special to get X working with your video card. If you are having trouble with a video card it's probably because you are using a commercial driver that isn't under the care of the opensource community. THIS is usually what makes software hard. Ever configured Windows? It's an unholy nightmare as compared to Linux. Driver conflicts, drivers just plain not available because you're using the wrong version of Windows, etc. There isn't even a standard way to install drivers on Windows. Sometimes you pop in the disc and they auto-install. Sometimes you have to manually search the disc. Sometimes Windows has a copy already if you happen to be using the right version of Windows. Sometimes you have to download the driver off a very unhelpful vendors website. Sometimes you have to intall 20 other bits of software just to get to the driver. Yes.. very easy.. and don't forget that a good majority of the time Windows wants you to reboot before it can use these new drivers. Hahaha. These are what Linux is trying to avoid.

      Windows and OS X are designed to make the easy stuff easier. Linux is designed to make the hard stuff easier. Newbies may not like that but in the end Linux is easier to use. Let newbies do what they always do and pay an expert to do the things they don't understand how to do.

      I've actually been involved in usability studies between different OSs and my experience is that users don't even usually notice they are in a different OS let alone have any problem using Linux. Users rarely install hardware and stuff such as that anyway and when they do they tend to have problems on any OS. When's the last time you saw Grandma install a new video card and actually get it configured properly in any OS?

      Nobody that actually uses Linux cares if it stays at 5% as it already works fine for us and is improving. Better that than gain 95% market share only to have it made as crappy as Windows. Alternatives are only useful to consumers if they actually offer a product with alternative features.

      What is needed isn't a binary kernel API. What is needed is for hardware developers to begin to make their devices work with a fixed standard interface. We wouldn't use their products if they didn't all plug into our AGP, PCI Express, or whatever port so why do we use them when they can't conform to a standard driver? I don't have to load new drivers when I plug in different speakers or a keyboard (usually) so why do I need to for my video card or printer? That is where the problem is. They are purposely avoiding compatibility standards. There is no technical reason why they can't standardize.

      --
      At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
    29. Re:Only one word by ardor · · Score: 1

      Oh yes, what a nightmare! Clicking through the wizard, whew I have to know how to CLICK! Yes, you can mess things up in Windows. But the contrasts are not as sharp as in Linux. There is hardware that really stinks with Windows (some Hauppauge TV cards for example). But how numerous are they? Then compare that to the amount of hardware that needs attention of the user in Linux. I need HOWTOs for nvidia cards. I need HOWTOs for DVDs. I need HOWTOs for samba just to get a simple share to work (I have yet to find an useful frontend).

      About X: You know, your comparison is flawed. If you want to use the binary drivers, you have to wade through manual X configuration. Also, fglrxconfig happens to generate XFree86-compatible configurations, not xorg ones. The difference is subtle, mostly just the keyboard driver called "keyboard" and no longer "Keyboard", also the kb rule is "xorg" now.

      Of course, this is ATIs mistake. Of course, the installations are awkward because of license issues. The solution? Well, they will *NEVER* release the drivers as opensource. NEVER. No way. Nada. Zip. If one million Linux zealots write protest mails, they couldn't care less, they simply dump them and live with the other 100+ million customers.
      So, stable APIs would be VERY nice for driver installation, because the thing with Linux distros is that they are brain-dead to use - as long as you stay in the very narrow predefined path. If you try to install the binary X drivers for your nice gf6600, things get very nasty. (Yes, you have to edit the xorg.conf manually.) If you want to watch DVDs, things get obscenely nasty. Again, IP issues. So ACCEPT binary-only plugins. GStreamer just ignores this issue and allows binary-only plugins. They are the hottest candidates for the future of media in Linux. And they are the ONLY solution for the DVD issue. Again, it works only with binary-only CSS modules.

      Windows and OSX make easy things easy, Linux hard things easy? Pathetic. So what is "easy" for you? Mounting drives manually? Mounting network shares? This is easy FOR YOU, but you are insignificant. For the significant masses, it is HARD, so good interfaces try to make them as easy as possible. Besides, OSX is no real example, since it is designed for particular hardware, but the INTERFACE is centuries beyond anything available both in Windows and Linux. The problem with Linux is that the hard things are very real for all users, not just for freaks tuning their OS. Yes, distros are getting better. But still, people with very new stuff (new SCSI controllers for instance) have to wait months before the kernel includes some support - if it does at all. Kernel upgrades are not trivial. Things may break. And there we have the same problems you criticized in Windows.

      --
      This sig does not contain any SCO code.
    30. Re:Only one word by bluefoxlucid · · Score: 1

      Windows changed its driver model from DOS -> Win95 -> Win98 -> WinME -> WinNT -> Win2k -> WinXP

      Windows 95 drivers don't always run on 98 (sometimes they work, sometimes parts of the interface are gone); ME drivers are different from 98 a bit too. ME implemented WDM, and so did Win2k around SP3 or SP4; WDM allows the same driver to be used. With WMD only drivers, however, the WDM interface grows; just the old interfaces stay around. Even then, I think some of the older WDM hooks may have vanished between ME and XP, making some WinME WDM drivers fail to function with WinXP.

    31. Re:Only one word by jejones · · Score: 1

      I'm an Open Source user. I made the mistake of buying a Samsung CLP-510N laser printer because it claimed Linux support. It has a proprietary driver.

      This driver lacks feature parity with the Windows driver. It installs its own bizarro control panel rather than working and playing well with CUPS. I'm thinking of moving to AMD64... gee, Samsung hasn't bothered to write a 64-bit driver. If I make the move, I have a $400, 80-pound paperweight.

      My wife's computer has an ATI Radeon graphics card. Gee... it's not new enough for ATI to want to bother to support. I have an ATI All-in-Wonder Radeon. It's not new enough either, but even if it were, ATI's Linux drivers don't support the TV tuner functionality--and while I admire the efforts of the Gatos Project people, I never was able to get things to work to my satisfaction.

      As a Linux user, I'm sick of binary drivers and of manufacturers who won't provide the information needed to write Open Source drivers. What about a binary API would cause anything more than the half-assed binary drivers we're stuck with now?

  3. If it means more drivers! by Anonymous Coward · · Score: 0, Insightful

    If it means more and stable drivers I'm all for it!

  4. Good idea! by Anonymous Coward · · Score: 5, Funny

    Lets put it in Kernal 2.7.
    Oh wait... OOPS!

    1. Re:Good idea! by Anonymous Coward · · Score: 2, Funny

      OOPS

      subtle...

    2. Re:Good idea! by chphilli · · Score: 4, Funny

      Is that "OOPS, I can't spell kernel?" ;)

      --
      Please ignore any obvious problems in this post.
    3. Re:Good idea! by lscotte · · Score: 1

      IBM already put it in there, using code they stole from SCO.

      --
      This post is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.
    4. Re:Good idea! by Zenmonkeycat · · Score: 1

      Beaten to the punch! But at least we know that if it made it into 2.7, SCO would find a way to dike it out through lawsuits. You know, because SCO owns the copyright on any innovation in Linux.

      --

      *****
      Dear Mary,
      I yearn for you tragically,
      A.T. Tappman, Chaplain, U.S. Army.

    5. Re:Good idea! by G-funk · · Score: 1

      "Kernal" seems to be an acceptable spelling in the US. I believe it's the fault of the C=64.

      --
      Send lawyers, guns, and money!
    6. Re:Good idea! by timbo234 · · Score: 1

      No all that article says is that Commodore named one of their products 'KERNAL'. There is no such word as KERNAL in any dictionary, even an American one: http://dictionary.reference.com/search?q=kernel "(Note: NOT "kernal")"

      --
      Pre-canned Evolution Links for all those Slashdot holy wars.
    7. Re:Good idea! by Skuld-Chan · · Score: 1

      Is that "OOPS, I can't spell kernel?" ;)

      It just means he used to work for Commodore Business Machines ;).

    8. Re:Good idea! by Anonymous Coward · · Score: 0
      "Kernal" seems to be an acceptable spelling in the US.
      Arsebiscuits, you fucking dimwit.
    9. Re:Good idea! by StarKruzr · · Score: 1

      I don't know what you mean, Colonel.

      --

      +++ATH0
    10. Re:Good idea! by Zen+Punk · · Score: 1

      I don't remember setting you as a friend.

      Did you set me, or did I set you?(I see the green dot.)

      --
      Sleep is futile.
    11. Re:Good idea! by FrangoAssado · · Score: 1
      There is no such word as KERNAL in any dictionary, even an American one: http://dictionary.reference.com/search?q=kernel "(Note: NOT "kernal")"

      What do you mean? From the exact same dictionary you pointed to:

      http://dictionary.reference.com/search?q=kernal

    12. Re:Good idea! by timbo234 · · Score: 1

      I think you need to understand what a search engine does - when it can't find your exact result it suggests something similar. If you actually look at that page there is no dictionary entry is there? No. Now go into the defintion for the word 'kernel', scroll down and see that it quit clearly says 'Not Kernal'.

      --
      Pre-canned Evolution Links for all those Slashdot holy wars.
    13. Re:Good idea! by fbjon · · Score: 1

      Yeah, there certainly is a lot of "acceptable spelling" over there. :)

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
  5. Ok but let's impact its performance by Anonymous Coward · · Score: 0

    Let's give them a UNARY kernel driver layer.

  6. Excellent suggestion! by scsirob · · Score: 5, Insightful

    Having a kernel API for drivers allows developers to stay away from the mainstream kernel. This will enhance the stability of the kernel in general and also allow hardware vendors to support Linux with less effort.

    --
    To Terminate, or not to Terminate, that's the question - SCSIROB
    1. Re:Excellent suggestion! by IAmTheDave · · Score: 5, Interesting
      Having a kernel API for drivers allows developers to stay away from the mainstream kernel. This will enhance the stability of the kernel in general and also allow hardware vendors to support Linux with less effort.

      I am not a linux contributor, but I would think you'd kinda want to guard access to the kernel kinda closely. I mean, sure, anyone can fork it or grab a copy to putz around with, but contributing back into the kernel - that's gotta be just about as stable as a piece of code can be.

      Despite some loss in efficiency, I've always been an advocate of abstracted access. To many of the pieces of software we write at my job do we add a logical API, so that we don't always have to open the main code branch every time we want to add a feature.

      Driver developers hardly equal kernel developers. Keeping the two logically seperated makes sense - not to mention that driver developers are hardly the only ones that would benefit from this API.

      --
      Excuse my speling.
      Making The Bar Project
    2. Re:Excellent suggestion! by kmmatthews · · Score: 5, Insightful

      No, because we'd (at best!) get the same crap drivers that windows gets. Childish crap spewed out by the lowest bidder, and it destablizes the entire system. Not to mention that no open source coder can _fix_ the damn thing then.

      Look at nvidias drivers on linux! Always well behind other drivers, and filled with bugs because we have to wait for nvidia to get off thier asses and fix the damn thing.

      What happens in 10 years when you're trying to use that binary driver to recover data from an ancient device? If it was an open source driver, you could fix it to work with your system; binary, you're going to have a lot more work to do.

      --
      feh. stuff.
    3. Re:Excellent suggestion! by peragrin · · Score: 1

      Yep just look at windows. How many years did it take MSFT to force hardware manufactors to create stable drivers? And you want to repeat that again!

      Great Idea.

      --
      i thought once I was found, but it was only a dream.
    4. Re:Excellent suggestion! by Anonymous Coward · · Score: 3, Insightful

      Wrong, wrong, wrong wrong wrong.

      Drivers run as kernel-level code.

      Closed source code linked into the kernel gets kernel-level privileges. Alone, that is a scary thing.

      Worse, binary drivers mean support for only the platforms that vendors choose to support. Users of less popular architectures miss out.

    5. Re:Excellent suggestion! by andyross · · Score: 2, Insightful
      Having a kernel API for drivers allows developers to stay away from the mainstream kernel. This will enhance the stability of the kernel
      No, no, no, no. Allowing developers to "stay away from" the kernel is a recipe for weak testing, poor integration and random hackery ("well, I don't know how to do this with the API but I tried this and it seems to work..."). Being isolated, the brain damage will fester without detection.

      That statement is so far off that it occurs to me that perhaps you were being sarcastic. In which case, your moderators should be shot.

    6. Re:Excellent suggestion! by IAmTheDave · · Score: 1, Insightful

      It's not that I want to repeat anything, but there are a whole mess of hardware vendors out there that just won't release open source versions of their drivers. Are we so zealous that we want to keep these pieces of hardware from working with Linux?

      How exactly does that help the adoptation of Linux on the desktop? Yeah, I can see concerns about stability, but at least there would BE drivers for half the hardware out there. Do you want a drawing tablet manufacturer in the kernel source just to get a tablet to work with Linux?

      --
      Excuse my speling.
      Making The Bar Project
    7. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      And if you look on the web for Project UDI you will find it was thoroughly developed and then declared unacceptable by the linux gurus.

    8. Re:Excellent suggestion! by niskel · · Score: 1

      Agreed, but just be thankful you don't have an ATI card.

    9. Re:Excellent suggestion! by Bloater · · Score: 2, Interesting

      > I am not a linux contributor, but I would think you'd kinda want to guard access to the kernel kinda closely. I mean, sure, anyone can fork it or grab a copy to putz around with, but contributing back into the kernel - that's gotta be just about as stable as a piece of code can be.

      A stable binary driver API that doesn't mean putting the driver into the kernel is already there. It is called the syscall interface. If you have a stable module ABI as proposed (over and over again, about once a month for the past 10 years) the drivers actually *do* go into the kernel - and closed source drivers so if they are broken, they won't ever get fixed.

      This is all a very, very bad idea for Linux stability. Crash and burn, baby, crash and BURN!

    10. Re:Excellent suggestion! by estebanf · · Score: 1

      err... having a driver layer doesn't involve that drivers won't be open source. I do understand your point, but I still think that increasing the chances of linux as a desktop os is worth enough to take the risk that a manufacturer insists in provide close source drivers.

      --
      DON'T STEAL MUSIC!
    11. Re:Excellent suggestion! by robertjw · · Score: 3, Insightful

      but there are a whole mess of hardware vendors out there that just won't release open source versions of their drivers.

      Sure they will, when they have to so they can remain competitive. Until that time we should support vendors that do provide open source versions of their drivers.

      Yeah, I can see concerns about stability, but at least there would BE drivers for half the hardware out there.

      Do your really believe that the answer is to trade stability for convenience? As the parent said, we would be right back to where Windows is. As more and more of these type of issues come up I think the Linux kernel developers need to stand resolutely on their principals and provide a quality product even at the sacrifice of some usability. It makes no sense at all to trade long term quality of the kernel for a short term solution to the current driver problem. As for the question of who can be 'in the kernel source', anyone can. Anything that gets included in the official stable branch of the kernel will be reviewed by many memebers of the kernel development team. So far I have had excellent success with the official Linux kernels and don't see any reason this will change if they stick with their current methodologies.

    12. Re:Excellent suggestion! by wiggles · · Score: 1

      The greatest asset Linux has for adoption is its percieved stability. If substandard, buggy drivers crash computers, users are going to blame "Linux" for crashing, not the driver whose development was outsourced to Tajikistan. IMHO, a driver API such as this would hurt Linux adoption, not help it.

    13. Re:Excellent suggestion! by IAmTheDave · · Score: 4, Insightful
      Do your really believe that the answer is to trade stability for convenience? As the parent said, we would be right back to where Windows is. As more and more of these type of issues come up I think the Linux kernel developers need to stand resolutely on their principals and provide a quality product even at the sacrifice of some usability.

      Just to play the devil's advocate - yes. That is, if you want the average Joe Blow to start even thinking about Linux instead of Windows.

      Windows is ubiquitous. OSX has mind share at least in part because almost every peripheral you purchase and plug in just sorta works. Linux has hundreds of thousands of forum posts dedicated to getting standard pieces of hardware - like mainstream video cards - working in the OS.

      So in theory, yeah - I'm for allowing closed source drivers to be developed for linux, because without hardware support, you'll have very little non-tech usership of linux.

      Just my opinion, of course...

      --
      Excuse my speling.
      Making The Bar Project
    14. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      How many years will we have to wait before you learn to spell "manufacturer"?

    15. Re:Excellent suggestion! by robertjw · · Score: 5, Informative

      Just to play the devil's advocate - yes. That is, if you want the average Joe Blow to start even thinking about Linux instead of Windows.

      Your statement has been the subject of several discussions here lately. If you are asking if "I" want the average Joe Blow to start using Linux, the answer is "I don't care". I belive the Linux is an excellent operating system that is stable, robust and powerful. I think average Joe Blow should use it for those reasons. Do I care if he does use it? As long as he doesn't call me to clean up his spyware and viruses, or at least doesn't get pissed when I charge him to clean it up, I'm fine with Mr. Blow using any OS he wants.

      Thing is, if the Linux development community starts making compromises that jeopordize the security and stablility of the OS just to intice ol' Joe to use Linux we haven't gained anything. All of the reasons to use Linux go away and we haven't progressed. Linux has gained market share due to it's quality, stability and performance. Linux will continue to improve and continue gain market share because of these reasons. Eventually a free market should change to embrace a better product. There is no reason to compromise just for short term acceptance gains.

    16. Re:Excellent suggestion! by Misch · · Score: 1

      I think the Linux kernel developers need to stand resolutely on their principals

      Wouldn't that hurt the principals?

      --

      --You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
    17. Re:Excellent suggestion! by laughingcoyote · · Score: 2

      Your way -might- make desktop adoption a little faster. However, if it worked, it would guarantee that such desktop adoption would do nothing to advance open-source. One reason the kernel -is- so stable is its open nature. If it's allowed now for the kernel to be tied to closed, binary crap, then no matter how much adoption occurs, it'll always be tied to that. On the other hand, if Linux adoption increases, and the principle remains held firm, any vendor who refuses to open-source will be shut out of an ever-growing market segment.

      Personally, I'd much rather wait a bit. I've never had trouble finding something to get even newer stuff working. Of course, I do try to purchase from companies who have opened the drivers for the hardware I'm purchasing, and I make sure to let them know that's why I bought their stuff. I've received some very positive responses so far to that.

      --
      To fight the war on terror, stop being afraid.
    18. Re:Excellent suggestion! by MobyDisk · · Score: 4, Insightful

      Having a stable API for writing drivers is a completely separate issue from having binary-only drivers. The article summary makes them seem like one thing. Having a stable API would seriously improve the quality of the drivers because developers would not have to constantly modify drivers just to keep them working properly.

      Many drivers suffer quality issues or are just abandoned because drivers must be changed to work with each new kernel. That is time that could be spent stabilizing them, improving them, or writing new drivers. It is probably the single biggest hurdle to getting a broad range of driver support for Linux.

      For some drivers we already do have an API. For example, sound cards can use ALSA instead of coding directly to the kernel. Driver quality and quantity improved significantly because of ALSA. The same thing goes with SANE. The only problem there is that SCSI and USB support has been lagging.

    19. Re:Excellent suggestion! by NickFortune · · Score: 3, Insightful
      Are we so zealous that we want to keep these pieces of hardware from working with Linux?

      With respect, I think there's more than one question to be considered there:

      1. Are we so zealous that we want to exclude binary only drivers from the kernel tree?
      2. Is it reasonable to assume that manufacturers will continue to boycott the kernel unless we gant them access on their terms?
      3. Is it reasonable to assume that in-kernel binary drivers will be superior to current solutions in the majority of cases?
      4. If so, which do we value most, kernel integrity or manufacturer buy-in?

      As I see it:

      1. There are advantages to keeping the core kernel open. If we allow closed drivers we risk a tragedy-of -the-commons situation, where each binary submission has an incentive to exploit the architecutre to the maximum and little to respect the priorities of others. Furthermore, with binary modules, it will be difficult to identify the culprits in cases of abuse. Personally, keeping the kernel open would seem more a matter of practicality than zealotry.
      2. I believe the kernel developers can safely stick to their guns and insist on access, either on their terms or not at all. After all, the commercial world has come in supplication here. This means that they see value in having access, and that value will only increase with linux deployment. Linux got to it's current level of developement with hardware support that was limited to non-existent in the majority of cases. I expect we can continue to grow without granting concessions.
      3. It's by no means clear that allowing binary only driver will improve matters. As many others on this list point out, poor drivers are the source of much of the Windows system's legendary instability. And while I feel that Bill, Steve and Company invoke this excuse perhaps a little more often than circumstances strictly warrant, I also think we'd be fools to court the same problems.
      4. Kernel integrity for those reasons stated above.

      And after all, this is a deal that will be easier to revisit in the future than it will be to revoke once granted. The pressure to allow binary submissions will continue for as long as Linux as a noticable commercial deploymen. The kernel devs can afford to wait and see here. I expect that's just what they'll do.

      --
      Don't let THEM immanentize the Eschaton!
    20. Re:Excellent suggestion! by Dwonis · · Score: 5, Insightful
      It's not that I want to repeat anything, but there are a whole mess of hardware vendors out there that just won't release open source versions of their drivers.

      No, no, no, no NO. We don't want hardware vendors to write drivers. Besides, most hardware vendors don't want to maintain drivers for Windows, MacOS, FreeBSD, NetBSD, OpenBSD, BeOS, HURD, Xen, Linux, Solaris, and each of the incompatible versions of each of them, as well as any new platforms that arise. Even if they do, whether or not they can write good quality, full-featured, secure drivers for all of these platforms is an open question.

      All a vendor needs to do is to make good, solid interface documentation, and make it available without NDAs and other childish restrictions, and the drivers will not only be written, but they'll probably be shipped with the operating systems, and for the most part, just work.

      Companies that specialize in PC hardware should stick to the hardware, and let the software specialists write the software.

    21. Re:Excellent suggestion! by theJML · · Score: 1
      How exactly does that help the adoptation of Linux on the desktop?
      I think the important thing is not to push linux onto the desktop, but to continue to make it better and more useful so that it becomes the desktop of choice.
      I think too much time is spent thinking "what can we do to make linux like windows" or "what can we do with linux to make more people use it"... If it's a better product, people will use it. Making a windows clone won't make it part of the everyday desktop, making it better than windows will.

      That being said, I think which ever option comes out to be the best in the long run as far as stability, and usefulness, is what's important. Personally I'd much rather not have a driver for some hardware and beforced to use a generic one I can count on, than to have a binary unstable driver available that causes system crashes all the time. (and honestly, when I've had the choice between the two, I usually go with the generic one).
      --
      -=JML=-
    22. Re:Excellent suggestion! by Ender+Ryan · · Score: 2, Informative
      That is simply false. The NVIDIA drivers are the *only* decent 3D drivers available for Linux at the moment. No other drivers even come close in terms of features, performance and stability with 3D applications.

      Sure, it takes NVIDIA some time to catch up to the latest kernel changes, but they do a damn decent job considering the kernel is a moving target. If that were not the case, their drivers, which are already the best available, would be even better.

      Many hardware manufacturers are not in a position to open up their drivers. It's unfortunate, but that's the reality of the market.

      And also, there's no reason we have to accept shoddy drivers if we allow binary-only drivers. Microsoft put an end to that big mess on Windows, and there's no reason we couldn't use similar policies to ensure stability, and we could be even more strict about it. If we had a concerted effort, we could easily pressure hardware companies to fix bugs in their drivers. And for really important drivers, I'm sure there's plenty of folks who'd be willing to sign NDAs in order to get access to the drivers for improving them.

      Of course, it's not my call. If the key devs don't want it, it won't happen. Depending on their goals, though, they may be shooting themselves in the foot.

      --
      Sticking feathers up your butt does not make you a chicken - Tyler Durden
    23. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      Opinions can be "Interesting" but they cannot be "Informative." Why do only idiots get mod points?

    24. Re:Excellent suggestion! by Taladar · · Score: 1

      Actually "Everyone and their dog using Linux on the desktop" is not worth anything to most of the current advanced Linux Users (you know, the group that includes all the developers). Most simply buy Linux compatible Hardware and don't really need something like the "September that never ended" for Linux. What is the actual advantage of widespread adoption of Linux? I will admit there are advantages associated with a slightly higher market share of something in the 15-20% range (mainly more ported software and more hardware support) but do you really want everyone on Linux? When that goal would be reached Linux would be no different than Windows is now. Systems that try to be anything for everyone are never perfect for anyone.

    25. Re:Excellent suggestion! by Quino · · Score: 1

      as long as you stand on their shoulders and not their heads they should be OK.

    26. Re:Excellent suggestion! by IamTheRealMike · · Score: 4, Insightful
      Look at nvidias drivers on linux! Always well behind other drivers, and filled with bugs because we have to wait for nvidia to get off thier asses and fix the damn thing.

      Uh, yes. Because everybody knows that being open source is a magical recipe for never having any bugs.

      Writing video drivers is hard dude, and nVidia employ several experienced people who do it full time. I've seen them discuss technical issues in public before and have no doubt in my mind that they are experts.

      Given how many open source drivers are buggy as hell (i810 audio, hello) there must be another explanation. Here's one try.

      I hypothesise that what determines the quality of a driver is the number and quality of developers working on them. Closed source drivers sometimes suffer because the quality and/or quantity of developers writing those drivers isn't good enough. Being open source means that theoretically the quantity and quality of developers is unbounded. However, note that this is theory - being open doesn't actually imply that you will suddenly get legions of experts in video hardware writing your drivers for you. It merely makes it possible.

      To be honest, I have serious doubts that we'd have such good drivers if nVidia GPLd them tomorrow and simultaneously fired all of their Linux developers. Being closed doesn't mean you can't have good people working on it, and being open doesn't mean you will. It simply alters the bounds of the possible.

    27. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      That's not true - we are being informed of the poster's opinion. In truth, a new opinion is always informative.

    28. Re:Excellent suggestion! by Snarfy · · Score: 1
      All a vendor needs to do is to make good, solid interface documentation, and make it available without NDAs and other childish restrictions, and the drivers will not only be written, but they'll probably be shipped with the operating systems, and for the most part, just work.
      So how do the vendors protect their IP when they release the source?
    29. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      There are several things wrong with your argument. You seemed to list all the OSes you can think of, but just three of them make up about 99% of the home and office PC market. On the other hand, there are tens of thousands of different pieces of hardware that need different drivers. The likelyhood of finding working, open-source drivers for everything in a new computer is very slim. Besides that, most hardware vendors WILL NOT release the details necessary to write open-source drivers. Making it easier for hardware manufacturers to write drivers for the Trinity (Windows, x86 Linux, and MacOSX) is the way to go.

    30. Re:Excellent suggestion! by Tet · · Score: 1
      No, no, no, no NO. We don't want hardware vendors to write drivers. [...] All a vendor needs to do is to make good, solid interface documentation, and make it available without NDAs and other childish restrictions

      I don't have any mod points, otherwise they'd be winging their way to you right now. The best I can do is repeat the salient points of your post here in the hopes that people get to see it. I'm 100% in agreement with you.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    31. Re:Excellent suggestion! by timeOday · · Score: 3, Insightful
      I think the stability, performance, and security arguments fall the other way - in support of a binary interface.

      Currently it is almost impossible for hardware vendors can provide a binary driver. It must be adapted to every distro and kernel rev. For the most part they don't bother.

      Instead, we get reverse-"engineered" (i.e. hacked-together) drivers made by people doing their best to get devices working with no real understanding of how the device works. And you think that promotes stability, performance, and security?

      Ideally, we'd have quality open-source drivers for everything. Since that hasn't happened, now what?

    32. Re:Excellent suggestion! by non0score · · Score: 1

      "I" would want the average Joe to use Linux, because then I can actually get the drivers to my XYZ card in the first place (which also has been the subject of discussions lately). No drivers -> no working hardware -> unhappy user who needs to go get new (or old) hardware that is actually supported in Linux. It's sad, but it's true that there are lots of hardware that Linux can't support because the manufacturer won't make the drivers for them. I think both yours and my arguments are valid...we just need some sort of middleground.

    33. Re:Excellent suggestion! by AKAImBatman · · Score: 4, Insightful

      All a vendor needs to do is to make good, solid interface documentation, and make it available without NDAs and other childish restrictions, and the drivers will not only be written, but they'll probably be shipped with the operating systems, and for the most part, just work.

      You're ignoring a LOT of the praticalities of the matter. Many driver manufactuers can't provide OSS drivers or the necessary info because:

      1) It's against the law to provide methods for tampering with the equipment. (e.g. Wifi cards.)

      2) Much of the code and/or hardware design is licensed from other parties, and they can't get permission to open it.

      3) The ever important Time to Market consideration would be quashed if manufacturers had to wait for the driver to enter the tree then get distributed to the major Linux distros before releasing their hardware.

      Besides, most hardware vendors don't want to maintain drivers for Windows, MacOS, FreeBSD, NetBSD, OpenBSD, BeOS, HURD, Xen, Linux, Solaris, and each of the incompatible versions of each of them, as well as any new platforms that arise.

      That's why hardware manufacturers would like to see specifications like UDI and NDIS followed. Unfortunately, those wonderful software people who are apparently so much better at this stuff have decided that they don't need anything as passe as a cross-platform driver API. Mr. Stallman is leading the charge on this one. Personally, I think he's stuck on stupid, but that's just me.

      Here's my personal feelings on this. In the short term driver code has value to manufacturers for whatever IP it may contain. In the long term, driver code has precisely zero value to the OSS community. All they do is allow for more old cruft to hang around. I also think that supporting a cross-platform driver would make everyone's lives easier as Windows, Linux, FreeBSD, and whoever else can simply use the same drivers. Such a world would be a hardware Utopia in comparison to the driver issues we have today.

    34. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      I agree with you. Having a API for writing drivers might be allowing companies to write more drivers for linux and there fore make it possible to better support their new devices. One bad thing might be that more closed source drivers might show up for linux but as long as it won't cost anything to normal everyday home user I am willing to support the idea.

      One bigger problem might be how and where to get those drivers. Maybe some sort of internal place like drivers4linux.org with drivers for thousands of devices isn't very good sollution. Downloading drivers for your devices from makers sites is a step backwards to 1990's and since we are living 21st century it doesn't make much sence. I have always liked that I don't need to hunt my device drivers in Linux. Just adjust & compile and your are ready to go. Or like in most cases just install and use. :) Or maybe I misunderstood this...

      Anyway, I am willing to support this if it won't shoot down the current "kernel supports lots of/most of the hardware" model. Because that danger exists with this kind of projects. I want that when I install my OS I don't have to search for additional drivers. Having nVidia drivers downloaded and installed is enought.

      -AnttiA-

    35. Re:Excellent suggestion! by bataras · · Score: 2, Interesting

      Hardware vendors MUST write (or supply) drivers at least for Windows. That's the reality. Sure they could release specs and hope someone in the open source windows kernel driver world codes it up. But that ain't going to happen.

      Having actually done windows driver co-development in partnership with a Japanese hardware vendor before, I can tell you they do consider interfaces and protocols into their hardware proprietry. Remember some "hardware" products are actually computers in and of themselves with mini OSs and complicated protocols for communication with the host PC. This isn't your father's PIO serial port stuff. Even as a true blue co-developing partner the best we could get were software APIs to a binary library that we had to link into our drivers.

    36. Re:Excellent suggestion! by laffer1 · · Score: 1

      In a perfect world you are right. I just don't think we'll see that level of co-operation from hardware vendors. At this point, all i want is a video driver for my favorite OS. I don't care if its closed or open source. i386 linux people are lucky. They get drivers from nvidia and ati. I find that i'm actually considering buying an nvidia card so i can get a video driver for freebsd that works with opengl. My favorite game in the world is unplayable because ATI won't grow up.

    37. Re:Excellent suggestion! by Dwonis · · Score: 1
      Besides that, most hardware vendors WILL NOT release the details necessary to write open-source drivers.

      This is a myth perpetuated by PC hardware manufacturers somehow thinking they're special. Go look at any components distributor, and you'll find ample documentation for all sorts of hardware, especially for commodity stuff.

    38. Re:Excellent suggestion! by bfields · · Score: 1
      For some drivers we already do have an API. For example, sound cards can use ALSA instead of coding directly to the kernel.

      Most of the interfaces the ALSA driver uses are the same as any other driver. For that matter, do you have information to support the claim that in-kernel alsa-specific interfaces have been stable? I very much doubt it....

      --Bruce Fields

    39. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      Funny you should mention video cards. The reasons why video cards are hard to get working are
          1. You don't need a kernel driver, you need a driver for the X server, and the X server _is_ hard to configure
          2. The driver you need is usually closed source

      How do you expect closed source kernel drivers to help with any of these issues?

    40. Re:Excellent suggestion! by TechnologyX · · Score: 2, Insightful

      No open source code can even create the damn thing to begin with. Everyone totes the holierthanthou "I can LOOK at my CODE" but, how many of you even know what the fuck the code is doing anyway, let alone understand enought to actually correct a problem?

      0

      Problem comes up in Linux, go to google, search 5 million forums, eventually find some obscure fix from a real programmer, rinse, repeat.

      --
      Slashdot sucks
    41. Re:Excellent suggestion! by shutdown+-p+now · · Score: 1
      Worse, binary drivers mean support for only the platforms that vendors choose to support. Users of less popular architectures miss out.
      Still better than no support on any platform due to lack of drivers, though, isn't it?

      As it is, to run any relatively modern 3D game in Linux, you'll need proprietary, binary, closed-source drivers from either NVidia or ATI, and there are no signs of it getting any better. And yes, it is the fault of the aforementioned companies that they do not release the specs (or do so after significant delays, as in ATI case); but I want to play Doom 3 now, and not the Duke Nukem Forever port to GNU/Hurd in the bright happy future.

    42. Re:Excellent suggestion! by AKAImBatman · · Score: 2, Insightful

      This is a myth perpetuated by PC hardware manufacturers somehow thinking they're special.

      No, try again. The whole driver issue is one of the wiser things that Microsoft ever did. Back in the day hardware manufacturers made hardware, and software providers were expected to purchase the specs and implement their own drivers. Microsoft (despite being a fairly large company) realized that there was no way they could keep ahead of the driver game, so they used their clout in the PC industry to force (yes, force) hardware manufacturers to write drivers for their Windows Operating System.

      Microsoft wasn't stupid. They realized that there are serious advantages to distributing the development among companies other than themselves. Sadly, the Linux developers haven't wrapped their heads around this concept yet.

    43. Re:Excellent suggestion! by LordKazan · · Score: 1

      You don't have to sacrifice stability of security if you wall of binary-only drivers from sensative areas - granting them access ONLY to what they need to access. Access is requested via an API call - requests resources - and logs the requests and assigns them. If a driver attempts to write outside it's space - blammo denied. If a driver attempts to read outside it's space - blammo denied. Driver stops responding - Blammo killed.

      --
      If you cannot keep politics out of your moderation remove yourself from the Mod Lottery.. NOW!
    44. Re:Excellent suggestion! by bluelip · · Score: 1, Insightful

      >>So in theory, yeah - I'm for allowing closed source drivers to be developed for linux, because without hardware support, you'll have very little non-tech usership of linux.

      So be it. I don't care if every 3rd grader can't run Linux. I want it because it works. And always works. Dumbing down the kernel to allow for a binary only driver to be released by a manufacturer and then forgotten is useless to me.

      I understand that (insert your favoite vendor here) needs to make cash, but why not allow for proper driver development? I make sure the device I'm using has wide support no matter what OS I'm using. how can that be a bad thing to the hardware folks?

      --

      Yep, I never spell check.
      More incorrect spellings can be found he
    45. Re:Excellent suggestion! by AKAImBatman · · Score: 2, Insightful

      Go look at any components distributor, and you'll find ample documentation for all sorts of hardware, especially for commodity stuff.

      BTW, those are simply components. Consumer hardware is a complex collection of all those parts, usually containing its own set of interfaces and design features. Not to mention all the hardware that uses custom ASIC chips (pretty much everything), FPGAs (common alternative to an ASIC), and complex software drivers (e.g. Video cards, Wifi, Modems, etc.) that contain all the logic necessary to actually use the hardware for the intended purpose.

      Basically, what you're saying is "here's a video card that uses brand XYZ Digital YUV to Analog DVI coverter chip, go write a driver for it." Everyone else just sort of looks at you with their mouths hanging open as thoughts of frame buffers, multi-pipelined 3D texturing units, video overlays, Video ROM code, and other complex features float through their heads.

    46. Re:Excellent suggestion! by AKAImBatman · · Score: 1

      s/Analog DVI/Analog VGA/g

      DVI is a psuedo digital signal, so that would be a bad example.

    47. Re:Excellent suggestion! by smittyoneeach · · Score: 1

      Yes, because, at heart, we're all rooting for Sony.

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    48. Re:Excellent suggestion! by DennisZeMenace · · Score: 1

      Look at nvidias drivers on linux! Always well behind other drivers, and filled with bugs because we have to wait for nvidia to get off thier asses and fix the damn thing.

      You have no idea what you're talking about. No other drivers come even close to NVidia's Linux binary driver both in terms of quality, stability and performance. There's a reason it's so popular.

      Of course we all wish it was open source, it'd get fixed quicker when the fine kernel folks decide to change the module API. But there's not ONE open-source graphics driver that comes even close it terms of quality. That's worth a few weeks of delay before upgrading to the latest greatest linux kernel.

      DZM

    49. Re:Excellent suggestion! by Fordiman · · Score: 1

      It wouldn't be hard to include this as part of Hotplug support - as long as it's standardized. Since many security algorithms are included as part of the linux kernel, signed drivers aren't even difficult.

      Meanwhile, being that it's _linux_, you can disable support for external drivers with some degree of ease.

      Sheesh.

      Hell, I could even think of a few easy ways to build _daemons_ into a linux kernel without seriously modding the source code (just adding something to, perhaps, the ACPI module. I'm actually surprised that there haven't been a few distributed multi-targetted virii that do this)

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    50. Re:Excellent suggestion! by Z34107 · · Score: 1

      "If substandard, buggy drivers crash computers, users are going to blame 'Linux'" ...

      Kinda like users now blame Windows? Back in the "glory" days of Windows 95 and 98, overly clever programmers would look for "side effects" in the Windows API to exploit for better performance. These programmers would generally have their origins in assembly programming, and would look for things like "oh, the clear screen interrupt also sets the cursor back to home position, so I don't have to manually put it there and can save x bytes of code." And, for a while, things were good, as these programmers saved x bytes of code from wasting cycles and space. And all was good.

      Except, Microsoft had the audacity to upgrade their drivers and APIs. You know, make them faster, stronger, better, more stable, more secure, etc. And boom there goes your side effects. What was a clever hack before the patch is now an impossible-to-find, crash-causing bug because the patched code had different side effects. It still did what its documentation said it would (and in fact, generally did it quicker and more securely) but the little idiosyncracies of the old code abused by these coders no longer existed in the new APIs. Give yourself a cookie if you said "hmm, using something that doesn't exist anymore could cause a CRASH."

      So... in these cases, was it Microsoft's fault for providing proper support for their software, or was it the fault of the programmer? (This is a rhetorical question, you should all be nodding your head and saying "programmer.")

      Another rambling tirade: Some programs are just bad. In fact, most of them are. They come in $20 boxes, kill IQ points every time they're used, and can be found in the "bargain" game bins at your local ShopKo. When a user defiles his computer with another "Barbie Does Dumb Stuff" game, I would not only crash if I was the OS, but commit hara-kiri and save myself the pain.

      Once again, Microsoft's fault? Or the fault of cheaply made, cheaply programmed, cheaply sold, crappy games?

      And, a final rant: even "good," stable programs can have problems before you even launch them for the first time. Often times, programs will make use of a DLL to improve stability by reusing the known-stable code and by not having to reinvent the wheel. For Windows users, to a search for all the *.DLL files on your hard drive, and write down their quantity for later. As not every system will have every DLL in creation, the installer will need to copy DLL files also. Trouble is, these installers since the beginning of time - mostly due to lazy coders - would blindly copy the DLL into the system directory. All well and good if you didn't have that XYZ.DLL before, but if you patched XYZ.DLL to spiffy version 2.0, installing this program would install XYZ.DLL version 1.0 right over and completely kill the 2.0 spiffiness. Guess what? It would break all of your XYZ.DLL 2.0-using programs, even if they were perfectly coded. Now, look at that number you wrote down and remember that at least one program uses each of those files and that a single crappy installer could break EVERY ONE OF THEM. Just think, a few extra lines of code in the installer (~3 using C++ and the Windows APIs (I don't know about MFC)) could fix this.

      Again, not Microsoft's fault - believe it or not, most of their code is pretty stable - but the fault of lazy programmers. Just as of late (2000/XP) has it been practical to implement features like driver signing, system restore (get your spiffy XYZ.DLL version 2.0 back from a bad install) and kernel protections like the OS simply ignoring requests to overwrite new versions of system files (includingt DLLs) with old crap.

      The point: Windows has been blamed for EVERYTHING since the beginning of time and still lives on. Hell, slashdot users blame it for everything. Yet, this hasn't killed it - and if Linux is truly capable of standing toe-to-toe with Microsoft, it won't kill Linux, either.

      --
      DATABASE WOW WOW
    51. Re:Excellent suggestion! by Anonymous Coward · · Score: 0


      Drivers for BeOS and HURD?

      ahhh,hahahah. Oh, stop, that hurts!

    52. Re:Excellent suggestion! by rapidweather · · Score: 1

      Yes, it is encouraging to see an excellent overview such as yours. I find it exciting that linux may take a new course, or at least explore the reasons why the present course is the one to be stayed. In the long run, what will be the Windows of the future, and linux of that time will probably be more like each other, but linux is "open source", and is ours to work with, whereas Windows is not. Those wanting to work with a finished product will continue to buy machines with Windows on them, but those of us wanting to work with the OS itself, will always want linux around. To me, its the difference between an old lady with a Buick that only wants
      reliable transportation, and the guy who has a Porsche, and a garage full of tools. He's gonna want to tinker under the hood, she is not.

    53. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      So how do the vendors protect their IP when they release the source?

      By sealing it in plastic and sticking it in a card with a dozen other metal and plastic thingies.

      I think you have confused software vendors and hardware vendors.

    54. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      Ah ah ah ah

      I used to work for a GPU manufacturer

      You live in a dream world. You have no idea what driver writing is about for a GPU, do you? How intimate the relationship between the software and the hardware is? What tricks ar needed for good perf? What hoops the driver has to go through to avoid hardware bugs? I am not even talking about Cg compilation: do you think those guys would like to expose every single detail of their architecture? Every single defect of their chips.

      Get over it guys. A driver is to the hardware as the UI is to a program: IHV are not going to give them up anytime soon

    55. Re:Excellent suggestion! by Billly+Gates · · Score: 1

      The drivers on windows are better to me.

      Speaking of nvidia I had a very nasty experience under windows2k with their latest drivers.

      I downgraded to a WQH(windows quality hardware) certified and my board works fine again and is much faster. Strange

      It seems ATI is making better drivers these days and hell froze over.

      I am in favor of a kernel api because hackers can use it too to write free drivers and it would attract driver makers to linux.

      Face the facts? Their shareholders wont let hte vendors make open drivers. IF someone steals their tradesecrets the shareholders could fire teh CEO. WIFI for example is better supported under FreeBSD 6.0 because they are closed source. WHy?

      The FCC requires all wifi devices to be proprietary. That is another example.

      I am just a realist here

    56. Re:Excellent suggestion! by Billly+Gates · · Score: 1

      I installed SuSE10 last week and a big disclaimer about nvidia drivers causing crashes appeared.

      The good news is that nvidia drivers suck on WIndows as well. I use older drivers from last year because my 6600gt will stall for 5 minutes when I launch any video if I upgrade the drivers. Its been 6 months and still no fix. 3dmark2003 also showed disappointing performance as well.

      Lets hope ATI can improve. If I were a cad or a 3d artist user I would be very weary of chosing linux right now for obvious reasons.

      A stable kernel api will help greatly.

    57. Re:Excellent suggestion! by Chirs · · Score: 1

      The point you are missing is that the driving force for a "stable API" is for companies to be able to develop closed-source drivers easily.

      Right now the in-kernel API changes fairly frequently, so it's easier to maintain a driver that is in the mainline kernel, as all the API changes get done by the kernel maintainers, not the driver developers.

      Vendors would *love* to have a stable interface, as it would make it simpler for them to maintain out-of-tree drivers, thus giving them no incentive to get the drivers into the tree.

      The simplistic view:

      drivers in the tree == best
      drivers out of tree but source available == okay
      drivers out of tree and no source available == bad and possibly in violation of GPL

    58. Re:Excellent suggestion! by syzme · · Score: 1

      I completely agree.

      One of Linux's biggest disadvantages is its lack of a substantial amount of drivers. This is the reason why my laptop isn't running Linux right now.

      By providing an API for all drivers, even if ever so slightly, it becomes less of a pain in the ass to develop drivers for linux. If this change means that just a few more drivers will be released, Linux will benefit. Valid as well is the benefit that less time will be spent updating drivers for subsequent kernel releases.

      Removing more obstacles to easy development in Linux, whether its with respect to drivers or otherwise, can only improve Linux.

    59. Re:Excellent suggestion! by poofyhairguy82 · · Score: 2
      Many driver manufactuers can't provide OSS drivers or the necessary info

      Then we in the Linux community just won't buy their stuff, or find ways to force it to work when we do (ndiswrapper or reverse engineering).

    60. Re:Excellent suggestion! by poofyhairguy82 · · Score: 1
      That is simply false. The NVIDIA drivers are the *only* decent 3D drivers available for Linux at the moment. No other drivers even come close in terms of features, performance and stability with 3D applications.

      Not quite. The Nvidia drivers don't accerate EXA. I used to be the biggest Nvidia fan in the world, but next week I plan to drop my 6600 GT and get an ATI 9250 just because the open source driver in the 9250 accerates EXA in a way that allows me to have a stable xcompmgr on my desktop. The 92xx drivers are easily on par with Nvidia's, it just that the hardware is slower.

    61. Re:Excellent suggestion! by dpreston · · Score: 1

      But do you not agree that more users results in more funding? If something seems to be useful, productive, etc., firms tend to want to INVEST, making your favorite stable operating system even better. As I see it, technology has two projections: Use & Development. We'd like to develop to make something more useful, and if it is useful, we see more of a reason to develop. You have to look at the longterm benefits here, which may be direct or indirect, but there's no reason why a product/system can't change and mold into something bigger and more extraordinary.

    62. Re:Excellent suggestion! by mrchaotica · · Score: 1
      Are we so <strike>zealous</strike>idealistic that we want to keep these pieces of hardware from working with Linux?
      Yes!
      How exactly does that help the adoptation of Linux on the desktop?
      It doesn't. But that's okay, because being obscure is better than being unstable, insecure, and not worth using!

      (I really wish slashdot would interpret the <strike> tag)
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    63. Re:Excellent suggestion! by Rutulian · · Score: 2, Interesting

      Instead, we get reverse-"engineered" (i.e. hacked-together) drivers made by people doing their best to get devices working with no real understanding of how the device works.

      As opposed to hardware engineers writing code for a kernel they know nothing about? I would much rather a kernel hacker writing a driver off of a spec sheet over an engineer copying a device driver template and sticking in the appropriate bits. In the absence of a good spec sheet, I'll take reverse-engineered drivers any day. They may not support all of the features, but they are usually better quality than a lot of closed source binary drivers. Just look through the Alsa project. The Soundblaster Live driver is a good example. Creative released one of their own (open source even, I believe), but it blew compared to the one written by the Alsa hackers.

      The solution for vendors not wanting to support multiple kernels is to open source their drivers. Once it is in the kernel, the maintenance is taken care of by somebody else. There really is no reason to not open source a driver. The PHB's are just stuck in a rut..."It has to be closed source because...intellecutal property...trade secrets...err, it's mine ."

    64. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      No you retard, its not a violation of the GPL. do you think they have left ati and nvidia have been allowed to violate the gpl for years?

    65. Re:Excellent suggestion! by AKAImBatman · · Score: 2, Insightful

      Then we in the Linux community just won't buy their stuff

      Good luck on those video games, then.

      or find ways to force it to work when we do (ndiswrapper or reverse engineering).

      I really should be snickering like an idiot at this. Really. Read the first four letters of the driver name you just gave. Now think long and hard about how much trouble could have been saved if Linux had just supported binary NDIS drivers in the first place.

    66. Re:Excellent suggestion! by Cal+Paterson · · Score: 1
      Clearly you misunderstand the concept of Open Source and Free Software.

      The point of having source code available is not that the individual is able to personally check it all and alter it. That was never the intention. Having source code available allows peer review, and this is what leads to improved Operating Systems and computer programs.

      The bizaar model of development simply ensures that the code is checked and contributed by a far larger developer base than would ever be possible with a closed program (for more infomation, see Linus's Law; http://en.wikipedia.org/wiki/Linus's_law). Why do you think it is that Free kernels and Operating Systems like Linux and *BSD have far greater performance? Because the sheer number of people looking through the source code means that eventually someone sees the problem and fixes it.

      "Given enough eyeballs, all bugs are shallow."

    67. Re:Excellent suggestion! by Anonymous Coward · · Score: 0
      I'm a geek with a wall full of computers all running linux or BSD and I've had enough of Nvidia and ATI binary crud for one lifetime. I keep buying the cards because I've always been interested in 3d and hoped to see the driver situation improve. I don't actually need a 3d card, sure it's nice to be able to play the odd FPS or watch that dolphin screensaver in fast-forward on my machines but not really worth the cost of the 3d cards and there are cheaper ways to heat my apartment. Funny how all my machines have 3dcards fitted and yet 4 of them are running headless.

      I wonder how many more slashdot readers there are like me; more processing power than skynet, not run windows in over 5 years, hate tainting kernels with binary crud and should stop wasting money on 3D graphics hardware that sees virtually no use?

    68. Re:Excellent suggestion! by MobyDisk · · Score: 1
      drivers in the tree == best
      I see this point made often, and it is correct in principle. But the rug got pulled out from under me when I started finding that in-tree drivers were falling behind too! The last 2 SCSI cards that I've used have been removed, added, re-removed, then re-added into the kernel because nobody was maintaining them. If even the kernel developers can't keep up, then who can?

      There are developers (myself included) who would write drivers if there were a stable API to do it with. As-is, it is very intimidating and even if I do write one, I certainly wouldn't want to have to maintain it.
    69. Re:Excellent suggestion! by koreaman · · Score: 0

      Just out of curiosity:

      Do you use Gentoo?

    70. Re:Excellent suggestion! by poofyhairguy82 · · Score: 1
      Good luck on those video games, then.

      I don't need luck, my Gamecube work fine.

      Now think long and hard about how much trouble could have been saved if Linux had just supported binary NDIS drivers in the first place.

      Linux does support most binary drivers for wireless cards with Ndiswrapper. Would i have been easier if Linux would have had a way to do that from the time the first wireless drivers were released? No, because someone would still have to make the interface for those ndis drivers. Would users have had an easier time? Maybe yes, but Linux is about software not users. Companies make software for users. Linux is software made for companies (and users it they want it for what it is)....

    71. Re:Excellent suggestion! by Rutulian · · Score: 2

      There is support in the kernel for every major class of hardware out there. Ethernet drivers, wireless drivers, sound drivers, usb drivers, scsi drivers, sata drivers, you name it, it is there. The notable exception is hardware accelerated 3D graphics, which Nvidia gets away with because they have no competition (ATI support is much worse in linux). Hopefully something happens with the OpenGraphics Project sometime to help fix this. Will it be a top of the line card...no. But then why does it matter. Linux isn't used for serious gaming.

      There is an absence of drivers for individual devices within a hardware class. Who cares? Buy supported hardware. It's not like it is few and far between. For any collection of ethernet cards, 1 in 50 might not be supported in linux. It really isn't that hard to grab the supported card off the shelf at Best Buy. I've been buying hardware for linux for years, including motherboards with funky chipsets, latest and greatest add-on cards, usb devices, wireless devices. I've never had trouble getting that hardware to work.

      You say more hardware would work with linux if there was a stable binary interface. I don't agree because:
          1) A lot of hardware vendors don't care about linux period. It is much easier to convince them to release specs so that we can do the work than it is to convince them to spend money to support a negligble market. If they are going to be difficult about the specs, chances are they are going to be difficult about a binary driver as well.
          2) If they do agree to make a binary driver, they aren't going to put a lot of effort into it. It will probably be buggy. It might break subsystems in the kernel. It won't support every configuration/architecture. Just look at the ATI/NVidia situation. Sure, they threw a bone to their linux *customers*, but they dug it out of the dumpster and didn't wash it off.
          3) Many distibutions will not be able to ship the drivers out of the box due to licensing issues. You will have to manually download the drivers and edit your configuration files by hand. NVidia has been fairly good about this, but wireless vendors that require firmware to be loaded have not.

      So, I'll wait for the open source drivers. If a vendor doesn't deliver, I'll pick someone else.

    72. Re:Excellent suggestion! by Anonymous Coward · · Score: 0
      Hi, if you want closed source drivers I think these people make an OS that may be of interest.

      When you say a stable API will improve linux, would this be the same type of improvement that I could make to your face with a bat?

      Binary drivers taint free software and nobody who understands the GPL wants them.

    73. Re:Excellent suggestion! by Rutulian · · Score: 1

      1) It's against the law to provide methods for tampering with the equipment. (e.g. Wifi cards.)

      This is due to bad hardware design. They are building the functionality of the chip into software instead of on the chip itself. This necessitates a closed source driver. If they built a fixed transmitter power into the chip, this wouldn't be a problem. But they don't...why not? My guess is they are trying to save money somehow.

      2) Much of the code and/or hardware design is licensed from other parties, and they can't get permission to open it.

      If you are referring to NVidia's licensed OpenGL implementation, the solution is to use an open source implementation, such as Mesa. Or to write your own code. Or to get the open source community to write it for you by releasing hardware specs (and they will because a lot of people are interested in open source NVidia drivers, but reverse-engineering is quite a task for a device that complicated). Not sure about the hardware design aspect, but I kind of doubt an intellectual property agreement would prevent a company from releasing an interface specification. There is nothing to gain by that.

      3) The ever important Time to Market consideration would be quashed if manufacturers had to wait for the driver to enter the tree then get distributed to the major Linux distros before releasing their hardware.

      Why would they wait until a driver is available? Just hand out the specs, the driver will get written. If they really care about a driver being available (i.e: they consider the linux platform more than a niche market), then they can write an open source driver. It doesn't take long to get a driver accepted into the main tree, and that doesn't even have to happen to get distributions to ship it. It's a lot easier to get a linux distribution to ship a driver than Microsoft.

      In the long term, driver code has precisely zero value to the OSS community.

      Freedom to modify the kernel when it is necessary is of huge value to the community. Supporting and maintaining a static ABI is a pain and will ensure cruft build-up in the kernel. Nevermind the fact that a lot of hardware vendors don't actually support NDIS to begin with. You know those wireless drivers that came with your card that you had to load separately in Windows, and they have their own little control panel? Not NDIS. If you use the NDIS driver shipped with Windows you don't get all of the functionality because the standard doesn't support it.

      Seriously, vendors can offload a lot of work and we can get higher quality drivers (on all platforms) if they would just release the specs. Why won't they do it? My theory is that, like the music industry, they are just ignoring a new opportunity that requires them to change the way they do things. Vendors are refusing to release specs because drivers have always been proprietary. That is all. There is no real substantial reason. The closed file formats people at least have vendor lock-in going for them. There is no competitive advantage to having a closed source driver.

    74. Re:Excellent suggestion! by barryman_5000 · · Score: 1

      I think I like you.

    75. Re:Excellent suggestion! by laughingcoyote · · Score: 1

      Yes, why?

      Slow Down Cowboy!

      Slashdot requires you to wait longer between hitting 'reply' and submitting a comment.

      It's been 10 seconds since you hit 'reply'.

      Chances are, you're behind a firewall or proxy, or are typing with both hands. Please try again. If the problem persists, and all other options have been tried, contact the site administrator.

      --
      To fight the war on terror, stop being afraid.
    76. Re:Excellent suggestion! by Anonymous Coward · · Score: 0
      Linux has gained market share due to it's quality, stability and performance

      I'd say what you described was AIX or Solaris. If you had finished that statement with "per dollar" I'd have agreed with it.
    77. Re:Excellent suggestion! by Anonymous Coward · · Score: 0
      All a vendor needs to do is to make good, solid interface documentation

      and ... All "Linus" needs to do is make a good, solid kernel driver interface documentation.

      See, your argument sounds very much like the argument used by the hardware vendor proponents :-)
    78. Re:Excellent suggestion! by AngelofDeath-02 · · Score: 1

      And just why shouldn't we allow for both?
      Why not have support for both open sourced and closed source drivers?

      "The solution for vendors not wanting to support multiple kernels is to open source their drivers."
      Well they haven't, and likely will not for some time.

      Your own example of the alsa drivers basically just concluded that hacked drivers are better, even without source. These drivers will still continue to be hacked together, we just might get the opportunity to use the equipment in the mean time!

      Isn't one of the ideologies of open source having choices?

      --
      No, I am not an English major. My posts are subject to typos and incorrect grammar. Do not expect perfection.
    79. Re:Excellent suggestion! by MrHanky · · Score: 1

      Cross platform? In one sense, the Linux drivers are cross platform. I can use my Asus WL-107G WiFi card only because it has free and open drivers. If Linux used NDIS or something similar, Ralink would probably be satisfied with releasing a binary driver for x86, maybe AMD64, and the ones running Linux-PPC would be screwed.

      One more thing: It's in the long term driver code has value to the Free Software community, and to everyone else. Hardware can have a long useful life, yet manufacturers go out of business. Then there are no further updates to their drivers. How is, for instance, 3dfx driver support in XP these days? How about 64 bit XP? Of course, this is a much worse problem for specialized hardware.

    80. Re:Excellent suggestion! by DavidTC · · Score: 1
      Driver developers hardly equal kernel developers

      Erm...what the hell do you think kernel development is? The kernel is almost all drivers. There are a few parts of the kernel that aren't, like process management subsystem, but, on the whole, about 90% of it the kernel is a driver for something or another.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    81. Re:Excellent suggestion! by Snarfy · · Score: 1

      No, I'm not. Any doc that should be used to create a worthwhile driver would have to contain the hardware vendor's IP. So whether they release source code which contains IP or they release a spec/doc that contains IP, their IP is still being released. Without a binary driver, any competitor could easily learn ("borrow," steal) from the vendor's work.

    82. Re:Excellent suggestion! by zsau · · Score: 0

      Do you know if there's a (recent) database of such hardware anywhere? The FSF is compiling a one, but it's currently only got info about wireless network cards and unsupported SD card readers.

      Thanks!

      --
      Look out!
    83. Re:Excellent suggestion! by DavidTC · · Score: 1
      Their 'serious advantage' is THE major cause of their operating system's most notable problem, aka blue screens.

      That sounds like a fucking stupid 'advantage' to me.

      When a Linux kernel oopses because the USB-to-USB networking cable driver is broken, who's fault is it? The Linux people, and they fix it. As soon as possible.

      In the worse case, it might be due to someone emailing patches to you and telling you to try them out, because no one has exactly the problem, but by gum they'll fix it.

      When it blue screens in XP? Well, I dunno, because the damn company that made the cable went out of business before XP and their driver from 2000 doesn't work. Possibly that was a bad example.

      Pretending they still existed, and you could still find anyone who gives a damn about hardware they aren't selling anymore and it's under warranty, I'd lay pretty good odds they'd just tell to 'upgrade to the newest driver', and that would be the entire solution...if it didn't work, you're screwed.

      This is because producing drivers is not their business, whereas it is the 'business' of Linux kernel developers.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    84. Re:Excellent suggestion! by DavidTC · · Score: 1

      Analog VGA? As opposed to what?

      --
      If corporations are people, aren't stockholders guilty of slavery?
    85. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      I'm wondering if there shuldn't be some overall linux driver organisation that gets funded by whoever wants to fund it, and gets documentation from the hardware vendors. This way you could in theory atleast get a quite good driver team that keeps everything up to date at high quality levels, while also maintaining source. My guess is this would mostly benefit the strongly hardware centric companies, cause the software side of things will have become more or less equalised. Personally I can't say this distresses me very much at all.

    86. Re:Excellent suggestion! by Rutulian · · Score: 1

      And just why shouldn't we allow for both?

      Two reasons, mainly.
          1) Open source is not just a product. A major part of it is about ideology. A lot of people, myself included, believe that the openness of linux (and open source advocacy surrounding linux) is the reason it has been so successful. If you want a project where people just code and don't care, use one of the BSDs. Linus got a lot of shit for using Bitkeeper to manage the kernel. When he was forced away from it, he wrote a replacement in a month. If you're only looking at economies of scale, you might consider that a waste of a month that could have been spent on the kernel. But I consider that a huge win because now kernel development is not tied to a proprietary product, and we now have a good open source distributed revision tracking system.
          2) Providing a stable ABI for driver development puts a major burden on the kernel developers. They would have to maintain an API *and* an ABI. In order to maintain the ABI, they don't have the same freedom to make modifications when and where needed. The result, cruft build-up in Windows style. Want to try out a new scheduler algorithm to improve desktop latency, too bad, breaks the ABI. There is also the matter of being able to debug the kernel around binary drivers. Yes, it can be done, but it is harder and the kernel developers don't want to do it. I don't blame them. I would rather be working on improving the acpi implementation.

      And what do we get for going to the trouble to make binary driver development easy anyway? A bunch of buggy, kernel breaking, half-assed drivers from companies that don't really give a rip about linux (see ATI/Nvidia) *and* yet another excuse to not release the specs for the hardware so that open source drivers can be written. Do you really want that just so you can use the crappy Winmodem you bought at Circuit City? A lot of hardware is supported on linux by open source drivers. Just do a little research before buying; support the companies that aid open driver development and ignore companies that don't. Then maybe we actually will have a lot of quality open source drivers out there.

    87. Re:Excellent suggestion! by Grishnakh · · Score: 1

      I disagree. Any problems with Microsoft's operating systems can definitely be blamed on them.

      Except, Microsoft had the audacity to upgrade their drivers and APIs. You know, make them faster, stronger, better, more stable, more secure, etc. And boom there goes your side effects. [snip] but the little idiosyncracies of the old code abused by these coders no longer existed in the new APIs. Give yourself a cookie if you said "hmm, using something that doesn't exist anymore could cause a CRASH."

      Sorry, this is MS's fault, plain and simple. The fundamental job of an operating system is to allow applications to run simultaneously without affecting each other, so that one app crashing does not ever bring down the whole system. Otherwise, all it is is a glorified task-switcher. Any case at all where this doesn't work is a failure by the OS vendor.

      Another rambling tirade: Some programs are just bad. In fact, most of them are. They come in $20 boxes,

      Again, software quality is completely irrelevant. If an app crashes the OS, the OS is crap. It doesn't matter how bad the app is.

      And, a final rant: even "good," stable programs can have problems before you even launch them for the first time. Often times, programs will make use of a DLL to improve stability by reusing the known-stable code and by not having to reinvent the wheel. For Windows users, to a search for all the *.DLL files on your hard drive, and write down their quantity for later. As not every system will have every DLL in creation, the installer will need to copy DLL files also.

      Here again, it's MS's fault. It really doesn't matter how good the quality of MS code is, it doesn't make up for lousy architecture, which is what "DLL hell" comes from. This is a pretty obvious problem that any decent software architect would have foreseen, but MS didn't. So now they have to come up with crappy hacks to make up for their blunder.

      MS's problem is that they started with DOS, a really crappy program loader for underpowered microcomputers, and tried to build up from there. They didn't really know anything about serious operating systems and how to implement them, even though mature OSes like Unix and VMS had been around since the early 70's and all the theory of operating systems was old hat by the time they decided to play me-too and released the horrible Windows 3.0.

      Full-fledged 32-bit Unix-based or Unix-like multitasking operating systems were already around by the time Win3.0 came out. MS could have introduced something like that instead, or at least borrowed many of the concepts. Maybe they way they did it was necessary for them to become as successful as they were, because of concerns like backwards compatibility with DOS software. Whatever the reasons, the fact remains that what they put out was absolutely not a quality product.

      Maybe the way they did

    88. Re:Excellent suggestion! by Flower · · Score: 1
      Ummm about that point 1.... Hate to say it but lately I'm seeing a lot more pressure being applied by the BSD community for open specs, getting firmware relicensed so that OSS projects can redistribute it, etc., etc. than I'm seeing from the linux community which seems to capitulate *cough*ndiswrapper*cough*videodrivers*cough* to closed source all in the name of pragmatism.

      "Just code" != "not care."

      --
      I don't want knowledge. I want certainty. - Law, David Bowie
    89. Re:Excellent suggestion! by koreaman · · Score: 0

      You sound like a Gentoo user. I'm not trying to insult you in any way. I just think you sound like a Gentoo user.

      Lo and behold, I was right!

    90. Re:Excellent suggestion! by AKAImBatman · · Score: 1

      This is due to bad hardware design.

      BZZZT! This is due to GOOD hardware design. By moving many of the controls to the software logic, the chips can be made simpler and more flexible. New features can be added by simply upgrading the software rather than requiring the consumer to purchase a new card.

      A perfect example of this is a video capture card I used to have. The signal lock was handled in software. Unfortunately, the initial release couldn't lock onto some of the more esoteric timings. (TV signals come in a few slightly different timing depending on if it's broadcast, RCA, or an RF feed.) Had they hardcoded these timings in the hardware, they couldn't have released a new version that supported everyone's video cameras.

      I'm sure you'll argue that they should have got it right the first time, but consider this: How many times have you "gotten it right" when you followed the spec to a 'T', only to find that there were slight variations on the spec by different implementations?

      If you are referring to NVidia's licensed OpenGL implementation, the solution is to use an open source implementation, such as Mesa.

      You really have no idea how these cards work, do you? The GPU isn't a magic implementation of a 3D processor that you can just plug APIs into. It's a high-performance, multi-pipelined, single-instruction/many-data, vector processor! It relies exclusively on the drivers to correctly feed it the data in such a way as to keep all the pipelines at maximum saturation, and all features of the chip at maximum utilization. Every release of the drivers that come out are nothing more than more optimizations to help common games make the best use of the silicon. If you think it's JUST an OpenGL implementation, you need to do your homework!

      Nevermind the fact that a lot of hardware vendors don't actually support NDIS to begin with.

      They would if it was better supported.

      You know those wireless drivers that came with your card that you had to load separately in Windows, and they have their own little control panel? Not NDIS.

      Okay, let's be honest here. Do you *really* need the little control panels? Even if we do, let's consider for a moment that the cross-platform ABIs/APIs could be updated to support such features. The only reason why it hasn't is that no one uses NDIS or UDI. They have got to be some of the most useful yet ignored technologies in the history of computing! Yet everyone is so happy because X-Windows has a platform independent API for drivers built in, when those drivers should be OS drivers.

      Seriously, vendors can offload a lot of work and we can get higher quality drivers (on all platforms) if they would just release the specs.

      Most of the ones who can, either have or are simply not that great of vendors. You and many others severely underestimate the problems inherent in releasing them.

      Vendors are refusing to release specs because drivers have always been proprietary.

      Yeah, whatever. Speaking as someone who was programming computers since before anyone had even heard the word "driver", I can say with confidence that the only reason for the current situation is that Microsoft pushed the responsibility of creating drivers for Windows onto the manufacturers. Prior to that you had to develop your own damn hardware interfaces. We were absolutely shocked when Creative gave the world a loadable API module for controlling their sound card. That was simply unheard of!

      I'm sure you'll go off into a rant about how Microsoft was just being Microsoft, But you know what? Microsoft was right on this one. Supporting that much hardware is crazy for one. For another, hardware today is simply too complex for everyone to be developing their own drivers. Considering that some hardware is on the level of the most sophisticated interaction between software and hardware ever developed, I'd say that we should be counting ourselves lucky we have the drivers at all.

    91. Re:Excellent suggestion! by AKAImBatman · · Score: 1

      Their 'serious advantage' is THE major cause of their operating system's most notable problem, aka blue screens.

      That sounds like a fucking stupid 'advantage' to me.


      Linux's 'serious advantage' is THE major reason why I couldn't have USB until 5 years after the spec was released.

      That sounds like a fucking stupid 'advantage' to me.

      Damn thing still never works right. (It was working correctly in BSD in '98! What the hell is the problem?)

      In the worse case, it might be due to someone emailing patches to you and telling you to try them out, because no one has exactly the problem, but by gum they'll fix it.

      You mean like the USB Intelli-mouse problem that I was having that had hundreds to thousands of reports on the kernel mailing lists but wasn't ever fixed? The only fix was that Microsoft changed their hardware to a new model.

      That sounds like a fucking stupid 'advantage' to me.

      When it blue screens in XP? Well, I dunno, because the damn company that made the cable went out of business before XP and their driver from 2000 doesn't work.

      As opposed to the unmaintained drivers in the Linux kernel that no longer work, in part because no one has the cable any longer because the company went out of business. Good plan there, chief.

      This is because producing drivers is not their business, whereas it is the 'business' of Linux kernel developers.

      Let's stop the wanking and be serious here for a moment. The only business of the Linux developers is to scratch the itch they feel like scratching. They'll sometimes go out of their way for users, but if they don't think highly of you or your bug report than you can expect it to get buried. That's what happens when the users aren't actually customers.

    92. Re:Excellent suggestion! by kjots · · Score: 1

      You're missing the point. A binary interface for Linux doesn't go far enough; what we need is a common per-architecture binary driver interface.

      You say that "A lot of hardware vendors don't care about linux..." Well, that may be true, but with a common binary driver interface, they don't need to!

      I for one cannot see any reason why there should ever need to be one driver per CPU architecture, one that is used by Linux, Windows, x86 Mac, etc. The same basic code will be used to communicate with the device no matter what operating system is in use. And when you consider the virtualisation technology to be introduced into future models of x86 processors, it makes even more sense to make the driver OS agnostic.

      Finally, I feel that the presence of the drivers in the Linux kernel source tree creates a significant amount of bloat and maintainance issues. At the very least, Linux should split into a driver source package, which simply abstracts the hardware into a set of APIs, and the Kernel proper, which is built on the driver API. Or something like that, I know I'm sick of recompiling every driver when I change my kernel version, especially when some of the hardware I use (e.g. digital TV cards) has no driver in the (stable) kernel. I am not content to wait, and I have no time to write it myself (not in any realisic time frame, anyway).

      Also, 3D acceleration is not just used for gaming: You need the binary drivers if you wan't to use the harware MPEG decoders of NVIDIA cards, for example.

      Basically what I'm saying is the status quo is not good enough: we can do better. The question is, why aren't we?

    93. Re:Excellent suggestion! by NoMoreNicksLeft · · Score: 1

      Are we so zealous that we want to keep these pieces of hardware from working with Linux?

      No, rather we aren't so willing to be total sluts and spread the kernel's legs to every third-rate hardware company that wants to crank out ill-concieved sprockets and not bother making the source code available. Make this possible, and at least a few companies who have been forced to release (even drivers not as good as the windows binary) open source drivers will close them back up for sprocket v2.0.

      And yet you want us to do this, to satisfy the computer-illiterate demands of screaming gamers? No thank you.

      One last thing, if you still aren't convinced. When we insist on open source drivers, we aren't just being philosophically pure, we're standing up for every other alternative OS besides linux that is waiting on drivers. The minute we have the source code available, BeOS can use it too, BSD can. Hell, OSX probably can, supposing the company didn't bother to do that one. And alot of other computers/OSes that a good majority of people reading this comment are just too mouth-breathingly ignorant to know of.

    94. Re:Excellent suggestion! by kjots · · Score: 1

      >I for one cannot see any reason why there should ever need to be one driver per CPU architecture...

      That should be "cannot see any reason why there should ever need to be more than one driver per CPU architecture"

      Damn I feel silly :-P

    95. Re:Excellent suggestion! by AKAImBatman · · Score: 1

      Analog VGA? As opposed to what?

      Analog NTSC, PAL, SECAM, EGA, UGA, etc.

      Digital DVI, MPEG, etc.

    96. Re:Excellent suggestion! by NoMoreNicksLeft · · Score: 1

      !!!!FALLACY ALERT!!!!

      (sirens)

      Admitting that hackers with no clue to the internals can make drivers just as well as the company can for windows (both are buggy and crash), and yet you want to side with the faction that insists on keeping things closed, when they'll never improve their quality? Fuck that.

      I side with the guys that reverse-engineer buggy drivers. In the long run, they'll manage it, help or not.

    97. Re:Excellent suggestion! by Doros · · Score: 1

      We need the average user to start using Linux. Most users are average, and until we get some decent market penetration, we won't get proper hardware support. Graphics card, motherboard, and especially sound card makers all ignore Linux, because it's such a small market share. If Linux had even 10% of the market, you can bet that I would suddenly have hardware acceleration on my 3-year-old sound card.

    98. Re:Excellent suggestion! by rtb61 · · Score: 1

      It's Linux, allow for two streams and see which one takes precendence. Retaining compatability will be tricky of course.

      --
      Chaos - everything, everywhere, everywhen
    99. Re:Excellent suggestion! by AKAImBatman · · Score: 1

      I don't need luck, my Gamecube work fine.

      Oh, well then. I'm sure that's very Free(TM) and Open(TM). I'm also sure that any 3D designs you need to do will be very easy to do on your GameCube. Good luck on that.

      Linux is software made for companies

      Pretty much every company I've been in would prefer driver support from the hardware vendor because "they know their hardware better than anyone else." In fact, the *only* ones I see who don't want a standard driver ABI are the Linux OSS people who don't want it for philosophical reasons. Which would be fine if they weren't trying to force the hand of every hardware company in existence, but they are.

    100. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      DAC/ADC chips are complex collections of gates containing their own set of interfaces and design features as well. Yet, amazingly, they're still well documented. Imagine that.

      Video/Network/Sound cards are simply components of the larger system. Of course not everyone is capable of writing a driver, but that's not the point. Not everyone is capable of performing music, yet it doesn't stop millions from enjoying the efforts of one.

      Not releasing interface specs is a cop-out by the manufacturers:

      1. It's easier and cheaper since there's less documentation to provide. (Remember the good old days of the C64 where you got details on all of the pinouts the thing had, right down to the voltage levels?)

      2. They can hide all sorts of design flaws by sticking workarounds in the driver. Hell, they could even put stolen code in there since it's a binary and the security blanket that is the DMCA protects them from having people legally poking around in it.

      Nobody without an agenda can realistically defend this type of short-sighted, anti-consumer action.

    101. Re:Excellent suggestion! by Rutulian · · Score: 1

      BZZZT! This is due to GOOD hardware design. By moving many of the controls to the software logic, the chips can be made simpler and more flexible. New features can be added by simply upgrading the software rather than requiring the consumer to purchase a new card.

      Ummm...we were talking about wireless cards. Of course updatable firmware is good in a general sense. In the case of the wifi cards, though, the transmitter power is set in software. There is absolutely no reason for this because the transmission strength is heavily regulated by the FCC. Open source drivers wouldn't be an issue for these cards if this had been done correctly. Now that it's done, though, the way to get around this is to distribute an open source driver with a closed firmware module. Unfortunately, due to stupid licensing issues, these firmwares are not redistributable and therefore a lot of distributions can't ship with them.

      If you think it's JUST an OpenGL implementation, you need to do your homework!

      I never said it was "just an OpenGl implementation." I said they licensed an OpenGl implementation from somebody that won't let them open the code (or so they say). Yeah, so the meat of the driver is a lot of complicated shit, so what. In the end you are defining an OpenGl API for the programmer to talk to the card, and telling the card how to execute those instructions. The point is anybody can do this if they have the specs for the card, which Nvidia won't release. There shouldn't, or rather doesn't have to, be any sort of intellectual property stuff to deal with.

      You and many others severely underestimate the problems inherent in releasing them.

      No, I just don't believe any of their excuses. A lot of hardware in linux gets supported by someone reverse-engineering the damn chip because they can't get the specs, and the driver ends up working as good as or better than anything that gets released by the vendor, if that ever happens. Of course that process is slow, so it would be better if they could follow a spec sheet. If they can't write an open source driver for whatever reason, they can at least release the specs so somebody else can do it. They aren't protecting their trade secrets better with closed drivers. The truth is, vendors won't do anything unless they are pressured into it. Broadcom wouldn't be releasing open source ethernet drivers if every other ethernet card manufacturer wasn't already. Same with the people that make ide controllers and and scsi controllers. Linux is an important enough market for them to properly support it. In Nvidia's case, there just isn't a better contender, so they can do whatever they want, which is why I am waiting to see what happens with the OpenGraphics Project.

      Prior to that you had to develop your own damn hardware interfaces.

      Yes, I know. I was around in the DOS days. It was a lot of work writing drivers for every graphics card you might ever want to support with your program. Nobody wants to return to those days. Drivers should be written once and included with the OS. The question is, who writes them? Somebody who knows the hardware with some understanding of the operating system, or somebody who know the operating system following a spec sheet. I vote for the latter because there are a lot more people capable of helping out in that area. The people who make the hardware are hardware guys. They don't care about the software and usually don't take the time to write a good driver. Trust me, Microsoft has the resources to write drivers for Windows. They just don't because they don't have to, and because they don't want to do the same thing the linux guys have to do, chase down vendors trying to get a spec sheets out of them. If the specs are open, nobody has to do any chasing, and there can be some collaboration in writing good drivers that can be easily ported to any operating system.

    102. Re:Excellent suggestion! by laughingcoyote · · Score: 1

      And so you were, I've used it on my system for probably a year and a half now, my wife's used it on hers about a year. Seems to be very stable and work well. Out of curiosity (and yes, I know I'm way offtopic), how did you know?

      --
      To fight the war on terror, stop being afraid.
    103. Re:Excellent suggestion! by nathanh · · Score: 1
      OSX has mind share at least in part because almost every peripheral you purchase and plug in just sorta works.

      Nonsense. I have a Canon scanner here that doesn't work with OS X. I have a Logitech keyboard that only partially works. The bluetooth hub that came with the Logitech keyboard doesn't work at all (OS X lacks an hid2hci tool). My friend has a digital camera that doesn't work. The majority of external firewire hdd enclosures don't work reliably. I have a PCI DVB-T card that isn't supported (amusingly enough the open source MacOS X driver looks like it'll be working soon). I have audio CDs that I can't rip in iTunes because when I insert them into the Mac, the drive goes clunkity-clunk for about a minute then shoots the disc out (copy-protected). I've got an 802.11g USB dongle that doesn't work.

      Now for the kicker; every single bit of hardware I've mentioned works fine in Linux. Even the audio CD that MacOS X spits out after a minute, I can rip it on the same hardware if I first boot Linux.

      I really despise the "It Just Works" campaign. It's a myth. It's been a successful campaign though, because all the fanboys repeat the myth and shout down anybody who dares point out the truth.

    104. Re:Excellent suggestion! by 10Ghz · · Score: 1
      Look at nvidias drivers on linux! Always well behind other drivers, and filled with bugs because we have to wait for nvidia to get off thier asses and fix the damn thing.


      Well, there IS 100% open and free NVIDIA-drivers available as well, and they ship with Xorg. Go use them if you want to, I fail to see why you have a problem with the fact that someone might want to use the binary-driver instead. As to their binary-drivers... Well, they are still order of magnitude better than anything else available on Linux (Ati? HAH!). But I guess you would be happy if there was only the free NVIDIA-drivers available, and no binary-drivers at all?

      And do you assume that open drivers automatically mean better drivers? If NVIDIA stopped developing the drivers, and gave the community the needed data to write the drivers themselves, would it be better than their current drivers? Are all open-source drivers bug-free and give optimum performance?

      What happens in 10 years when you're trying to use that binary driver to recover data from an ancient device?


      If we are talking about NVIDIA here, we would mean recovering data from a PC. In that case I would either replace the vid-card with something else, or use the free drivers that ship with x.org, if I really had to have working X while "recovering data".
      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    105. Re:Excellent suggestion! by ccp · · Score: 1


      Just to play the devil's advocate - yes. That is, if you want the average Joe Blow to start even thinking about Linux instead of Windows.

      Frankly, I don't.

      Cheers,

    106. Re:Excellent suggestion! by koreaman · · Score: 1

      The phrase "closed, binary crap" gave it away. Gentoo users tend to be heavily against closed source software and software in binary form.

    107. Re:Excellent suggestion! by AKAImBatman · · Score: 1

      Ummm...we were talking about wireless cards.

      So?

      In the case of the wifi cards, though, the transmitter power is set in software. There is absolutely no reason for this because the transmission strength is heavily regulated by the FCC.

      1. FCC regulations change.
      2. Radio transmissions are tricky things. A Wifi producer might release a patch that provides greater range by constantly modulating the power levels, yet remaining within the FCC's guidelines.
      3. It's about a lot more than power. You can accidently generate a massive amount of broadband radio noise if you're not careful. Basically, the software is playing HAM operator with the Wifi card in order to tune the best performance out of it without running afoul of regulations. That's a good use for software.

      I said they licensed an OpenGl implementation from somebody that won't let them open the code (or so they say).

      You're
      not
      listening

      The OpenGL implementation is seconday. Forget about it. We're talking about REAL technology that buffers, tweaks, and translates 3D requesting into highly sophisticated instructions that feeds to the GPU, manage VRAM, and generally control the entire 3D video bus. All that has JACK to do with OpenGL. OpenGL is just an API. It's unimportant. The real code is the stuff going on under the hood that tells the GPU "this is how you Antialias" or "this is how you rotate the textures" or "I've automatically prepped this bit of microcode to make this routine faster". The end result from the *drivers* is little more than a bunch of complex math instructions and VRAM updates. The GPU doesn't even know or care that it's calculating 3D pictures. It's just doing what the drivers tell it to do.

      When you consider that the translation from 3D down to sets on complex math instructions happen only in software, it should become clear that NVidia and ATI didn't develop all that technology by themselves. There's simply too much complexity there. Thus they licensed NOT OpenGL, but all kinds of bits and pieces of 3D trickery, microcode, and hardware design thats patented by someone else, produced by someone else, and only made use of by NVidia and ATI in as quick of a fashion as possible so they can beat each other to market.

      If you still think it's about the OpenGL implementation, you need to exit the computer market because you have not a clue what you're talking about.

      A lot of hardware in linux gets supported by someone reverse-engineering the damn chip because they can't get the specs, and the driver ends up working as good as or better than anything that gets released by the vendor, if that ever happens.

      That's why there are full drivers for NVidia, right? No wait, there aren't.

      That's why there are full drivers for WinModems, right? No wait, there aren't.

      That's why there are full drivers for WiFi cards, right? No wait, there aren't.

      Hell, it took 5 years to get USB right, and it still has problems. I'm not sure what you're so impressed by.

      The OSS drivers are workable, but in most cases they only exist for reasonably simple devices (or standardized devices), and they don't support the full feature set of those devices. Sometimes the only way they get the job done is because the card exposes the underlying chipset which they can find manufacturer documentation for. There's no magic here, I'm afraid.

    108. Re:Excellent suggestion! by cloudmaster · · Score: 1

      I had to wait through two revisions of OS X for drivers to finally appear for the first DVD burner I bought (a Pioneer). By then, there were faster units available. I bought one, and it didn't work with Tiger. Argh. Same goes for lots of stuff - if Os X supports it, it works fine. Otherwise, good luck finding a driver. Wait, doesn't OS X provide a stable driver ABI? I thought that meant that everyone and their brother would be absolutely tripping over themselves to write drivers!

    109. Re:Excellent suggestion! by cloudmaster · · Score: 1

      Stop buying things from manufacturers who refuse to develop good drivers / release specs so someone else will? How long do peripherals with crappy Windows drivers stay around? Do you buy stuff for Win32 that has terrible or non-existant drivers?

    110. Re:Excellent suggestion! by justins · · Score: 1
      All a vendor needs to do is to make good, solid interface documentation, and make it available without NDAs and other childish restrictions, and the drivers will not only be written, but they'll probably be shipped with the operating systems, and for the most part, just work.

      The mindset of viewing a company's effort to maintain their secrets as being "childish restrictions" kind of shows why so many hardware vendors avoid Linux like the plague.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    111. Re:Excellent suggestion! by justins · · Score: 1
      Look at nvidias drivers on linux! Always well behind other drivers, and filled with bugs because we have to wait for nvidia to get off thier asses and fix the damn thing.

      Come on. This is largely because of the hoops they have to jump through to get their binary driver to work in Linux at all.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    112. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      DAC/ADC chips are complex collections of gates containing their own set of interfaces and design features as well.

      You think DAC/ADC chips are complex? You need to get out more. DACs are downright simple in the world of electronics. That's like saying, "XML is a complex collection of tags containing its own set of semantics and design features as well. Yet, amazingly, it's still well documented. Imagine that."

      Nobody without an agenda can realistically defend this type of short-sighted, anti-consumer action.

      LOOK! A Man in Black! Oh, darn. You missed him. He just whisked someone away. Gotta watch out for those guys, you know. They have evil agendas, and they have the mind control devices to push them! Quick, put on this tin foil hat! Wait, NO! They're controlling your mind to do that! Tin amplifies the signal! Take it off quick! Put this paper bag over your head!

      Maybe if you pulled your head out of that rear end of yours, you might see that binary drivers are actually pro-consumer and that the drivel spewing from your mouth is anti-consumer. But hey, we all gotta believe in Santa Claus at some point, eh?

    113. Re:Excellent suggestion! by Rutulian · · Score: 1


      1. FCC regulations change.
      2. Radio transmissions are tricky things. A Wifi producer might release a patch that provides greater range by constantly modulating the power levels, yet remaining within the FCC's guidelines.
      3. It's about a lot more than power. You can accidently generate a massive amount of broadband radio noise if you're not careful. Basically, the software is playing HAM operator with the Wifi card in order to tune the best performance out of it without running afoul of regulations. That's a good use for software.


      1. FCC regulations don't change that often.
      2/3. You are arguing for a flexibility in the cards that is unneeded/unused. Vendors still want to release new cards to follow changing technology. Speaking of which, where were your simple firmware updates when WPA came out, and now WPA2? Why did I have to buy a new card to support it instead of just updating my driver? Despite the advantages of having a software driven card, vendors still sell hardware. They don't want to sell software, so they are never going to design their cards to be entirely software dependent. The issue now is the stuff that they chose to make software dependent. Your card pretty much operates at a constant power and frequency through its lifetime. Any code to modulate and regulate the transmitter is fairly constant and doesn't need to be in software. For bug fixes, do the same thing that the router people and controller card people have been doing for years: store the code in flashable firmware *on the card* and then post firmware updates on your website.

      You're
      not
      listening


      I know what you are saying. The problem I have is with this: Thus they licensed NOT OpenGL, but all kinds of bits and pieces of 3D trickery, microcode, and hardware design thats patented by someone else, produced by someone else. Most of the original patents on "3D trickery" were owned by SGI and purchased by NVidia. Along the way NVidia has improved the technology and filed for its own patents. NVidia owns all of the technology used to drive their cards. If somebody else was doing the innovating they wouldn't be at the top of their game. And, by the way, patented technology does NOT mean you can't show people the code. In fact it means quite the opposite. A patent enables you to release the design into the public so that everybody can see how it works without stealing your idea. Licensing code under an NDA only happens when a patent is not involved because that is the only way to protect it. If that is the situation NVidia is in, that seems pretty silly. Anything that is not patented NVidia is free to implement themselves, something they are quite capable of (it's just math, like you say). Considering how competitive the market is, it would be stupid for NVidia to rely on a 3rd party for something as important as the code to drive their card. Oh, and did you notice that NVidia calls their driver a "unified driver architecture." That is because they have managed to abstract all of their 3D trickery so that they can just slap a new card in with instructions for how to drive it and have it work without rewriting the entire driver. So if NVidia can't release the 3D code, why can't they release the specs for the card? You still haven't addressed that.

      That's why there are full drivers for NVidia, right? No wait, there aren't.

      That's why there are full drivers for WinModems, right? No wait, there aren't.

      That's why there are full drivers for WiFi cards, right? No wait, there aren't.


      The NVidia driver is a difficult issue. A lot of people are content with the binary drivers for now, but if NVidia stopped releasing them tomorrow, quite a few people would step up to the plate to write a new driver.

      There is at least one open source driver for a Winmodem, the IBM Mwave. There wasn't a lot of work put into these because not very many people care about them.

      There are quite a few drivers for wifi cards. See this.

    114. Re:Excellent suggestion! by DavidTC · · Score: 1
      As opposed to the unmaintained drivers in the Linux kernel that no longer work, in part because no one has the cable any longer because the company went out of business. Good plan there, chief.

      This is what is called 'Making stuff up'. Drivers in the Linux kernel work. Sometimes, very rarely, the interface changes enough that they do not compile and they get removed from the kernel, but it has to be a fairly rare piece of hardware. If they are there, they work on the versions of hardware they were written for.

      But, go ahead. Come up with an example. No, new hardware that is not yet supported does not count, come up with some drivers that stopped working for certain hardware.

      And, incidentally, mine was not a made up example. I have that cable. It is laying on the floor next to my feet. It is called a PC-Linq USB Cable. It works in Linux. It does not work in XP. (Not that I partically want it anymore...it's USB1.1.) Yes, you can find drivers for 2000, and find claims you can use those drivers in XP. You cannot. They install but don't work.

      I also have the SCSI card that does not have XP drivers over there, and the network card that XP doesn't support over there. (XP doesn't support any ISA PNP network cards, I believe. Or many any non-PNP ISA network cards. There's some crazy rule like that. It took forever to find a spare coax card that worked, and, no, I couldn't rewire the network on a whim because the OS doesn't like the network card.)

      All of those work in Linux. All of them were fairly current and usable hardware when XP came out, although now they're rather old and I don't have a use for them. These are not hypotheticals, they are actual pieces of hardware.

      All of those things worked in 98. None of them work in XP, because the theory that 'manufacturers maintain drivers' is completely wrong.

      Oh, and I have a 2003 laptop that standard Windows XP won't install on at all. Linux installs fine. This is one designed for XP, but only if you use their magical install CD. (It's not a restore CD, it's a real install CD. Damned if I know what it's doing different.)

      And additionally the display drivers provider by the display manufacturer won't installed right so I couldn't change which screen I was working on until I tracked down the version provided by the laptop manufacturer. Which was exactly the same drivers but a slightly older version of the install.

      This is the kind of shit you get when manufacturers provide drivers. Let's make things non-standard and fix them in the drivers! They break completely in XP without the right drivers, and yet somehow work in Linux, I suspect because the drivers are better coded. (Or maybe the Linux people just put in some if statements.)

      In Linux, of course, my laptop just worked. Yeah, I had to track down my USB wifi driver...which compiled and worked. Of course, I have to do that on XP also, unless I carry my driver CD around.

      Linux's 'serious advantage' is THE major reason why I couldn't have USB until 5 years after the spec was released.

      The spec was released in Jan 1996. Linux first got USB support without kernel patching in 2.2.7, which was out April 1999. That is, in fact, slightly over three years, not five.

      And no one was using USB in 1996. It technically was supported in Windows 95 OSR 2.1 and 2.5, but not if you want to get any work done. (If you're counting that crappy support, you have to count the external USB patches for Linux 2.1.x in 1998.)

      USB didn't catch on until 1998 when Apple started shipping computers with only USB. Which also lead to the new 1.1 USB standard in 1998, and MS shipping it with 98.

      Windows 98 was released in June 1998. Linux 2.2.7 was released in April 1999, so let's say distros were out by June 1999.

      So if you were using Linux and USB, it took roughly a single year extra to get USB support vs. people purchasing new copies of Windows. Not five.

      As for your Intellimouse..

      --
      If corporations are people, aren't stockholders guilty of slavery?
    115. Re:Excellent suggestion! by Pastis · · Score: 1

      Noone is saying that they should fire their developers. :)

      And don't tell me about the contractual obligations they have to third parties. If they really wanted to open source, they'd get a deal with them.

      I hate it when my X crashes, I hate it that I cannot suspend my notebook using ACPI. I won't buy nvidia until I get open source drivers.

      Now I am hoping for the open graphics project to succeed. http://wiki.duskglow.com/index.php/Open-Graphics

    116. Re:Excellent suggestion! by Anonymous Coward · · Score: 0

      the idea is not always leave everything to OSS.
      If nvidia have tallented programmers they can leave them in the
      company to lead the programming..but if the driver is open
      then they can get the help of thousand other programmers
      and users besides their own.
      And instead of paying 10 mediacore programmers,
      they can pay 5 better paid good programmers and save some
      money in between..
      So everyone benefits..

    117. Re:Excellent suggestion! by AKAImBatman · · Score: 1
      1. FCC regulations don't change that often.

      They've been changing with greater frequency as the years go by. The rise of digital wireless technology has had the FCC scrambling to reorganize the bands. Examples of this include the Digital TV bands, Family Bands, and Internet over Powerlines. They're also considering new technologies such as Ultra Wide Band to ensure that such tech doesn't interfere with existing bands.

      2/3. You are arguing for a flexibility in the cards that is unneeded/unused. Vendors still want to release new cards to follow changing technology.

      Only for major changes. Minor changes to improve the performance of existing hardware usually results in new drivers.

      Speaking of which, where were your simple firmware updates when WPA came out, and now WPA2?

      Firmware would be the problem. A new encryption standard on the card would require new hardware for decryption. Handled in the software (not firmware), the card could be updated with the feature. I can't speak to your particular card, but it's probably because you chose a card with self-contained firmware that you had to purchase a new card. Sorry. Get a software controlled one next time.

      Despite the advantages of having a software driven card, vendors still sell hardware.

      Yes they do. And if they can get away with not having to design a brand new piece of hardware, they will. Hardware development costs are tremendous and are generally avoided whenever possible. Which means that many hardware manufacturers strive to design their hardware with software controls so that they can repackage/rebrand with a few software changes on the same hardware. Most of these manufacturers will then release the driver updates for Windows. Using Linux? Too bad, you're using something someone else wrote.

      Any code to modulate and regulate the transmitter is fairly constant and doesn't need to be in software.

      Are you a HAM operator? How do you know this with any certainty? Most radio equipment has a reasonably large frequncy band available. From the Wikipedia article on IEEE 802.11, section 802.11b:

      802.11b and 802.11g divide the spectrum into 14 overlapping, staggered channels whose center frequencies are 5 megahertz (MHz) apart. It is a common misconception that channels 1, 6 and 11 (and, if available in the regulatory domain, channel 14) do not overlap and those channels (or other sets with similar gaps) can be used such that multiple networks can operate in close proximity without interfering with each other, but this statement is somewhat over-simplified. The 802.11b and 802.11g standards do not specify the width of a channel; rather, they specify the center frequency of the channel and a spectral mask for that channel. The spectral mask for 802.11b requires that the signal be attenuated by at least 30 dB from its peak energy at ±11 MHz from the center frequency, and attenuated by at least 50 dB from its peak energy at ±22 MHz from the center frequency.

      Since the spectral mask only defines power output restrictions up to ±22 MHz from the center frequency, it is often assumed that the energy of the channel extends no further than these limits. In reality, if the transmitter is sufficiently powerful, the signal can be quite strong even beyond the ±22 MHz point. Therefore, it is incorrect to say that channels 1, 6, and 11 do not overlap. It is more correct to say that, given the separation between channels 1, 6, and 11, the signal on any channel should be sufficiently attenuated to minimally interfere with a transmitter on any other channel. However, this is not universally true; for example, a powerful transmitter on channel 1 can easily overwhelm a weaker transmitter on channel 6. In one lab test, throughput on a file transfer on channel 11 decreased slightly when a similar transfer began on channel 1, indicating that even channels 1 and 11 can interfere with each other to some extent.

      Although the statement tha

    118. Re:Excellent suggestion! by CoderJoe · · Score: 1

      Currently it is almost impossible for hardware vendors can provide a binary driver. It must be adapted to every distro and kernel rev. For the most part they don't bother.

      Instead, we get reverse-"engineered" (i.e. hacked-together) drivers made by people doing their best to get devices working with no real understanding of how the device works. And you think that promotes stability, performance, and security?


      See, if the hardware vendors would release open source drivers, none of this would be an issue. Closed-source binary-only drivers can be bug-free, but many times are not. Do we really want linux to become the new Windows 95? (in terms of reliability from bugs in crappy binary-only drivers)

      An even better solution would be to release driver source and hardware interface specifications. This way, you have a working driver, and should a bug arise, people would have the information they need to get it fixed.

    119. Re:Excellent suggestion! by haruchai · · Score: 1

      I would very much like to know what hardware on your laptop isn't supported by Linux. I've used multiple releases of at least 8 Linux distros over the last 6 years and I've rarely found hardware that I couldn't get working - although there were several that needed software compiled or a wrapper of Windows drivers.

      --
      Pain is merely failure leaving the body
  7. No Thanks! by Shads · · Score: 5, Interesting

    No thanks, this is just a great way to promote closed source inside the linux kernel and to make debugging problems totally impossible.

    --
    Shadus
    1. Re:No Thanks! by cawpin · · Score: 1

      Then they wouldn't be allowed to put it into the source because Linux must remain open. That means everything, including drivers.

    2. Re:No Thanks! by isometrick · · Score: 2, Insightful

      I would say yes to a formal driver API, but I also think source for the drivers should still be released. The two concepts (formal API, open source) aren't mutually exclusive, but I guess being able to use closed source drivers is, in reality, why these companies are pushing for a formal API.

    3. Re:No Thanks! by Speare · · Score: 5, Funny

      Come on, can't we see through this Cathedral-driven charade? There's no rational thought behind Intelligent Drivers. It's all just a dogmatic rehash of the same old Closed Source thinking forced upon our Open Source kernel laboratories! I say, send these Intelligent Drivers ideologues back to Kansas where they came from!

      --
      [ .sig file not found ]
    4. Re:No Thanks! by Anonymous Coward · · Score: 0

      Not necessarily. This is would mostly benefit end-users and that's where this is heading, IMHO. It would indeed help driver programmers to make more hardware available to Linux users; hardware such as webcams, wifi adapters (an area I currently loathe due to lack of support), scanners, multifunction printers, etc.

      Hardware manufacturers such as Nvidia and ATI have shown support for Linux by compiling drivers for kernels without giving away too much trade-secret info. If there's a better way for these drivers to be implemented without licensing violations, etc, then I say they should do it.

      The kernel developers really should think about making this happen. If not, then we'll see the license/binary-only debates go on forever and frankly, I'm sick of the whining that occurs with no solution coming from the whining camps and at least a decent attempt coming from the hardware manufacturers.

    5. Re:No Thanks! by Krach42 · · Score: 1

      Exactly. Linus himself said that he doesn't want to formalize the driver API because it would lead to binary closed source drivers.

      No, the two aren't mutally exclusive, but Linus is trying to use the design of the kernel as a tool towards insuring open source contributions to it.

      --

      I am unamerican, and proud of it!
    6. Re:No Thanks! by b1t+r0t · · Score: 3, Funny
      Come on, can't we see through this Cathedral-driven charade? There's no rational thought behind Intelligent Drivers. It's all just a dogmatic rehash of the same old Closed Source thinking forced upon our Open Source kernel laboratories! I say, send these Intelligent Drivers ideologues back to Kansas where they came from!

      What, you want to support Flying Spaghetti Code Drivers or something?

      --

      --
      "Open source is good." - Steve Jobs
      "Open source is evil." - Microsoft
    7. Re:No Thanks! by YU+Nicks+NE+Way · · Score: 1
      What, you want to support Flying Spaghetti Code Drivers or something?
      Oh, goodie! Another Free Software foodfight!
    8. Re:No Thanks! by pe1rxq · · Score: 3, Insightful

      The idea is not just a formal API, but a formal API that doesn't change for a long (VERY VERY long if it is to be usefull at all) time.
      The problem is that you will be stuck with the mistakes for the same time.
      You can't improve the kernel anymore because you have to keep supporting those mistakes.
      You would have to add huge glue layers to your kernels to keep emulating thos mistakes.
      It is a bad idea. It has only advantages to those driver writers who want to stay far away from the kernel and want to keep using their crap for a long time. The kernel and the kernel writers are not going to get better from it (they only get extra work supporting lazy driver writers) why should they support it?

      Linux development works very easy: do it yourself or convince someone else to do it.
      You can convince other people either by motivating them with proper reasoning (and /. is not the place to do it) or by throwing money at them.
      Nobody has been throwing enough money yet to get the kernel developpers to do it. (And very likely nobody ever will throw enough)

      Jeroen

      --
      Secure messaging: http://quickmsg.vreeken.net/
    9. Re:No Thanks! by darkmeridian · · Score: 1

      Linux is dying for driver support. Ideological fundamentalism opposes closed-source drivers, so the end result is no drivers at all. This is horrible. If manufacturers want to abstract their drivers, let them. The community will figure out which ones will work and which will not. Linux needs driver support by any means necessary.

      --
      A NYC lawyer blogs. http://www.chuangblog.com/
    10. Re:No Thanks! by rgmoore · · Score: 1
      What, you want to support Flying Spaghetti Code Drivers or something?

      No, no, no. We definitely want to keep spaghetti code out of the kernel, whether it's flying or not.

      --

      There's no point in questioning authority if you aren't going to listen to the answers.

    11. Re:No Thanks! by pe1rxq · · Score: 1

      The problem here is that the hw manufacturers stopping with whining still doesn't make the idea a good one :)

      --
      Secure messaging: http://quickmsg.vreeken.net/
    12. Re:No Thanks! by IamTheRealMike · · Score: 5, Insightful
      Three points.

      • For many companies, there are no benefits to going open source, and only downsides. The pragmatist recognises this economic reality, the zealot (and Greg KG is a notorious one) doesn't want to hear it. For instance, let's say nVidia GPLd their driver and got it accepted into the main tree. This gives them a competitive disadvantage because ATI or other companies can now look at how their drivers work with much less effort. It doesn't save them any work, because the community would still expect them to maintain the drivers and add functionality to them (and indeed, for cards that are new to the market or in development, they'd be the only ones who could). And there's no guarantee the drivers would be accepted anyway - simply using the wrong coding style is enough to cause problems in the kernel project, let alone doing the sort of things the nVidia drivers do (for instance they used to use a custom TLS scheme).

        Because of this, I'm 100% not convinced making binary driver developers lives harder changes anything. Are large businesses (the type who make hardware that's difficult to reverse engineer) likely to say, hey, gosh, you know this Greg KH guy kind of doesn't like closed drivers, maybe we should open them up to please him? Nope. They'll just work around the difficulties or not provide drivers at all.

      • It's not "impossible" to debug binary software. Please. This is a crappy excuse kernel developers regularly pull out of their asses to confuse people who haven't done much software development. What they actually mean is, "I don't really want to" (and if unloading the driver makes the crash disappear, that's a pretty good way to shift the problem onto the driver manufacturers anyway).

        I've been a Wine developer for years and have spent many hours doing this impossible thing of which you speak, and your average copy of MS Word or Steam is a LOT larger than your average driver. Yes, it's hard. No, it's not impossible. I've heard various excuses as to why kernel development is just different!! to userland software development, and don't buy it. Yes, having to reboot when a crash occurs is a royal pain in the ass, but so is not being able to get a backtrace because the game you're investigating treats any attempt at attaching a debugger as an attempt to hax0r its copy protection. Different space, different challenges. It's still possible.

      • A stable binary module interface would help open source developers too (even if it only existed for a single 2.X series at a time), as new software which relies upon kernel modules or drivers would become much easier to distribute and install for non-technical end users. Take for instance ZeroInstall. The main developer, Thomas Leonard, since abandoned the original (imho quite elegant) approach of using a networked VFS because it required users to install a kernel driver, a task which proved hard to impossible for many non-developers. So the whole thing was rewritten to do things a different way and avoid the kernel, despite that coming with some disadvantages. We've also looked at using a kernel module to fix various speed issues for Wine in the past, but the difficulty of getting even minor patches accepted into the kernel let alone major new subsystems nixed that. If there had been a stable module interface we could have skipped all that and gone straight to improving things for end users without having to worry about what kind of indenting or list structure we should be using.
    13. Re:No Thanks! by amightywind · · Score: 1

      I say, send these Intelligent Drivers ideologues back to Kansas where they came from!

      (1) No need to be available publicly for the driver (They can distribute it as the closed source software)

      I'm from Kansas. These fellers don't sound like they're from around here.

      --
      an ill wind that blows no good
    14. Re:No Thanks! by jbolden · · Score: 1

      I haven't seen it dying. Most systems which are 2+ years old work out of the box. Quite a few pieces of hardware never designed to work with Linux work fine. I used Linux back in94-95 when there was a serious driver problem its nothing like that today.

    15. Re:No Thanks! by hunterx11 · · Score: 1

      Actually, this is a great way to promote closed source outside the Linux kernel.

      --
      English is easier said than done.
    16. Re:No Thanks! by SQLz · · Score: 1

      Only for those people who rely on their distro to 'auto-detect' their hardware. Us people who can type 'modprobe xxx' have no issues what so ever.

    17. Re:No Thanks! by GigsVT · · Score: 1, Troll

      While I appreciate your work, if my hardware drivers worked as well as wine (i.e. rarely 100% correct), I'd probably stop using linux.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    18. Re:No Thanks! by IamTheRealMike · · Score: 1

      There's a big difference between your average driver and a clone of something 35 million lines long.

    19. Re:No Thanks! by thuh+Freak · · Score: 1

      1. those companies would be violating the letter or spirit of the GPL to make closed drivers, and therefore aren't worth our interest. using closed source drivers hurts linux, methinks, more than it helps. 2. the closed-source nature means its impossible to fix inherent problems in the driver code itself, unless u work for the driver company. you could only provide work arounds from userspace or patches to the kernel, where the problem isn't necessarily evident and where there isn't necessarily a problem. what if a driver has a systemic issue (idk, maybe a vid card is switching blue and green...). its possible to put code in the kernel to switch those colors, erroneously, to help out that binary driver; but that comes at the expense of every properly written driver. that means putting a kludge in to fix another kludge. perhaps you've taken a liking to this style, since you hack against MS software. ;)
      3. i think the dangers to the GPL far outweigh this benefit.

      --
      I wish that I was a catfish.
    20. Re:No Thanks! by mslinux · · Score: 1

      How are we to know the binary and source are the same?

    21. Re:No Thanks! by IamTheRealMike · · Score: 1

      Uh, have you ever tried to debug or reverse engineer a BINARY program? If so then you'd actually understand what I'm talking about, which apparently you don't.

    22. Re:No Thanks! by killerkalamari · · Score: 0, Troll

      I didn't realize that they were being silly about things such as indentation and formatting. No wonder nobody wants to write open source drivers for Linux.. I may rethink embarking on future driver projects. I have a real problem dealing with elitist jerks.

      Linux is open source.. seems like there could be a fork that updates with the main kernel but either (1) also allows binary drivers or (2) aren't jerks about trivialities. It doesn't matter what the people in "charge" of Linux think, since it's supposed to be free software. I think the people we care about are those that are in charge of the distros.. Redhat, Ubuntu, etc. They are going to want to maximize the hardware their distro runs on, so I believe they'd go with the fork.

      Also, I'm curious about efforts to use Windows XP drivers in Linux. Is this effort being slowed by lack of kernel support?

    23. Re:No Thanks! by Anonymous Coward · · Score: 0

      I used to write 3rd party tools for games and I know what you are talking about :)

      The only point I dont get, in your last paragraph you say because its hard to get patches accepted into the kernel you'd rather have a binary interface.
      Why dont you just distribute the subsystem as kernel patch? Should be pretty self sufficient.

      Because its harder to distribute? Most Joe-Bloes use distributions anyways where theres everything built in anyways.

    24. Re:No Thanks! by Anonymous Coward · · Score: 0

      1) You say that as if the community doesn't support old drivers at all. Also, just how much is gained from keeping secret how to control your device?

      2) I think you ignore the fact that when a binary driver crashes, we don't necessarily *know* how to do it right. I mean, the original driver is doing something wrong; exactly how are we supposed to know what it should be doing if it doesn't? Now, if they'd give documentation...

      3) Here you have a real point. However, it would also make it harder to do some sweeping upgrades that are only possible because you can change drivers and their interfaces like that. Otherwise, we get stuck around an interface that just doesn't work any more.

    25. Re:No Thanks! by dubl-u · · Score: 1

      It's not "impossible" to debug binary software. [...] What they actually mean is, "I don't really want to" [...]

      Even if it only makes their lives harder rather than impossible, that's good enough for me. If having source they can review and work with means they can spend more time on things that they think are important, that's a win.

      A stable binary module interface would help open source developers too [...] Take for instance ZeroInstall.

      That doesn't seem like a persuasive case to me. A full binary kernel API seems too low-level to solve those problems. I think the better approach is to create specific higher-level APIs that enable developers to work. In the case of ZeroInstall, I notice that a user-space filesystem adapter is now in the kernel.

    26. Re:No Thanks! by killerkalamari · · Score: 1

      I'm wondering what was considering trolling? Well, whether I'm considered a troll for it or not, I think using XP drivers is a good path: There are drivers for almost everything, it's a standard so hardware manufacturers know how to write them, and like it or not, Microsoft will be around for a while yet. The XP API should be halfway decent.. or maybe it's not? I don't really know. If it's a bad API, an alternative would be to use OS X drivers, now that there is the whole x86 fork. That being said, all of my present hardware already works well under Ubuntu, which is why I am permanently using Linux now, since Warty. :)

    27. Re:No Thanks! by Chirs · · Score: 2, Insightful


      Some rebuttals:

      1) A lot of the work involved in maintaining a driver is keeping up with in-kernel API changes. If the driver is in the tree, the kernel developers will handle these sorts of sweeping changes, and the hardware vendor doesn't need to worry about them. Also, the kernel developers are pretty easy-going about driver coding style, as it tends to be isolated.

      2) If you can't see the code for the module, you don't know what the module did. If you load the module, and it tramples some memory, and you unload the module, that memory is still corrupt. This is why loading a module taints the kernel, even after the module is unloaded. It's impossible for the kernel community at large to debug kernels which have had closed-source modules loaded.

      3) Getting the end-user to build and install a kernel module is not hard. Vmware manages to make it an automated part of the installation script. The advantage of shipping source to end-users is that those who are knowledgable will be able to make your module work on other kernel versions, while a binary version is by definition limited in terms of compatibility.

    28. Re:No Thanks! by fupeg · · Score: 1
      1) You say that as if the community doesn't support old drivers at all. Also, just how much is gained from keeping secret how to control your device?
      nVidia and ATI are both notorious for "optimizing" their drivers to perform better on both synthetic benchmarks and popular games. Often a new card sees dramatic performance improvement from revisions to its driver. Some of these revisions amount to "if (title == "Doom3") then { make special use of hardware }"
    29. Re:No Thanks! by LordKazan · · Score: 1

      2+ years old is not acceptable for desktop usage or gaming usage

      Latest hardware NOW is the rule

      --
      If you cannot keep politics out of your moderation remove yourself from the Mod Lottery.. NOW!
    30. Re:No Thanks! by David+McBride · · Score: 1

      For instance, let's say nVidia GPLd their driver and got it accepted into the main tree. This gives them a competitive disadvantage because ATI or other companies can now look at how their drivers work with much less effort.

      It also gives them a substantial competitive advantages:

      * Users can install their hardware and it will all Just Work, no messing about.
      * Users don't have to track a seperate source for driver updates; later kernel revisions will already have all of the latest improvements included.
      * More developers can inspect and correct the code where required, resulting in better quality hardware support and better reliability.
      * Longer term, they don't have to worry about driver support for their hardware -- because as long as there's a kernel hacker out there who cares about looking after it, it'll stay working.

      These are all big incentives for me (as a consumer) to select Nvidia as a hardware vendor.

      In fact, in 1999 I selected Nvidia for precisely these reasons after seeing this. And like Bruce, I feel betrayed when they didn't release the full specifications, nor release open-source drivers. And that's why I don't use them any more.

    31. Re:No Thanks! by jbolden · · Score: 1

      2+ years is fine for desktop usage. Linux is terrible for gaming regardless of driver support issues.

    32. Re:No Thanks! by mrchaotica · · Score: 1
      For many companies, there are no benefits to going open source
      WRONG! For every company, it would have the distinct advantage of allowing me (and others like me) to consider buying their products. Any company that refuses to open source their driver, or better yet, publish specs for their hardware, has a very large disadvantage when I'm deciding what hardware to buy. The only time when I'll consider hardware with closed-source drivers is when there's absolutely no other choice.

      For example, there is 0% chance of me buying an ATi video card, but if they allowed Free Software drivers to be written, that chance would increase to 100%. (This is not to say that I like being forced to buy nVidia cards; unfortunately, they are merely the lesser of the evils.)
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    33. Re:No Thanks! by IamTheRealMike · · Score: 1
      1) A lot of the work involved in maintaining a driver is keeping up with in-kernel API changes.

      Right, so if the kernel API changed less often, there'd be less work involved. The Windows kernel API changes too you know, but as it only releases every few years, there's less work involved.

      2) If you can't see the code for the module, you don't know what the module did.

      This is no different to Windows programs running on Wine. You can use tracing, debuggers and disassembly to figure it out, but the easier approach is simply to say "boot without the module loaded. Does it fix it? If so, not our problem". Obviously you can't do that in Wine ...

      3) Getting the end-user to build and install a kernel module is not hard.

      Yes, it is. You need packages which are usually not installed by default - gotta know that. You need the right compiler installed - got to know that. The compile may fail if your kernels API has changed - what do you do then? It can be extremely slow - it's not on Windows.

      Asking end users to compile software is a nasty disease Linux is afflicted with, and it really has poor usability compared to a 5-second binary install that is guaranteed to work.

    34. Re:No Thanks! by ardor · · Score: 1

      Haha. You and ... 10 other guys?
      Over 90% of all people just DO NOT CARE about Closed or Open Source drivers, they just want stuff to WORK. In Windows, this is easy. Download the newest driver, click through the setup wizard, reboot, done. In Linux, I have to compile a kernel module, which is NOT TRIVIAL, since a) the kernel API may have changed, and the driver hasnt been updated to the newest one, so its useless b) it requires a compiler, kernel headers and some other stuff a regular user does not even know about c) is not userfriendly; people expect some easy wizards and no scary terminals. A grandma compiling a kernel module? A musician who just wants to make some music and couldnt care less about all that computer geek mumbo jumbo compiling a kernel module? Not in this reality.

      --
      This sig does not contain any SCO code.
    35. Re:No Thanks! by mrchaotica · · Score: 1
      In Linux, I have to compile a kernel module
      No, you don't. If you're not a geek, you use a distribution that distributes a precompiled kernel with modules for every piece of hardware that Linux supports, and that loads them as needed.

      In fact, it's non-Free drivers that hinder this, because distributions can't legally distribute them. It's not a choice between using a wizard or recompiling the kernel manually; it's a choice between using a wizard or not having to install a driver at all.
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    36. Re:No Thanks! by DavidTC · · Score: 1
      Why the hell would it be the job of the kernel developers to debug other people's binary drivers? They didn't make them, they can't fix them(1), it's not their job. No one even vaguely thinks it is besides you.

      What the 'We do not support binary modules in the kernel' rule means is that they will not debug a problem in a kernel in which a binary driver has been loaded at all, even if it has since been unloaded, as they do not know what it did. This is called 'tainting' the kernel, and it shows up on the stack trace. (The 'even if unloaded' rule is important, as a module unloading itself is actually harder to do correctly than loading. Which is why you can build a kernel without module unloading if you want.)

      And, no, they cannot just 'test' it, because they don't have the binary kernel driver, but, more importantly, they are rather unlikely to have the actual piece of hardware that goes with it, and you can't run drivers without the hardware they go to. And if it actually was the binary driver's fault...what do they do then? They just wasted a bunch of time screwing around with something they can't fix.

      Ergo, if you want to report a problem, you reboot and don't load the binary driver, and see if you can cause the same problem. If you can, report it. If it only happens when the binary driver is loaded, or has been loaded and unloaded, report it to whoever gave you the driver, and don't bother the kernel devs.

      1) It could be their problem if, as you suggested, they had a ABI. This is one of the reasons they do not, because they'd have to make sure they never broke a binary module. They don't even promise that the binary interface will stay the same on the exact same version of the kernel between compiles. (In fact, there is an option you can toggle in the kernel config of 2.6 to use a 'new' way to pass parameters that will, in fact, break all modules compiled with the option the other way. This is actually a tiny attempt to a slight ABI instead of pettiness, because eventually only the 'new' way will be support, IIRC, but this lets you keep using the old binary interface for a bit.)

      However, your ZeroConfig example is not what happened unless he was trying to distribute a binary modules, because the kernel API (Including the 'compile a module outside the kernel tree, which works perfectly well) does not change between minor kernel versions. It changed between 2.4 and 2.6, and will probably change for 2.8 or whatever, but not between 2.6.1 and 2.6.9. (And, obviously, it changed several times between 2.5.1 and the last 2.5.x, but people running dev kernels are not allowed to complain about that.)

      --
      If corporations are people, aren't stockholders guilty of slavery?
    37. Re:No Thanks! by ardor · · Score: 1

      Ha! Here we have an IMMENSE advantage of Windows: decentralized support. Each Linux distro has to track all kernel modules and have them in the package database. This, of course, isn't possible, so the newest drivers are rarely included. Also, there are drivers NOT included in a distro, for various possible reasons. For example, maybe the developer simply abandoned it, or it was abandoned because a new revision of the hardware works totally different, and the current code is useless (especially when the old code was hacked together with lots of trial-and-error sessions, e.g. "legal reverse-engineering") etc.

      Non-free drivers are usually non-free for good reasons (simple philosophy isnt a good one for a company). A very good one are IP issues. Have a look at ATI and nVidia for this.

      --
      This sig does not contain any SCO code.
    38. Re:No Thanks! by bergeron76 · · Score: 1

      Different space, different challenges. It's still possible.

      Possible, is entirely different from it "being the best idea".

      --
      Don't think that a small group of dedicated individuals can't change the world. It's the only thing that ever has.
    39. Re:No Thanks! by MSZ · · Score: 1

      Could you share your modprobe version with us? I'd like it to magically create drivers for my wireless card and some other hardware I have.

      --
      The moon is not fully subjugated. I demand a second assault wave preceded by a massive nuclear bombardment.
    40. Re:No Thanks! by NoMoreNicksLeft · · Score: 1

      Yes. They just want it to work. But wanting things to work without being willing to understand even the simplest issues is stupid for every other tool imaginable.

      Customer: I just want it to work!
      Mechanic: You haven't changed the oil in 3 years. It's had no maintenance. The air filter has the density of a hard cheese. If you were my 16-yr-old, I'd beat your ass.

      But you think that just because a large contingency of ingrained illiteracy is present, that we have the obligation to not rock the boat? Fuck that.

    41. Re:No Thanks! by Anonymous Coward · · Score: 0

      Thank you.
      This kind of post is exactly why I keep coming back to Slashdot: now and then, you come across a guy that really knows his shit, and has really insightful things to say about it. Thank you, guy. I'd gladly give up one one year worth of mod points to bring you up to 10 if that was possible.

    42. Re:No Thanks! by ardor · · Score: 1

      Good analogy, and I agree. Einstein summarized it perfectly: make this as easy as possible, but not easier. However, Linux is FAR away from being as brain-dead easy as in this analogy. Today, its more like a car that only works if you tweak and build half of it yourself, thus requiring you to be experienced in mechanics. Or like a TV set which requires you to study electronics just to be able to configure it.

      For example, I think its perfectly OK for people to have to know what a driver actually is (this is no common knowledge), that they have to be careful which driver they pick (latest beta bleeding-edge ones not being very stable for example) etc. However, it is absolutely unacceptable that people have to know about gcc, the whole dev libs needed for module compiling etc. (assuming its not in the distro database, which isnt all that unlikely). Also, it is unacceptable that basic issues like installing the nvidia binary drivers are described in good HOWTOs, but these HOWTOs are NOT included with the distro! Instead, an internet connection is required, google is required. An introductory HOWTO database, similar to a mini-MSDN for users consiting of howtos, would be nice, so that they know what to do to get the nvidia driver to work.

      --
      This sig does not contain any SCO code.
    43. Re:No Thanks! by ookaze · · Score: 1

      For many companies, there are no benefits to going open source

      That's why it's a hard choice. Anyway, the rest of your rant is wrong, as ATI and NVidia actually work with the community on the libre drivers. They help on what they can without liability.
      And I think you are a zealot, more than GKH, who is a Linux kernel contributor, and explained why the binary interface is no good. The doc is distributed with any linux kernel tarball, and reviewed by several kernel contributors. So you basically call these kernel contributors zealots ? You are the zealot and troll me thinks.
      Also, FYI, the custom TLS scheme is userspace (library) and has little to do with the kernel. The kernel only support TLS. When you have a crash because of these TLS scheme (like I had), your app crash, not the complete kernel.
      And I think businesses won't talk of "this Greg KH guy kind" but rather of "this important kernel contributor".

      It's not "impossible" to debug binary software

      Of course not. But if we get our drivers in the same time frame that you provide Wine working, we're better off with the current situation. Having to reboot is worse than not having a backtrace for a game.

      A stable binary module interface would help open source developers too

      How ? You did not provide any hint of that. You only talked about people that tried to put things into deep kernel layers (VFS is not the same as a hardware driver interface).
      And asking the kernel developers to change their way to enhance a user land app is sth strongly disapproved, especially when it's to behave the Windows way like in Wine. I say the kernel developers were right to not allow this, as I see what you describe as trying to go the easy and dirty way, instead of analysing the problem. You have FUSE now if you want to use the "elegant" solution for ZeroInstall. So you can now make ZeroInstall user space more easily.

    44. Re:No Thanks! by justins · · Score: 1
      The idea is not just a formal API, but a formal API that doesn't change for a long (VERY VERY long if it is to be usefull at all) time. The problem is that you will be stuck with the mistakes for the same time.

      You know, to address the concerns of the developers who want a binary interface for their drivers, you'd have to maintain driver API consistency for the duration of an entire major version number for the stable kernel. That's not exactly an eternity, or a huge burden.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    45. Re:No Thanks! by Alioth · · Score: 1

      And what happens to VMware when your distribution packages up a new kernel with a minor version number change? They have to re-install the driver. I use an open source kernel module (FUSE) and since the distro I use is 2.6.9.x (and FUSE is not in that kernel), every time they push out a bug fix kernel update, I get to re-install the driver. It's an additional manual step I could do without.

      The whole thing about forcing all drivers to be open source is a red herring; nvidia provide a closed source driver by adding an open source abstraction layer (which you have to re-install each time you get a new kernel).

      The only group that not having a stable kernel ABI hurts is the user. It doesn't stop people writing closed source drivers with wrappers.

    46. Re:No Thanks! by Pastis · · Score: 1

      Althought I am not an expert I worked on closed programs a couple of times.

      And I think it is much easier to fix the broken open framework to make the closed module work (your case) than to fix the broken closed module to work in the open driver (kernel case).

      Let's say they find an issue in a closed driver, what should they do? Send a binary patch to the authors?
      I'd rather have developers spend time fixing open drivers, that will make their time much more productive.

    47. Re:No Thanks! by Pastis · · Score: 1

      s/open driver/open framework/

  8. Bad by Anonymous Coward · · Score: 3, Insightful

    Microsoft could license code into the drivers or otherwise maneuver the driver makers to license their IP from MS, the drivers could form a layer between Linux and the hardware, Microsoft could then pull the run from under Linux.

    Don't go there, it protects Linux from getting tripped up, and devalues any hardware that doesn't support Linux.

    Don't underestimate the important of driver support for Linux, you practically can't make any server component without a good solid Linux driver.

    1. Re:Bad by $RANDOMLUSER · · Score: 1
      > ...Microsoft could then pull the run from under Linux.

      No, that's their hope for Mono

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
  9. Amen! by dusanv · · Score: 4, Insightful

    I have been waiting for that for a long time. The lack of a stable interface is hampering adoption of Linux. Not all of the manufacturers are willing to open source drivers or for that matter to continuously change them as the APIs change. This is very welcome but unfortunately, I think they'll fail. There is just too much politics surrounding Linux these days.

    1. Re:Amen! by Krach42 · · Score: 5, Informative

      This is very welcome but unfortunately, I think they'll fail. There is just too much politics surrounding Linux these days.

      It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.

      Too much politics surrounding Linux? Where have you been? It has been the policy of the Linux kernel for a long time that it would never stablize a binary driver interface, in order to prevent people from not making their drivers open source.

      The idea behind Linux is that an Operating System should be Open, and Free (as in speech), and that nothing should hinder this. Binary drivers are exactly this sort of hinderance.

      You may be upset that you don't have drivers for product XY because that company doesn't want to play along, but if you're trying to change the way the world does software, you can't go "ok, just because we *really* want your drivers, we're going to bend the rules for you."

      --

      I am unamerican, and proud of it!
    2. Re:Amen! by bheading · · Score: 1

      It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.

      I liked your use of the term "allowing people", as though it was something evil. It's funny how you think that Open Source should be about taking away from people the right to link whatever drivers they want. That's not allowing people to be "free" is it ?

      If you want to insist on having the source to your drivers, you are free to choose to buy only hardware with an open source driver. What gives you the right to impose that restriction on me ?

    3. Re:Amen! by Krach42 · · Score: 2, Informative

      *Open* Software, not *Free* Software in this instance, and it's an ideological argument.

      What gives you the right to impose that restriction on me ?

      Um... I write the code? If you don't like it, then you can go use something with better driver support, like Windows.

      If binary drivers were supported and it were up to companies to choose to support them or not, then they wouldn't

      Again, this is all an ideological argument. If you don't like the ideological position that Linux is forwarding, then you're free to use only operating systems that do support binary drivers. What right do you have to tell me what I must do with my code to make you feel better?

      --

      I am unamerican, and proud of it!
    4. Re:Amen! by Elshar · · Score: 1

      I think you're cutting off your nose to spite your face.

      Some hardware manufacturer's CANNOT release source for their drivers because at least part of it is under an NDA or some kind of restrictive license.

      Also, your other comment is just crazy. Why would you change the interface 'in order to prevent people from not making their drivers open source'. Um, wouldn't that ALSO force people to fiddle with their drivers everytime someone decides to poke something and ends up breaking everything else? Doesn't it make sense to make it as easy as possible for people to create and maintain their drivers for linux? Ever think that MAYBE the reason why they choose to primarily and in some cases exclusively develop windows drivers is also BECAUSE linux's driver interfaces changes on whim whenever because someone thought it'd be fun?

    5. Re:Amen! by LWATCDR · · Score: 1

      It also means that a driver will only work with one kernel. From an source at all cost point of view yes, no driver API has it's benefits. From a user point of view it can be a pain in the rear. Not all Linux users are going to want to compile their own kernel. From a developers point of view if the API is constantly changing then it is a real pain. From the OSS or death groups point of view they see it as right.
      I would like to see it since last time I checked people where already producing closed source drivers.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    6. Re:Amen! by RingDev · · Score: 1

      "The idea behind Linux is that an Operating System should be Open, and Free (as in speech), and that nothing should hinder this."

      And it is (would be). You could modify the OS, the kernal, and the driver layer. They are all open for you to do with as you please. But why force hardware developers to open their driver code? We already have closed source drivers for hardware on Linux. Its not like this would introduce a new 'evil'. What it would do is open the door to a large number of hardware developers. Which would result in more choices for consumers and (depending on the hardware developer) more stable drivers. Not to mention it would get these drivers out of the kernal resulting in a smaller footprint and more stability.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    7. Re:Amen! by greg_barton · · Score: 1

      The lack of a stable interface is hampering adoption of Linux.

      Fine. Let it be hampered.

      I never understand those who would sacrifice "good" for "fast." You end up with neither.

    8. Re:Amen! by mad.frog · · Score: 1

      It also means that a driver will only work with one kernel

      If this is the case, then I'd say that the "stable" binary interface isn't stable at all.

      By definition, a stable interface should work across all conforming variations of the kernel.

      If it doesn't, it's a very poorly-defined interface (or a very poor use of the term "stable").

    9. Re:Amen! by sczimme · · Score: 1


      It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.

      Actually Linux is about the freedom to do what one wishes with one's own systems; the Open Source aspect is a [large] facet of this freedom.

      To put it another way, if I want to use a vendor's closed-source, binary drivers on my own machines, who are you to say anything to the contrary? As long as no one is forcing you to do the same, why is it any of your business?

      You talk about "allowing" people to do things as if you (or anyone in particular) should be the arbiter. "I don't agree with it so I don't think anyone should have the option" - such misguided arrogance...

      --
      I want to drag this out as long as possible. Bring me my protractor.
    10. Re:Amen! by goMac2500 · · Score: 1

      What sense does this make? You can run closed source software under Linux. Why not closed source drivers? It's this kind of thought that is killing Linux's potential while Mac OS X passes it by.

    11. Re:Amen! by Anonymous Coward · · Score: 0

      you can't go "ok, just because we *really* want your drivers, we're going to bend the rules for you." ... Unfortunately.

      Where's the development heading if the developers don't listen to the users?

    12. Re:Amen! by raftpeople · · Score: 1

      Just wanted to point out that not all software that runs on Linux is open source.

      Why is there an attempt to force drivers to be open source when I can write an ERP package that runs on Linux that isn't open source?

    13. Re:Amen! by Krach42 · · Score: 1

      Also, your other comment is just crazy.

      Fair argument.

      Why would you change the interface 'in order to prevent people from not making their drivers open source'. Um, wouldn't that ALSO force people to fiddle with their drivers everytime someone decides to poke something and ends up breaking everything else?

      You answered your question with your second question. Forcing this munging of drivers after a kernel update ensures that no one can write a binary driver, becuase the next version of the kernel may break it. This means you need to have your source on hand, and you'd need to release a new kernel driver everytime a new kernel comes out.

      Basically, the idea is to make binary drivers such a PITA that no one does it.

      Is it a counter-intuitive idea? Yeah. Doesn't it go against modern programming doctrine? Yeah, but so does the whole monolithic kernel design that Linux uses. Would the world be better if Linux could trust people to make Open Source drivers using a standard binary driver ABI, and not drive people hard like this? Yeah, life would be better.

      Life would be better without Software Patents, also, but we don't have a way to fight those.

      --

      I am unamerican, and proud of it!
    14. Re:Amen! by Anonymous Coward · · Score: 0

      You miss the point, and the compromise. If binary closed-source drivers are allowed and all sorts of other closed-source software starts making it into Linux, then an even greater amount of freedom and openness will (theoretically) be destroyed. So Linus and friends not allowing people to make binary drivers, while technically leading to less freedom, is a small price to pay for the potential large loss of freedom and openness that could happen if closed-source programs were to take over Linux.

      That's at least the logic behind it. I think the worries are overblown, however.

    15. Re:Amen! by Deanalator · · Score: 1

      Linux is about Open Source

      And who are you to say what Linux is about? I say Linux is about having a fully functional, and quickly adaptable operating system. If something which is closed source works better than something that is open source, and both cost no money, then I would gladly use the proprietary version.

      Most of all, I think Linux is about options. If someone wants to go for the pure GPL GNU/Linux style system, good for them, they are able to. However, some people like to test their code on modern systems, which may not yet be fully supported by open source drivers.

      I would say that every company that is going to make open source drivers is already doing it. If we get some better hardware support in the kernel, then not only does it make it easier to use modern systems, it makes companies more willing to port their proprietary code to Linux, which makes it easier for the hardware to be tested, and ultimately reverse engineered into a nice, clean, and throughly free drivers.

    16. Re:Amen! by Anonymous Coward · · Score: 0

      Wow. I think you just proved to the business world why they should keep using Windows. Linux developers aren't actually about freedom, they just want stuff done their way or they're taking their ball and going home. And to most people out there, Linux IS open source, so being such a dick about it is harming the whole open source movement.

    17. Re:Amen! by Krach42 · · Score: 1

      I would like to see it since last time I checked people where already producing closed source drivers.

      No, they're not. nVidia's closed source driver is for X11, their kernel driver is open source.

      Would it make everyone's life better to have a stable driver ABI for Linux? Yes.

      Would it accomplish the ideological goals of Open Source software? No.

      --

      I am unamerican, and proud of it!
    18. Re:Amen! by msuarezalvarez · · Score: 1

      Kernel developers are free to be the arbiters of the code they write.

      As for your boldened phrases: note you can do absolutely anything with your computer without violating the kernel licence: the licence is just about redistribution. And: the authors can of course allow you or disallow you to do whatever it pleases them.

      As for the arrogance charge... If people were bragging that there is no design in the kernel, and that things just are put together randomly, you'd find it idiotic. Why is it that you seem to think that careful design of the social and economic processes which are involved in the development of the kernel (which have so far been essentially the only support for that development) is arrogance?

    19. Re:Amen! by Anonymous Coward · · Score: 0

      It can be argued that drivers are much more hardware-like than software-like. You do not want open source hardware, do you? You do want an open source kernel, don't you? The line has to be drawn somewhere, and there is no reason why drivers should be on the open source side of that line. Drivers usually contain very sensitive information about the hardware they support (I used to work for a graphic card manufacturer, believe me on that point), and there is no way this info is going to be open sourced any way.

      Lack of drivers is really slowing down the usability of Linux. I am all for this proposal

    20. Re:Amen! by Krach42 · · Score: 1

      they're taking their ball and going home.

      The Open Source community can't do that. They can just say, "if you don't like the way we play the game, then your rules say you can't play with us."

      I'll give you a good analogy that you can use to understand this concept. Linux is like democracy, free and open to anyone to use, but first, you have to accept it. Closed source software and Windows is much like China, where they say "our way, or not at all, and don't listen to those open source people, because they're a bunch of rebel rousers"

      Linux and Open Source is giving all the rights to the people, everyone who has a problem with that refuses to play along because they just don't "get it".

      It's like people saying that a dictatorship is better because it's more efficient, and it can do things like in Cuba, where no one dies from hurricanes, because the government forces you out of harm, whether you want to go or not.

      Telling a facist they can't play because they're not respecting people's freedom isn't wrong, and if it keeps the facists away, then I think the proper response is, "good riddance."

      --

      I am unamerican, and proud of it!
    21. Re:Amen! by Blakey+Rat · · Score: 1

      I'm not a 1337 Linux0rz hax0r, but I say put in ANYTHING that makes drivers easier to install. Have you tried to install ivtv for Hauppauge video capture cards recently? Holy crap! The documentation that's there is self-contradictory, incomplete, and doesn't cover every distro. It can't be done without at least a half-dozen lines in the terminal. It assumes a level of computer knowledge that 99% of people won't have. (For instance, assuming that people *know* what commands they need to use SUDO with and what commands they don't. I just gave up halfway through as command after command failed, and did SUDO for everything which I'm sure is wrong, but eh.)

      Then when you finally have the process finished, and it looks like it's all working... you install tvtime (which was easy) and the whole thing doesn't work! All you get is static. There's no troubleshooting documentation with tvtime (whose documentation, BTW, is also incomplete) and there's no troubleshooting documentation with ivtv, and there's no way to search for useful information if you're not up to your neck in Linux terminology.

    22. Re:Amen! by Anonymous Coward · · Score: 0

      Too much politics? Do you live under a rock? The free software movement has always been about politics, and quite frankly doesn't really give a damn about the "widespread adoption of Linux". That's just a straw man argument made by proprietary software apologists.

      Some folks would like to make piggyback profits by subverting the principles at the very core of the free software movement. They can go fuck themselves.

    23. Re:Amen! by Wolfier · · Score: 1

      >Basically, the idea is to make binary drivers such a PITA
      >that no one does it.

      I don't see the additional PITA of binary drivers over Open drivers with regard to this.

      Kernel update. Binary interface changes. Everyone has to rerelease - open or closed. Assuming the person who released a closed driver has the source, it's just as easy (or as PITA) as open drivers. No difference here. No deterrence.

      People still need to reinstall their drivers whether it's open or closed. Again, no deterrence.

      Conclusion: Keep changing the interface makes it a PITA for all driver writers, regardless of driver openness. Thus it is an ineffective measure to discourage closed source development.

    24. Re:Amen! by LWATCDR · · Score: 1

      "Would it make everyone's life better to have a stable driver ABI for Linux? Yes."
      So it is a good thing.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    25. Re:Amen! by Anonymous Coward · · Score: 0

      Oh wow the whole "I write this part of the system- I can take this back anytime".

      What the fuck man. You just effectively screwed the whole OS community by putting a "trojan" into the kernel. Imagine someone write a class somewhere in the tree, other coders see that class and uses it. Then you don't like something is going? I AM GOING TO FUCKING TAKE IT OUT AND SCREW HUNDREDS OF OTHERS WHO DEPEND ON MY CODE. If this is not blackmail I don't know what is.

      If you are going to blackmail others like that, please at least have some sense of morality.

      Of course this is all within your right to take your codes back; however I have a better suggestion- fork the source please.

    26. Re:Amen! by bheading · · Score: 1

      Um... I write the code?

      Which code did you write ?

      If you don't like the ideological position that Linux is forwarding

      What ideological position is Linux forwarding ?

      then you're free to use only operating systems that do support binary drivers.

      Where do you get the right to dictate to me what operating systems I may or may not use ? Your autocratic language makes Microsoft sound positively benevolent.

      What right do you have to tell me what I must do with my code to make you feel better?

      I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?

    27. Re:Amen! by Skapare · · Score: 1

      Put yourself in the position of being a manufacturer of a hardware device that wants to have a closed source driver. There, now you look really stupid. So, tell me, what is wrong with this hardware device that requires a closed source driver? Are you just secretly trying to get the host CPU to do the work that the hardware should be doing instead?

      If you have any intellectual property you need to protect, such as proprietary (de)compression or other processing algorithms, or any (de)encryption keys, or anything else like that, those should be put in the hardware itself (or in the firmware running that hardware's internal CPU). Don't try to offload work, especially if that work involves any intellectual property protected processes, onto the CPU.

      There needs to be a definitive boundary between the product, and the user of that product, and that boundary should absolutely not be inside the host CPU itself. That boundary should be the layer between the existing system, and the product purchased to add on to it.

      Drivers really should do no more than provide a means to communicate between the kernel (usually the I/O parts) and the hardware. If you have some nifty invention that makes things work better that warrants the development and marketing of this device, then put that invention inside the device itself. Don't screw with the integrity, reliability, performance, and the security of my system (and kernel) for this.

      --
      now we need to go OSS in diesel cars
    28. Re:Amen! by halber_mensch · · Score: 1
      But why force hardware developers to open their driver code?

      The system depends on the drivers to operate the hardware. This is a simple concept - so the system's nature is very dependent on the nature of its drivers. Linux is a spearhead of the open source and free software movement, which hold forward above all else the availability and freedom from restriciton of software. If hardware vendors that want linux customers are able to provide binary drivers to placate them, there is no impetus for any of them to align with the policies of free and open source software, so very few (if any) of them will. The Linux system will then be dependent on closed source, restricted use software that - through the dependence of the system on the drivers - will trump the free (as in speech) use of the system. No users -from solitaire players to developers - will have available to them the source code for drivers that allow the system to operate on the machine, the rights permitted to users for use of the software will be at the mercy of the hardware vendor, and (as has been demonstrated by nvidia) the quality and currency of proprietary linux drivers will be intolerably poor since they are provided by vendors that will never consider linux to be worth their resources until linux systems provide for a definite majority of their sales.

      That is why vendors should be forced to release the code that drives their hardware. Because without it, linux is no longer free.

      --
      perl -e "eval pack(q{H*},join q{},qw{70 72696e74207061636b28717b482a7d2c717b343 637323635363534323533343430617d293b})"
    29. Re:Amen! by Misch · · Score: 1

      But why force hardware developers to open their driver code?

      Those who fail to study history are doomed to repeat it.

      Google for "Richard Stallman" "Printer driver" and read about the history of a buggy printer driver how the GPL came into being.

      Which would result in more choices for consumers and (depending on the hardware developer) more stable drivers.

      More choices? How?
      More stable drivers? Just like Win 95 and Win 98, you'd be handing control of your kernel over to software that you cannot have the code for. If there's a bug? You can't fix it. You're at the mercy of the company. What if that API does happen to change in the future? You're locked in to that one version of the driver. If it's GPL'ed, you at least have the opportunity to do something about it.

      --

      --You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
    30. Re:Amen! by RingDev · · Score: 1

      "and (as has been demonstrated by nvidia) the quality and currency of proprietary linux drivers will be intolerably poor since they are provided by vendors that will never consider linux to be worth their resources until linux systems provide for a definite majority of their sales."

      Interestingly enough, I had no problems getting Ubuntu up on my NVidia card with good performance. But with my ATI card I finally gave up after 2 weeks and stuck with the VESA drivers.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    31. Re:Amen! by HappyDrgn · · Score: 1

      It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.
       
      I thought Linux was about choice?

    32. Re:Amen! by RingDev · · Score: 1

      "More choices? How?"

      How many hardware companies are going to invest manhours into developing drivers for each fork of Linux? Not many. How many companies will invest manhours into developing drivers that can be used on all Linux machines with out customizing?

      "you'd be handing control of your kernel over to software that you cannot have the code for."

      Just the opposite. Right now, if you use a closed source driver you are handing your kernel over. But if there was a driver extraction layer, you could use what ever driver you like and not have to worry about it breaking your kernel.

      "You're at the mercy of the company."

      And thus the joy of the free market takes over. If a company offers crappy Linux support and drivers, don't buy their product. But with the growth rate of Linux, you can bet there are hardware manufactures world wide waiting for some form of standard interface for them to plug into. Ready to sell their wares to a brand new market.

      "What if that API does happen to change in the future?"

      The company would have to build a new driver version and/or the driver abstraction layer would need to maintain backwards compatability.

      "If it's GPL'ed, you at least have the opportunity to do something about it."

      Me personally? Nah. My code work in in the business process level. Unless you have hardware that processes loans, I'm not going to be writing new drivers for it. And I doubt the vast majority of Linux users would have the ability to do anything about it either.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    33. Re:Amen! by John+Courtland · · Score: 1

      Write it then and make a convincing argument why it should be included in the kernel. Or, another method is to fork your own kernel and implement the API you want to.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    34. Re:Amen! by Krach42 · · Score: 1
      Which code did you write?

      I'm not a linux kernel developer, but I am an Open Source developer, and have made significant contributions to at least a few projects.

      What ideological position is Linux forwarding ?

      That binary drivers are bad (see reason #1 why Linus doesn't want an stable binary ABI)

      Where do you get the right to dictate to me what operating systems I may or may not use ? Your autocratic language makes Microsoft sound positively benevolent.

      I have every right to say that you can't use a particular operating system that I wrote.

      I personally don't think that the (in this case exaggerated) statement "give me liberty or give me death" is in any way autocratic. But this is the same way that I feel. If you're going to participate then give me Open Software, or don't give me anything at all.

      What gives you the right to impose that restriction on me ?

      What right do you have to tell me what I must do with my code to make you feel better?


      I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?I wouldn't have any right, but then again at NO TIME have I told you what to do with your code. Why throw up these silly straw men ?

      My question is in response to your original question: "What gives you the right to impose that restriction on me ?" The right given to the Copyright holder to restrict your usage of their work outside of the realm of Fair Use.

      You may not think you *told* me what I can do with my code, but this original question implies that that I have no right to restrict your usage of my code. That *is* tellimg be what I can do with my code.
      --

      I am unamerican, and proud of it!
    35. Re:Amen! by halber_mensch · · Score: 1
      Interestingly enough, I had no problems getting Ubuntu up on my NVidia card with good performance. But with my ATI card I finally gave up after 2 weeks and stuck with the VESA drivers.

      I had nothing but stability problems with the FreeBSD driver. The operating system would lock after creating 3 or 4 gl contexts, and as I recall I had to load NVidia's agp driver in order to get that far. I know I'm not alone, and I'm sure there's a fairly comparable number of success and horror stories. In fairness, I could just have easily substituted ATI for NVidia in that example.

      Personally, I favor DRI fundamentally for acceleration. It's open and free, it is an extension to the X standard rather than a libGL hack that puts the direct rendering out of X's influence. As a side effect of the DRI solution, you are also not trapped into one vendor. You can have 5 heads on your machine from 5 different vendors and the DRI extension will not care. It will use them all concurrently. You can't get this interoperability with an NVidia or ATI proprietary driver.

      --
      perl -e "eval pack(q{H*},join q{},qw{70 72696e74207061636b28717b482a7d2c717b343 637323635363534323533343430617d293b})"
    36. Re:Amen! by Krach42 · · Score: 1

      Because Linux is about having an Open Operating system, and this isn't possible with closed drivers.

      It's like being given the permission to pop the hood, look around, fix your car, but don't open up that alternator, because it's off limits!

      It's a slippery slope. At what point can one say that a system isn't open when a part of it isn't open itself.

      Allowing binary drivers may hinder the adoption of Linux, but while that's what some Zealots want (Linux everywhere) I strive for a different goal, Freedom Everywhere.

      If that means that it effects the adoption of my code, then well... too bad. I'm giving everyone the same Freedom that I have, if they're unwilling to accept it, then I can't force them to.

      --

      I am unamerican, and proud of it!
    37. Re:Amen! by Krach42 · · Score: 1

      It's a slippery slope, I agree. But fundamentally, a driver is like say, an alternator of the car. It's required for the car to run, but it's just a piece of the engine. Giving access to the engine is good, and that's open, but if it's just composed of closed parts, then it's not open is it? To be open, the kernel has to have all parts be open, not just the things that people are willing to open up, and then hobble together closed parts for.

      Meanwhile, an application running on Linux is more like the seats. It's not necessary to run, neither is it fundamental to a car. If you want to replace your seats with proprietary closed source seats, then by all means, if it makes you more comfortable.

      But if someone wants to contribute anything to engine, then it darn well should be accessible.

      --

      I am unamerican, and proud of it!
    38. Re:Amen! by Krach42 · · Score: 1

      Right, you're invested in the Linux is Free (as in beer) camp. You don't care about the Freedom that we're trying to advance for you. You just want something that's free (as in beer) and efficient.

      Surprisingly a number of people feel the same way as you, and I find it an eternal testament to the stupidity of mankind, that most of the people who preach about having a higher intellect than the average human, don't understand the basic ideological notions behind Free and Open Source Software.

      The F/OSS group hasn't gotten where it's at now, because they just want something that doesn't cost money.

      See, this is why the real F/OSS advocates are ok with people earning money on free and open source software. If they're respecting the Freedom then who cares if they're making money off it. But the second these goals conflict with the people who just want something that doesn't cost money, those people go off and rant about how the people looking for Freedom are zealots.

      If wanting to be Free is Zealotry, then I'm a Zealot, because I want Freedom beyond what I would lose monetarily just for taking that position.

      --

      I am unamerican, and proud of it!
    39. Re:Amen! by goMac2500 · · Score: 1

      Huh? We're not talking drivers that come with the operating system. This is like not being allowed to put a custom engine in your car unless it's approved by your auto maker according to their standards. If Linux wants to be an operating system about choice they need to let people choose whether or not they want closed source drivers in their system. It's not their job to enforce ideals. That's what Microsoft does.

    40. Re:Amen! by Krach42 · · Score: 1

      One Word: Freedom

      Why not Open Source Hardware? I'm up for it? What makes that even WRONG?

      Seriously, what about Freedom in Hardware makes it wrong? Why would I *not* want open source hardware? What is *wrong* with open source hardware? Is there some magical physical phenomena that says that I should stop wanting Freedom just because it's a physical object?

      I personally don't believe that way.

      --

      I am unamerican, and proud of it!
    41. Re:Amen! by Krach42 · · Score: 1

      I'm sorry Freedom is making your life hard. In the next elections, I'll be happy to tell you how to vote, so you don't have to worry about reading all those silly laws, and actually determining who would be a better candidate.

      --

      I am unamerican, and proud of it!
    42. Re:Amen! by Krach42 · · Score: 1

      I thought Linux was about choice?

      Linux is covered under the GPL. If it were about choice, it would be a BSD license.

      GPL is about enacting measures to bring Freedom for all.
      BSD is about Freedom for all now.

      What irks me is that people use the GPL, then wonder why these fanatics want to muck with it or something. They kind of make this argument like: "Where did these zealots come from?"

      The short answer: They were here before you, they're the ones that set it up. If you're wondering why the GPL is being preached by a bunch of "wackos" and zealots, it's because THEY WROTE IT.

      Everyone else who isn't a zealot is generally just coattailing on the GPL name.

      --

      I am unamerican, and proud of it!
    43. Re:Amen! by Billly+Gates · · Score: 1

      Thats precisely what attracted me to FreeBSD. Politics and gnu zealots.

      Yes the BSD guys have arguments and ban each other sometimes which creates different bsd's but their is never a sense of forcing an ideology on someone else.

      SO what if someone wants to use free software? I never agreed to become part of a movement. I want free software and develop free software for myself and for others in a BSD license.

      I want a quality os that ISV's can port software to. Solaris is rock solid because it had all the previous api's and libraries as well as kernel api's installed. AN older app can just link to the right one and RUN. Why is this such a hard concept?

      Its so bad that even Oracle has a special script that looks at RHEA3 and will refuse to function if its modified in anyway. That is extreme but it keeps breaking due to these problems with changes and lack of consistent api's.

      Maybe Linux should split in too. My guess is the one with the closed drivers will be the one used by commerical developers while the gpl zealots can have their own truly free but behind kernel... cough .. debian.

    44. Re:Amen! by Krach42 · · Score: 1

      You can't do this. You can refuse to give additional updates to that code, but you're code is free for all under the GPL, you licensed it that way, and we have every right to use it as such. The only way this can be violated is if it came to light that the contributing person was encumbered, and not allowed to give that code in the first place. At which point it would be removed, and replaced in short order.

      See the early SCO complaints, and why they won't tell everyone what's wrong with the Linux kernel right now. Because if they do, then we fix, and it becomes very hard to get a finding with no further infringement.

      If SCO doesn't tell us what is theirs, then we can't fix it, and it stays there, and they can say that we've not taken due diligence to identify the code, and the fact that it's still there is an indication of the failure of the Linux coders to identify potentially infringing code.

      If they tell us about it, then we can fix it, and it shows the courts that the community is ready and willing to not infringe on their copyrights.

      It's a double-edged sword, so they're being extra careful to point it in the right direction.

      But the point still remains, once you GPL code, everyone has a right to use that code so long as it remains compatible with the GPL. In the Open Source Software world, you can't take your marbles and go home, the marbles are everyone's. You can however make better marbles and refuse to share. But then you look like an idiot.

      --

      I am unamerican, and proud of it!
    45. Re:Amen! by Krach42 · · Score: 1
      http://lkml.org/lkml/1999/2/8/13

      Because I _know_ that I will eventually make changes that break modules. And I want people to expect them, and I never EVER want to see an email
      in my mailbox that says "Damn you, Linus, I used this binary module for over two years, and it worked perfectly across 150 kernel releases, and Linux-5.6.71 broke it, and you had better fix your kernel".


      This is why binary drivers are worse from the kernel developer's point of view than open source drivers.
      --

      I am unamerican, and proud of it!
    46. Re:Amen! by Billly+Gates · · Score: 1

      I lose freedom when I have unsupported hardware. I lose freedom when linux is buggy. Businesses lose freedom if they can't port their apps and drivers because of constant changes.

      I lose my freedom to run the software I want because windows has more consistant api's for developers to use.

      Just fork the stupid kernel to make everyone happy or add an option for xconfig to use closed drivers or not?

    47. Re:Amen! by Krach42 · · Score: 1

      There are things that make life easier that are not good things.

      Having someone tell you how to vote makes life easier. But then it leads to things that you might not agree with, then you maybe realize, "maybe I shouldn't have voted for this guy, he's a jerk." or "maybe I shouldn't have voted for this proposition, man, if only I had made my life mroe complicated by actually learning about the issue rather than just taking someone else's word for it."

      Easier != Good...

      oh wait, unless you only care about Linux being free as in beer.

      --

      I am unamerican, and proud of it!
    48. Re:Amen! by Krach42 · · Score: 1

      This is like not being allowed to put a custom engine in your car unless it's approved by your auto maker according to their standards.

      http://lkml.org/lkml/1999/2/8/13

      Linus's frank point is that having to support binary drivers ties his hands.

      I can argue till I'm blue in the face that it's all about ideology, because it is for me and those crazy "wackos" who wrote the GPL, and push the F/OSS community towards Freedom.

      Many consumers of Linux just care about the free as in beer, and not about the Free as in speech. I personally find that sad.

      --

      I am unamerican, and proud of it!
    49. Re:Amen! by Blakey+Rat · · Score: 1

      Freedom isn't making my life hard; the kernel programmers are making my life hard. The guy who put together the ivtv driver and didn't provide an installer is making my life hard. The guy who wrote the documentation for tvtime and ivtv but didn't finish or check their work, he's making my life hard.

      What does freedom have anything to do with any of that? There are a lot of free programs (uppercase or lowercase F) that are easy to install and use; why isn't ivtv?

    50. Re:Amen! by poofyhairguy82 · · Score: 1
      I have a right as a person to want a binary driver API inside the kernel. I also have a right as a person to want to be able to run Linux with binary only drivers. Why is this so hard for you and all the other zealots to understand?

      We understand it. What we don't understand it why we must spend OUR time and OUR effort doing it for you.

      You are right- you can have Linux with binary drivers. The license lets you. Get coding. Oh, whats that you say? You are not a coder? Then it looks like this is one right that you can never use, like my right to have a billion dollars.

    51. Re:Amen! by Krach42 · · Score: 1

      I lose freedom when I have unsupported hardware.

      No, you get annoyed and frustrated that you can't use that hardware, but you don't lose any "freedom" over it. You lose a choice, but no freedom.

      I lose freedom when linux is buggy.

      No, you get annoyed and frustrated. You have all the same Freedoms to go in there and fix the problem, which you don't have with Windows, and which you wouldn't have if the bug were in a binary driver.

      Businesses lose freedom if they can't port their apps and drivers because of constant changes.

      No, they lose money, or they drop a target market.

      I lose my freedom to run the software I want because windows has more consistant api's for developers to use.

      You don't have a Right to run the software you want. At this point, you're just whining that your software doesn't work for you. Sorry that happens, but we're not taking away your Freedom. Unfortunately, those other companies are taking away your choice by not supporting your desired operating system. Nothing about GNU/Linux says "you can't support me", it says "support me if you want to be Free".

      This is the same deal with Microsoft campaigning in MA against Open Document. It's like, HELLO! No one said anything about you not being able to use the format, too!

      These issues you raise are not Rights nor Freedoms. The Right to look inside and see what's going on with your software is however one that is granted by the GPL to everyone who uses it. And we don't make you give up that Right when things don't start to look so happy pretty and sunny.

      --

      I am unamerican, and proud of it!
    52. Re:Amen! by bheading · · Score: 1

      I'm not a linux kernel developer, but I am an Open Source developer, and have made significant contributions to at least a few projects.

      This whole discussion is about the Linux kernel, so I guess you've shot yourself in the foot.

      That binary drivers are bad (see reason #1 why Linus doesn't want an stable binary ABI)

      Why are binary drivers bad ? Clearly it is unreasonable to expect kernel developers to debug them or support them - but then again why would I ever expect a developer to support software he hadn't written ?

      I don't remember reading Linus saying that he did not want a stable binary ABI. Actually, any time I've followed lkml, Linus has quite correctly been in favour of avoiding internal API and ABI changes which would needlessly break things.

      Linus is pretty much on the fence over kernel modules. If there was any suggestion that kernel developers would start suing binary-only driver producers to produce their source (a shaky case as it stands) Linux would quickly see the industry support it has built up run scared. An awful lot of kernel developers have their salaries paid by the industry ...

      My question is in response to your original question: "What gives you the right to impose that restriction on me ?" The right given to the Copyright holder to restrict your usage of their work outside of the realm of Fair Use.

      Dangerous business you're getting into there. Does the author of DVD copying software have the legal right to stop you making illegal copies of movies ? Is that inside or outside the realm of fair use ?

    53. Re:Amen! by adrianmonk · · Score: 1
      It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.

      No, having a stable binary driver interface doesn't go against it. Yes, it makes it possible to write closed-source drivers, but it is already possible, which has been proven by the fact that nVidia has already done it by providing their own (open-source) glue layer to present a stable binary interface for the closed-source code. Not having a stable binary interface only does one thing: it forces you to make some of your code open-source. It doesn't force you to make any of the non-trivial parts open-source.

      If it were truly necessary not to have a stable binary interface between two layers of software in order to promote open source, then all Linux systems already have it wrong, because glibc and many other of the system's shared libraries have stable binary interfaces. After all, it's bad to be able to run closed-source software on Linux, right? It's bad for Linux that it's possible to run Oracle on it, right? It would be better if all those people who want to run Oracle use some other operating system instead, right? Also, it's best if no closed-source games run on Linux, right?

      To convince me that it's wrong to have stable binary interfaces, you're going to have to argue that it's wrong to have them at the user level as well.

    54. Re:Amen! by Krach42 · · Score: 1

      Yeah, BSD is definitely more Free (as in speech)

      The position of the GPL zealots though is that the world isn't ready to play fairly in the BSD world.

      Of course, in the "perfect Free software" world, the GPL and BSD would be essentially equivalent, because everyone would be using Free software and contributing back.

      Of course, this sort of utopia could never exist.

      --

      I am unamerican, and proud of it!
    55. Re:Amen! by Krach42 · · Score: 1

      What does freedom have anything to do with any of that? There are a lot of free programs (uppercase or lowercase F) that are easy to install and use; why isn't ivtv?

      So fix it. That's what Freedom has to do with it.

      That way the next person who comes along isn't as hopping mad as you are.

      If you didn't have the Freedom that the Linux kernel gives you, then this ivtv problem would be a big black box you couldn't fix, or do anything with. Your only choice would be to kludge it to work, or throw the thing out.

      --

      I am unamerican, and proud of it!
    56. Re:Amen! by goMac2500 · · Score: 1

      And Linus just shot himself in the foot:

      "I _want_ people to expect that interfaces change. I _want_ people to know that binary-only modules cannot be used from release to release. I want people to be really really REALLY aware of the fact that when they use a binary-only module, they tie their hands"

      Huh? He wants people to code for Linux after saying this? I'm sorry, but if this is his attitude I will never ever write a driver for Linux. He's telling me my driver won't be compatible from release to release BY DESIGN? Does he really want people to recode each release to get their driver to work? Does he think this looks friendly to developers? Does he think commercial companies are really willing to do this every time? Does he think end users will really be willing to wait for recoded drivers every release? C'mon, this is ok for an OS you're writing for a hobby, but this doesn't fly in the real world (where I'm sure a lot more people would like to see Linux).

      Yes, adding that abstraction is going to slow you down. Darwin is slower than Linux. Why not fork it? I mean... Sacrificing slowness for usability? An operating system can be faster than anything else out there, but I won't code for it unless it has a stable usable API and my end users can easily install the drivers. Sorry. Apparently Linux is anti that for device drivers.

    57. Re:Amen! by RzUpAnmsCwrds · · Score: 1

      If you don't like it, then you can go use something with better driver support, like Windows.

      Guess what? 600 million people do just that, every day. And that's not going to change until the attitude of the Free Software community changes.

    58. Re:Amen! by Krach42 · · Score: 1

      Does he really want people to recode each release to get their driver to work?

      No, he wants you to fold your driver in to the main kernel, and then other people will support it for you.

      Also, most kernel patches are source compatible for a long period of time. It's the binary compatibility that usually isn't guarenteed.

      And no, Linus hasn't shot himself in the foot. And as much as you like to think that Linux is no longer his hobby OS, it is. Just because it's all mainstream, doesn't mean that he somehow magically has some requirement to appease anyone but himself.

      Same as CmdrTaco and slashdot. It's his personal blog, and if you don't like what's showing up here, you're not being forced to read it.

      Likewise, no one is forcing you to use Linux, it's one of many Operating Systems out there, and is no more so the only Free Operating System out there. If you don't want the GPL, GNU politics, or you don't like how Linus is managing the kernel, then go use FreeBSD.

      I would imagine that there's nothing there that would keep them from supporting binary drivers... funny though that it doesn't have any better driver support than Linux...

      --

      I am unamerican, and proud of it!
    59. Re:Amen! by Blakey+Rat · · Score: 1

      If I goddamned KNEW HOW TO FIX IT I'd probably have a working copy of tvtime right now. What the hell is wrong with you?

      Look, I can spend the next 6 months of my life "fixing it" or the guy who created the software in the first place can spend an hour checking to see if his instructions can be followed. Which one strikes you as more efficient? Again freedom doesn't play into this at all. The guy who created ivtv obviously doesn't want anybody to be able to install it, probably because he has some elitist bullshit attitude, and he didn't spend the miniscule amount of time it would take to actually make it easy to install. So I guess there's freedom to be an asshole... but people who sell their software usually try to actually help people use it.

      I don't want to learn how to write Linux drivers so I can "fix" ivtv, ok? I don't give a crap about your "freedom." I just want to use my goddamned video capture card. Figure it out. That "big black box?" It works. This little transparent one doesn't.

    60. Re:Amen! by LWATCDR · · Score: 1

      You see that is the problem. A computer is a tool. The easier it is to use the better.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    61. Re:Amen! by harmic · · Score: 1
      It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.

      If that were the case, why is there an exemption to the GPL for the specific case of loading a binary modules? If such an exemption were not granted, then distributing a binary module, which loads by dynamically linking it against the kernel, would mean that module itself must be GPL.

      Where have you been? It has been the policy of the Linux kernel for a long time that it would never stablize a binary driver interface, in order to prevent people from not making their drivers open source.

      I am pretty sure that is not the main reason for this policy (of course it probably depends on exactly who you talk to though).

      As pointed out elsewhere by other posters, there are multiple issues :

      1. Making a stable API makes it easier to distribute closed source modules (this could be a bad or a good thing, depending on where you stand on that issue)
      2. Making a stable API benefits any driver writers and maintainers, open or closed source, because they do not need to keep updating and retesting their drivers for each and every kernel release
      3. The most important of all IMHO making a stable API benefits users enormously because they do not have to recompile (and maybe even hand patch) drivers from outside the kernel tree when they upgrade a kernel version (a task well and truly beyond 99.9% of computer users, I assure you). Even for old hacks it is a royal pain in the behind, something that really makes you think twice about upgrading at all if you have any oddball hardware on your machine.
    62. Re:Amen! by Alioth · · Score: 1

      The thing is *it doesn't work*. Nvidia provide a closed source driver by having a wrapper. Not having a stable kernel interface does not stop binary only drivers. If that's its goal, the phrase "cutting off your nose to spite your face" springs to mind.

      The only group that the lack of a stable ABI hurts is end users. I use some open source drivers that are not in the 2.6.9.x kernel that CentOS uses. Guess what - each new kernel that CentOS pushes out, I get to have to rebuild and re-install all these drivers. It's a pain in the arse I could do without, especially as it is totally ineffective at achieving its desired goals (preventing closed source drivers) as nvidia has proved. If you hurt end users this way, you guarantee that Linux adoption won't happen.

    63. Re:Amen! by Krach42 · · Score: 1

      I'm sorry you're having trouble with these drivers.

      I'm certain that Windows has drivers that work sufficiently for your needs, and are easy to install, and work.

      At least then you wouldn't have to complain on slashdot how Linux's driver system is pissing you off.

      --

      I am unamerican, and proud of it!
    64. Re:Amen! by Krach42 · · Score: 1

      You see that is the problem. A computer is a tool. The easier it is to use the better.

      This is a position that many people take, and I can accept that.

      But there are also complicated tools that the easier it is to fix, the better.

      Operating Systems and drivers are in my opinion like this later case.

      --

      I am unamerican, and proud of it!
    65. Re:Amen! by Krach42 · · Score: 1

      As was pointed out to me by another poster with an actual link to Linus's words.

      This choice is for easy of development, and not much to do with ideology (in Linus's eyes. There are people like me, who are happy justifying it with ideology.) Linus just doesn't want to have to worry about breaking the ABI and breaking binary drivers.

      He's afraid that if he has an ABI, and a binary driver interface, that it will tie his hands. Basically, "I can't change the way this works, or else I may break some binary drivers out there."

      And the last thing he wants is to take an important kernel change that pushes the kernel forward, and have it break some module compiled back in 1995.

      If you're bothered that Open Source doesn't target End Users, welcome to the world of Open Source. In Open Source the first line consumers of the product are the developers themselves, and anything that's more work than it's worth for them generally won't get as much air time as what everyone else thinks should be in it.

      --

      I am unamerican, and proud of it!
    66. Re:Amen! by Krach42 · · Score: 1

      I am pretty sure that is not the main reason for this policy (of course it probably depends on exactly who you talk to though).

      You're right. The main reason for the policy is easy of coding. Linus doesn't want to tie his hands out of fear that he might break some binary driver. And of course he's scared that if he were to break a binary driver, everyone would tell him that his kernel is broken.

      So, he wants people to worry that each kernel update might break something, because it just might. and he doesn't want any sort of chilling effect for improving the kernel over something like "this might break binary drivers."

      --

      I am unamerican, and proud of it!
  10. Why post this link without the followup? by rRaminrodt · · Score: 5, Informative

    http://www.kroah.com/log/2005/11/07/#osdl_gkai2

    Some misunderstandings were made. But of course, if they posted this link, there'd be no point to posting TFA or the arguments that will almost certainly follow. :-)

    --
    They'll think I've lost control again and leave it all to evolution. -- Supreme Being, Time Bandits
    1. Re:Why post this link without the followup? by tritonic · · Score: 1

      This changes things quite a bit. From the third slide from the presentation:

      * Introducing a layer on top of the current kernel-driver interfaces which someone would try to hold steady
      * It would be GPL'd and therefore NOT support binary drivers


      So what's everyone worrying about?

  11. Texas by airrage · · Score: 1, Flamebait

    Texas has a Constitution with no "administrative" section. That being said, every law, whether new or an amendment is a constitutional change.

    I think hardware manufacturers are in the right on this one, they want to develop drivers and peripherals without a constitutional amendment. Good thing all the way around IMHO.

    Peace Out.

    --
    "This isn't a study in computer science, its a study in human behavior"
  12. Solves the reason why I gave up Linux by s20451 · · Score: 5, Interesting

    I gave up Linux mostly because I was tired of getting punished for having new hardware, which is often unsupported. Especially on laptops.

    If you don't force the manufacturers to include their driver source in the kernel, you might get them to release actual drivers for their new hardware.

    --
    Toronto-area transit rider? Rate your ride.
    1. Re:Solves the reason why I gave up Linux by s20451 · · Score: 2, Insightful

      This is the point though. I never said I couldn't get it to work, I said I was tired of getting punished for it. I don't enjoy wasting a lot of time futzing with kernel patches and hoping for the best, which seemed to happen every time I did a major upgrade. In short, the onus should not be on me to make it work -- the onus should be on the OS to work without my intervention.

      Also, for the record, Linux doesn't suck. But I found I could get my command line fix with XP and Cygwin, without the hardware annoyances.

      --
      Toronto-area transit rider? Rate your ride.
    2. Re:Solves the reason why I gave up Linux by Holophax · · Score: 4, Insightful

      The typical comment of a Slashdot user. We should all buy new hardware and spend hours on top of hours getting things to work, rather than just "having" things work. Call this a troll if you want, but this is the exact reason that the masses AREN'T running Linux.

      You people need to figure out exactly what you want, Linux for the masses (read: grandma, mom, etc) or an O/S where you have to spend valuable time just getting it to work with regular hardware. You bashed the poster for buying "random hardware" and expecting it to work even though you don't know what the hardware in question was, yet in your own message you bought 3 "bleeding edge" Gateway laptops (a fairly well known manufacturer) and you had to (in your words) "_try_ to make it work."

      I was going to post this anonymously, but it would of course be modded a troll at that point. Let my karma burn for all I care.

    3. Re:Solves the reason why I gave up Linux by Cerberus7 · · Score: 0

      That works for most of us, but what about people who don't want to, and currently don't have to, "try" to make it work? Jim Bob goes to Staples, picks a wireless NIC, slaps it in his WinXP machine, inserts the install CD, and that's about all there is to it. Until Linux has that same kind of experience, it will not be mainstream and it will not take over the world.

      --
      I don't know about you, but my servers run on the power of cotton candy and happy thoughts. -Anonymous Coward
    4. Re:Solves the reason why I gave up Linux by rincebrain · · Score: 1

      I find your example particularly offensive, as Linux can use the Windows drivers for some of those. :)

      I find your example particularly offensive because your analogy is flawed. The Windows wireless drivers are hacks, and the API only supports the most basic functionality - that's why most of the wireless drivers you get come with those weird-ass nasty interfaces - to hide the fact that Windows doesn't have a standard way to use that functionality.

      At least under Linux we have a standard for doing those things.

      --
      It's only an insult if it's not true.
    5. Re:Solves the reason why I gave up Linux by kmmatthews · · Score: 1
      Once again, a troll attempting to assert that all slashdot users are the same person and we all have the same goals.

      I did not anywhere say that I think linux should work with $RANDOM_HARDWARE, nor did I say that it should be installed on everyones desktop, or that it's ready for the desktop, or that it should ever even be used on the desktop.

      So, instead of attempting to troll with a straw man argument and all your assumptions, how about you respond to my _actual_ comment?

      --
      feh. stuff.
    6. Re:Solves the reason why I gave up Linux by peragrin · · Score: 1

      The problem isn't linux or it's developers. It's idiots that make things like winmodems, applemodems(yep them too), and wireless cards with 90% of the tech in software, when it can be done faster and more effiecently in hardware.

      Software is great for somethings but it isn't always the answer. And you can't tell me it's so you can upgrade just the software part for a new standard. I have only seen that work once. That was for a 36.6 modem to be firmware upgraded to 56k. It doesn't work for the bulk of what they use it for.

      --
      i thought once I was found, but it was only a dream.
    7. Re:Solves the reason why I gave up Linux by Anonymous Coward · · Score: 0

      An end user shouldn't have to TRY to make it work. It should *just work*

    8. Re:Solves the reason why I gave up Linux by kmmatthews · · Score: 1

      Right, but suppose that the CD did contain a binary driver for linux, and was as easy to install as it is on windows.

      Next, suppose that the driver is a piece of shit that causes the system to crash every five minutes. After a bit of this, Jim Bob is gonna say "Linux sucks! it crashes all the time!"

      --
      feh. stuff.
    9. Re:Solves the reason why I gave up Linux by dastrike · · Score: 2, Interesting

      The problem is that one shouldn't have to even try to make it work. A desktop operating system in the form of a desktop oriented Linux distribution should be as painless as possible to set up. Preferably there should not be even the need to have a C compiler present. Shove in the installation CD/DVD and boot it up and the installer should take care of everything hardwareconfiguraitonwise.

      With Linux and new hardware this is currently just a distant dream as the drivers simply aren't there when the hardware is new. But after a while after the drivers finally get into the kernel and distributions, the ride gets a whole lot smoother. The problem is that it can take a considerable time for this to happen. First a while for the drivers to appear in the standard kernel, and then a while for that kernel to appear in the various distribution installers.

      A binary kernel driver layer could in some regard alleviate these issues, but only if the hardware manufacturers would actually start releasing Linux drivers themselves, and at the same time as the Windows drivers. And then there are the freedom concerns mentioned here already with such a binary layer.

      Assuming binary drivers targetted for a binary kernel layer would be available from hardware manufacturers as soon as they release new hardware, one could just put them on a USB storage device or something like that and the Linux installer could just ask during the installation if one would like to load 3rd party drivers from just such a device.

      I myself don't have huge problems with having to perform all kinds of dark magic to get things working, but the average user won't cope with most of this. Linux is not just a hacker's plaything anymore. But for it to start gaining ground the installation and hardware configuration must be improved - e.g. it isn't amusing to have the installer not detect any harddrives when there are no drivers for the harddrive controller on the installation disk.

      --
      while true; do eject; eject -t; done
    10. Re:Solves the reason why I gave up Linux by Holophax · · Score: 1

      You're clearly changing what *your* original point was. I never said it should work with $RANDOM_HARDWARE either. But, you did fault him for not spending the time or effort to get it working, his original issue.

      You also fed him by stating how you got it to work with 3 bleeding edge Gateway laptops by "spending the time". That exact comment leads right back to his post as well.

      As for asserting that you all have the same goals, perhaps that statement was poorly made. While not *all* Slashdot users are of the same mind set, the vast majority of them seem to say that 'everyone should use liunx' and completely defend it against anyone saying they 'couldn't get something working with ease'. Seems a little contradictory.

    11. Re:Solves the reason why I gave up Linux by Anonymous Coward · · Score: 0
      The real problem is not drivers; the real problem is you buying random hardware and just hoping it will work. When it doesn't, you bitch and moan that "linux sucks!!111"

      Actually, the real problem is noisy Linux zealots who insist that the OS is perfect, it's always the user who is broken.

    12. Re:Solves the reason why I gave up Linux by AngelofDeath-02 · · Score: 1

      I really fail to see how your example is any different than the situation as it is now.

      Except .. with how things are now, the average joe sixpack never gets a chance, and in your scenario he does, but might encounter the same ammount of problems he would in windows.

      In the spirit of choice, why not support both and have open source drivers that work with the driver API? I see no reason why we can't have our open source drivers with our OEM drivers... Perhaps I'm being ignorant.

      --
      No, I am not an English major. My posts are subject to typos and incorrect grammar. Do not expect perfection.
    13. Re:Solves the reason why I gave up Linux by Anonymous Coward · · Score: 0

      Installing Linux on a laptop hasn't been difficult in years. Indeed, from CPUs to video cards, laptops tend to get components several months downstream from "bleeding edge" desktop hardware, making laptops an easier installation target than desktops (wireless networking aside). Typically, things like RAID controllers, newer video cards, TV tuners, and other add-on components are the "exotic" hardware that cause problems.

      What kind of problems? Kernel upgrades break your (open source) RAID controller. So you have to rebuild from source against new kernel headers. Fine, except it doesn't compile clean. So you have to modify the source code. I did this with one RAID controller for several iterations until I finally pulled the thing out the machine and gave up on it - it became unreliable by the time I had hacked it up to 2.6.12.

      Other problems? What about when you buy a TV tuner card where source exists for a newer kernel than the one you are running. And I'm not talking 2.4 versus 2.6. I mean 2.6.11 versus 2.6.12. You are forced to either upgrade your kernel, or modify the driver source to the TV tuner card so that it compiles under the old kernel. Great options. How about option 3: stabilize the driver API so I don't have to choose between 2 really bad options.

      Binary drivers already exist. This is not a binary versus source issue. It is a usability/stability issue.

    14. Re:Solves the reason why I gave up Linux by Cerberus7 · · Score: 1
      Key word being "some." Anyhow, those funky dialogs wireless drivers use are more or less easy for anybody to figure out just by looking at them. In the Linux world, you need to do a little research first, which average users just aren't willing to do.

      And to the mod on crack who can't handle somebody pointing out a weakness in Linux, suck it. I could point out weaknesses in Windows all day long and get lots of + mods, but one little "Linux doesn't do this so well" post and it gets stomped on. If you disagree, post about it like decent thinking folks do.

      --
      I don't know about you, but my servers run on the power of cotton candy and happy thoughts. -Anonymous Coward
    15. Re:Solves the reason why I gave up Linux by shotgunefx · · Score: 1

      I will say that the situation has improved quite a bit. I hadn't installed linux on a new system in quite some time. Most of my current systems are all source installs. I remember quite a bit of fighting with driver issues.

      I wanted to use my dell laptop as the basis for a car pc. Real hesitant. Thinking back to my prior experiences and the fact that it was a laptop.

      I can't believe for the most part how easy it was to get everything running. Pretty much everything worked as it should right of the bat. The only thing that gave me trouble was using my LG PM325 sprint phone with Bluez.

      While I'd love to be able to use my instant dvd for a pvr or something, I think in general, binary drivers are a bad idea. If you give them the option, that's what they'll do. I think there's also a potential for subtrufuge.

      --

      -William Shatner can be neither created nor destroyed.
    16. Re:Solves the reason why I gave up Linux by mad.frog · · Score: 1

      We should all buy new hardware and spend hours on top of hours getting things to work, rather than just "having" things work

      No thanks.

      An hour I have to spend (re)configuring my OS is one less hour that I can spend reading Slashdot :-)

    17. Re:Solves the reason why I gave up Linux by PitaBred · · Score: 1, Insightful

      How about you try installing a copy of WindowsXP from the store on your bleeding-edge laptop. I'll bet you dollars to donuts that you still have to go hunt for drivers and _try_ to make it work. I'll bet you even more that it'd take less time to get Linux to work on it than it would a version of Windows.
      Wait, we're lambasting slashdot "groupthink" here, though. My bad. I should say "You only like Linux because you hate Microsoft. You hatey hater man. Stop hating because you're jealous"

    18. Re:Solves the reason why I gave up Linux by Skapare · · Score: 1

      If you actually want to let various hardware manufacturers to have control of code that runs in the kernel layer of your computer, or even in the root permitted process layer, then you don't really deserve Linux, and should stay away from it. One of the big advantages of Linux is the very fact that everything that runs with indefinite permission or indefinite credentials is open for inspection, and where necessary, modification. That doesn't mean you personally (or even any of your staff if you are a business) have to even have the skills to do this ... you gain an advantage just from the community eyes doing this inspection independently.

      The manufacturers should simply use standard drivers for devices. Every device that a normal common laptop computer needs already has many existant, working, and generally very well debugged, drivers in the open source kernel tree. They need to just make their hardware work with those drivers as is. Tell me what kind of device can't follow along with that requirement and can't establish a new software to hardware interface open standard where existing interfaces are inadequate.

      --
      now we need to go OSS in diesel cars
    19. Re:Solves the reason why I gave up Linux by Anonymous Coward · · Score: 0
      I was going to post this anonymously, but it would of course be modded a troll at that point. Let my karma burn for all I care.

      It never ceases to amaze me how this kind of boilerplate self-deprecation never fails to generate a +5. I don't know why I still read this tripe.

    20. Re:Solves the reason why I gave up Linux by derF024 · · Score: 1

      Jim Bob goes to Staples, picks a wireless NIC, slaps it in his WinXP machine, inserts the install CD, and that's about all there is to it. Until Linux has that same kind of experience, it will not be mainstream and it will not take over the world.

      I don't get it. Why is the CD that important? I like the current approach where I buy a wireless NIC from staples, slap it in my linux machine, and it works all by itself 5 seconds later without me having to do a damn thing. Then I don't need to keep track of both the hardware I bought and the handful of CDs it came with.

        I honestly haven't encountered hardware that didn't work under linux, perfectly, right out of the box, in about 4 years. Network cards, printers, cameras, sound cards, whatever it may be, there are already open source drivers out there for anything I buy, and they're already included in my Debian/Ubuntu kernel. I buy a lot of hardware, too. On the other hand, I occasionally try the same hardware under windows, and it never works without the driver disks. The driver disks that got thrown out with the packaging. So I'm left scouring the internet for driver downloads. This is especially fun for network cards.

    21. Re:Solves the reason why I gave up Linux by kmmatthews · · Score: 1

      I'm saying that if we compromise and allow closed source drivers, we'll have problems that we don't have as long as we do not comprise and do not allow binary drivers. (No, I'm not saying linux "disallows" binary drivers; I'm saying that they are currently not supported nor encouraged - people (nvidia) can still make them. That does not mean that it's a good idea.)

      --
      feh. stuff.
    22. Re:Solves the reason why I gave up Linux by shywolf9982 · · Score: 2, Insightful

      It's funny how the masses always complain about windows being instable and crashing. I have news for you, windows does not (not XP, anyway). All the crashes I've seen in the past years were cause of crappy drivers (mainly nVidia and Ati). That's because Microsoft developers are stupid and can't develop a decent driver API? (because we all know that the average IQ in microsoft is something around 15, and that the legend of the 1000 typing monkeys... ok, but I ain't bein funny)

      I'm perfectly aware of the reasons mentioned in the previous posts. But the decision isn't trivial. There is a compromise/tradeoff to make, and it ain't so simple. Is it worth to attract the masses? I doubt. the real deal for the masses is Apple... masses, in the IT world, don't need to be "free to do things". Because that translates in "free to damage things". So the real deal is a vendor that offers you everything from its own factory, all shipped up in a cool package, with just 4 models to choose from (ok, maybe even 20, doesn't make much difference). You run your thing, you don't need to know nothing, and IT'S FUCKING BETTER YOU DON'T. Everything works, as long as your needs conforms to the standard needs. I'm sure that 99% of the people would be damned happy with this. And to them I say, go Apple.

      For me, this is just a cool version of the Soviet Republic. But I'm a mad anarchist, so just leave me alone with my crappy Linux, that needs days to be configured with mainstream hardware, but that does not "limit" me in any way

      (Many would say mine is just a bunch of politic arg... idiocies. True. Because Linux and Open Source is a political matter. Being opensource does not give a project any mere technical advantage over a closed source one. It has its upsides in how the software interacts with the community of users/developers, and hence is a social/politic matter)

      --
      nbody2002:If you can read this you may be addicted to the internet
    23. Re:Solves the reason why I gave up Linux by Holophax · · Score: 1

      First off, I'm going to say that I am both a Linux advocate and user. I also run FreeBSD on my home server and even have a MacMini running OS/X so please don't read this as a "windows is the answer" post.

      Let's use your scenario --

      Said user buys a brand new "bleeding edge" laptop. (I'm going to discount the fact that most major hardware manufacturers are going to have the O/S already installed, which makes me wonder why I have to reinstall it... Something that unforunately doesn't happen often enough with Linux.) Regardless...

      User inserts Windows XP cd into CD rom drive and re-installs Windows. In my opinion the base install of both Linux and Windows XP is fairly straight-forward. That install eventually finishes and the system reboots to what we'll call the basic Windows install. The user realizes that many of his devices don't work as expected. Sound is non-existant, video only gives 640x480, etc etc.

      I think we can assume that this user who bought this bleeding edge laptop bought it from a fairly well known supplier. (Dell, HP, IBM, etc) -- since we're talking about a fairly "non-techie" type. That user should be able to at least figure out where to get a driver from. They hit up said vendors web page, look for drivers, find their make and model and download the driver. I'll even venture to say that 99% of the Windows drivers are going to be an executable of some sort, whether self installing or self packing, with some sort of readme.txt or the such to steer the the right way. I may be trivializing this a bit and I apologize.

      So since what I'm reading from the rest of the comments on this post, no one seems to be overly keen on binary type drivers, what would this user do in the Linux world? Hope his hardware works? Fiddle with it? Look around google for someone who has half managed to get said hardware to work. Just install this RPM, or tarball, edit this flat text configuration file, load this module, etc, etc?

      Expecting that the average user is going to take that many steps, when they can see that their *friend's* computer works so nice and easily right out of the box? I think they are going to question the whole "Linux" thing.

    24. Re:Solves the reason why I gave up Linux by Anonymous Coward · · Score: 0

      Better.
      Suppose it included a source based driver installer which worked on *gasp* most versions of the Linux kernel with no need for an ABI; and if it fails you'll know 99.9% of the time at install instead of after 3 weeks of random crashes.

      Really, to say the Linux model for drivers is bad .. is to be a complete idiot who doesn't know what he's talking about.
      There's nothing better than typing: cardmgr -o and having my pcmcia card kick up and do it's thing. Now, the *real problem* is that there isn't a driver for every single card known to man.

      The reason the current Linux model for drivers rocks is that I can have drivers for almost anything my desktop could ever had (that Linux has drivers for) loaded on my system; and with the right scripts they can all be found and setup for me without any help! That means I don't have to go to "Brand X's" website and dig up drivers: And yes, Joe Sixpack is incapable of doing that; I've seen it a thousand times.

    25. Re:Solves the reason why I gave up Linux by swillden · · Score: 1

      They hit up said vendors web page, look for drivers, find their make and model and download the driver.

      Hehe... a couple of years ago I installed Windows 2000 on some desktop machines that had come pre-installed with XP (the app software they were going to run claimed not to work on XP). Not only did video and sound not work, Win2K didn't have drivers for the Gig-E network cards that were in them. It's hard to download drivers when what's broken is your network card.

      Okay, so I used another machine to go get the drivers. The stupid network card driver was over 10MB(!) in size, so I couldn't put it on a floppy. I had a CD writer, but no blank CD-Rs. I had a USB memory stick, but Win2K also didn't have drivers for the USB2 host controllers in the machines. Finally, I booted Knoppix (a sufficiently new release that it had drivers for everything, including the network card), used it to download the driver and write it to a little FAT32 partition that I created for the purpose, then rebooted into Windows and installed the driver. Royal PITA.

      It turns out that the reason the network card driver was so huge was a fancy but mostly useless custom configuration tool that was included.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    26. Re:Solves the reason why I gave up Linux by 10101001+10101001 · · Score: 1

      In short, the onus should not be on me to make it work -- the onus should be on the OS to work without my intervention.

      Wrong. The onus should be on hardware makers to make drivers for every popular platform. You see, in the real world we have these things called applications. Now, these applications are what cause people to choose an OS in the first place, in many cases. This means that users who are out to run said application will choose their OS first, then select hardware to match it.

      Any sane hardware manufacturer realizes this. They're not in the business of selling software. They're there to sell hardware, and that means supporting as many popular OSs as possible. So, when it comes time to supporting Windows and Macs, hardware manufacturers are basically willing to bend over backwards to be labelled as officially supported, though the use of trademark logos (made for Windows, for example).

      When it comes to Linux, most hardware manufacturers are simply a bit out of the loop. The best way to guarantee basically eternal support is to release a source code driver--this simply wouldn't work with Windows, and just look at how many driver models Windows has which manufacturers have had to target in the past, so all this talk about long-term API stability is pretty much bunk. Sure, some hardware makers are afraid that if they open their source that someone can come along and clone them for a fraction of the price, but the simple truth is that that's quite often actually *beneficial* to hardware maker and consumer (look at Dell/Compaq for an example).

      Yes, it'd be great if Linux supported even more hardware. But it's just as much a requirement--for better sales--for hardware makers to write drivers for Linux as Windows, even if the whole concept is foreign to them. Hell, a lot of people are even suggesting simply giving out specs and letting the community write drivers; imagine if in the Windows world it was that common to be so generous about offering one's time/money--time is money. The second people start demanding that hardware be given out freely you'll start to have a point, but it's really driver support that makes hardware sell. Hardware makers not bending over backwards for the consumer hurts them and the consumer. The long term answer is for hardware makers to change. Until then, you've got to be an informed consumer; it's not like you can just assume hardware will always be designed to work on your Windows.

      --
      Eurohacker European paranoia, gun rights, and h
    27. Re:Solves the reason why I gave up Linux by Anonymous Coward · · Score: 0

      I honestly haven't encountered hardware that didn't work under linux, perfectly, right out of the box, in about 4 years.

      Try a CX88-based TV capture card. Current drivers will capture, but not overlay on the screen - not very useful for playing console games without a TV :(

    28. Re:Solves the reason why I gave up Linux by AngelofDeath-02 · · Score: 1

      I keep thinking that there are pros and cons to basically everything, and if you want something you usually have to give something else up, or reach some sort of a middle ground.

      Do you want linux to be accepted as a mainstream desktop environment or not? These are the kinds of choices that are to be made.

      Currently many manufacturors leave it to the open source community to come up with drivers for their products. This leads to slower response times and drivers usually do not get accepted into the kernel until they reach a certain level. (understandably)
      Yes, if these drivers are broken, the sourcecode is provided and people can fix it. This is generally good ...
      No, I cannot do this myself, so I end up with a broken system until it's fixed anyways.

      Yes, I can probably download these updated drivers myself instead of waiting for the kernel to carry an updated version.
      No, I do not want to spend the extra time compiling my kernel, and if I used a packaged distro based one, I never would need to in the first place.

      Yes, all manufacturors could do what nvidia did, and make a fairly decent program to install their driver
      No, they don't and apparently are not willing to. - or they make the .o files, but only for specific versions of the kernel that are frequently outdated and distro specific.

      I'm sorry, but I do not see a problem with making it easier to do stuff.
      Having an API does not neccessarily mean there will be bad drivers any more than it currently does.
      Having an API does not mean that those same drivers could not have source files associated with them.

      Having an API does mean that there will be a universal interface with the kernel, presumably not so dependant on the actual version of said kernel.
      Having an API does mean that it can be easier to upgrade drivers.

      Yes, you're making it easier to provide broken and unfixable drivers, however they will exist where none existed before - this is not a bad thing. Anyone technically advanced enough to compile a kernel for their drivers and actively seek them out should also be advanced enough to determine where the system instability lies. You're basically shutting out an entire group because of a reason that hardly even affects you.

      It is not like these drivers can't be written from scratch if they are broken ... That kind of thing already happens anyways. It's almost like you are arguing that things should continue to be difficult so that those who aren't at a certain technical level will not bother you when they /do/ have problems, and that's not even on topic.

      A stronger argument for your position might involve having to re-do basically every driver currently in the kernel. Change always has a cost and resistance associated with it, take the USA and metric measurements for example.

      --
      No, I am not an English major. My posts are subject to typos and incorrect grammar. Do not expect perfection.
    29. Re:Solves the reason why I gave up Linux by Dan_Bercell · · Score: 1
      No you just go to the OEM website and get the drivers.

      And the Troll MOD was appropriate for your comments

    30. Re:Solves the reason why I gave up Linux by Dan_Bercell · · Score: 1
      For future reference:

      Often times if you go to the hardware manufacture site, they 'may' have a driver only download. YOu are correct more often then not the drivers are huge downloads, but only because of crap software you will eventually disable anyways...lol

    31. Re:Solves the reason why I gave up Linux by swillden · · Score: 1

      Yeah, I looked for the driver-only version. Warn't none. 10MB for an Ethernet driver... that's got to be the definition of bloat. The Linux driver for the same card is 95KB. Even that seems rather large to me, but it's two orders of magnitude smaller. I think the Linux driver is actually more configurable, too... though you configure it with modprobe command line options rather than a singing and dancing GUI. That seems very sensible to me. I have a hard time imagining someone who knows why they want to disable the receive checksum offloading of their Gig-E card but is afraid of command-line parameters.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    32. Re:Solves the reason why I gave up Linux by DeathPenguin · · Score: 1

      >>You people need to figure out exactly what you want, Linux for the masses (read: grandma, mom, etc) or an O/S where you have to spend valuable time just getting it to work with regular hardware.

      How about an OS where you have a choice? If you like binary drivers which may cause incompatibilities, instability, etc. then by all means, load 'em up! Otherwise, opt out of it and don't use them. Simple, huh? That's the great thing about using GNU/Linux--Relatively few things are crammed down the user's throat. Purists--Just don't use the damn drivers if you don't like them. Everyone else--Enjoy vendor support, but don't cry to the Linux developers when nVidia or ATi or Linksys or someone breaks your distro with a dud driver. Deal?

      You have a good point, and the requirements of a open source kernels and operating systems are as diverse as the people using them. Just to paint a picture: People running a distro like Linspire, Ubuntu, etc. who might be new to Linux probably just want their computers to work as well as they do in Windows XP (Wireless, 3D acceleration, etc). People who run enterprise Linux probably want their shiny expensive SCSI RAID card and super deluxe network card to work so they can serve more customers. Do-it-yourselfers can go either way, but I think most would at least prefer (if not insist) upon an open source driver. And so on and so on.

    33. Re:Solves the reason why I gave up Linux by Mokki · · Score: 1

      Then why is that most of the more exotic printer/usb/laptop peripheral stuff does not work in 64bit Windows even after 2 years after the ABI was released?

      It's because there cannot be one ABI for everything. Every once in a while the ABI must be broken, windows has now at least 4 ABIs: x86_32(w95,NT),x86_64(NT) and PPC(Xbox360). And the Windows Vista will increase that number to 6.
      And most HW/laptop companies just do not have the resources to write drivers for 6 different _windows_ ABIs.

      The end result is that the newer laptops (64bit) actually work better in Linux than in Windows 64. This will become especially obvious with the next windows version when most of the existing laptops just stop working and will never have full driver support.

      With Linux almost everything that worked before keeps working in the future. It just takes a bit of time for HW vendors to see that they should be doing the HW and let someone else write the drivers.

    34. Re:Solves the reason why I gave up Linux by justins · · Score: 1
      How about an OS where you have a choice? If you like binary drivers which may cause incompatibilities, instability, etc. then by all means, load 'em up! Otherwise, opt out of it and don't use them. Simple, huh?

      Actually, it's just fucking retarded. Binary drivers don't cause incompatibilities just because they are binary drivers except on Linux. You aren't going to convince anyone, including naive or new users, that "binary drivers on our system are especially crappy!" is a good feature or something.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    35. Re:Solves the reason why I gave up Linux by PitaBred · · Score: 1

      And this is exactly why I said bullshit to the previous comment about Linux needing work. Linux AND Windows both just need a little work to get running on any kind of specialty hardware. That's just how the game is.
      My beef is that people seem to think that this should be expected with Windows, but Linux should work perfectly with every scenario right out of the box.

    36. Re:Solves the reason why I gave up Linux by kasperd · · Score: 1

      then you don't really deserve Linux

      I would say it in a litle more diplomatic way: A binary only driver would take away the very reason I'm using Linux. I started using Linux because I needed something cheap and Unix compatible (and I'm probably not the only person). But after having used an open source operating system, I'm no longer willing to give that up. Price is no longer an issue for me, but it is hard to imagine an acceptable license which would not imply I could get the OS for free. Anybody who will put up with a closed source driver doesn't understand and value the real advantages of Linux, and they may as well use some closed source Unix system.

      --

      Do you care about the security of your wireless mouse?
    37. Re:Solves the reason why I gave up Linux by kasperd · · Score: 1

      It just takes a bit of time for HW vendors to see that they should be doing the HW and let someone else write the drivers.

      It would be great if hardware vendors would focus on making the best possible hardware, which implies it should be documented such that you can make the most use of it. In that case no doubt somebody will write Linux drivers for it. But unfortunately most customers can't tell the difference between good hardware and bad hardware. That means today it is possible to sell crappy hardware as long as you accompany it with software, that can hide some of it. And since that seems to be cheaper to produce, we will keep seeing such products until customers learn to see through it.

      --

      Do you care about the security of your wireless mouse?
    38. Re:Solves the reason why I gave up Linux by Skapare · · Score: 1

      That is a better way to say it.

      Long ago, back in the dark ages, when I worked on IBM mainframe computers, I administered several systems in which everything was re-assembled (source was in System/370 Assembler Language) from source. I had actually encountered a few cases where the binary that was distributed did not match the source. By running from source rather than binary, I knew there would be no surprises if I ever had to modify the source code (and that happened numerous times ... the modifying). I continue that practice even today under Linux, by recompiling the kernel and all mission critical applications (e.g. the ones actually doing the services I might ever need to modify to correct security problems or customize the bugs and features).

      --
      now we need to go OSS in diesel cars
    39. Re:Solves the reason why I gave up Linux by kasperd · · Score: 1

      By running from source rather than binary, I knew there would be no surprises if I ever had to modify the source code

      I agree that is a good point. Somehow I see this more as a question about how much trust you have in the vendor rather than a question about what kind of license is used for the software. Can one trust the vendor did not accidentially or deliberately supply mismatched versions. And can one trust the source, which is available today will also be available once you need it. By building everything yourself and keeping the source you need that less trust in the vendor. I actually see this as one of the good arguments for using source based distributions. Though I must admit, I don't do that myself. I think the procedures used for building rpm packages avoid the accedential mismatches. And I do try to keep all relevant SRPMS in case I'm going to need them. And if I were to worry about deliberate mismatches, I'd have a lot of other worries as well.

      --

      Do you care about the security of your wireless mouse?
    40. Re:Solves the reason why I gave up Linux by Skapare · · Score: 1

      A source based distribution would be the other extreme. I don't think I need to go that far to achieve my basic goals. I don't anticipate a need to modify most small things. OTOH, there would be some substantial comfort from a full source build.

      One can have a higher confidence in future source availability with something in GPL like Linux, than even with a vendor giving their source for other reasons (e.g. as IBM did with early VM/CMS systems).

      BTW, I'm using Slackware as my base distribution (just now upgrading to 10.2). I build a starter system in a directory and chroot in to recompile lots of stuff from source, building a Slackware package of each as I do it. Then I redo the install (again, into a directory) but with my own packages substituted. Finally, I use rsync replication to really install to other machines (though I could use the mix of Slackware and my own binary packages to do the install).

      --
      now we need to go OSS in diesel cars
  13. Re:Yes by SillySnake · · Score: 1

    No! err.. Yes! ... Maybe? ... Sometimes! ... Absolutely Not! ... For sure!

  14. No by kmmatthews · · Score: 4, Insightful

    It's a bad idea because what happens when the driver ABI changes? You have to wait umpteen months for the company to get off thier asses and fix it - like nVidia.

    It also precludes anyone else from fixing bugs in the broken, half assed crap most corporates spit out these days.

    --
    feh. stuff.
    1. Re:No by Anonymous Coward · · Score: 0

      No, it's a bad idea because you don't like it, and those are the only objections you can find. You don't speak for me, so stop acting like your opinion is in any way representative. In fact, just STFU. That'd be nice.

    2. Re:No by mad.frog · · Score: 2, Interesting

      It's a bad idea because what happens when the driver ABI changes?

      Then you go and fire the developer(s) who called it a "stable" ABI.

      By definition, a "stable" ABI should change very rarely, and provide backwards compatibility.

      Without this, it ain't stable.

    3. Re:No by dnaumov · · Score: 1, Interesting
      It's a bad idea because what happens when the driver ABI changes?

      I've got a solution for you: DON'T CHANGE THE DAMN DRIVER ABI EVERY FEW KERNELS! Other OSes manage to do just well using the same driver ABI for many many years, why not Linux?
    4. Suppose you have a driver API for linux that is stable. Perhaps will will actually encourage companies (like nVidia) to release Forceware-type packages for linux. Perhaps it will make driver maintenance easier to the point where they can just build an abstraction layer in-house for the Linux, Windows, and OS-X driver API's, then code their "good stuff" on top of it, without having to worry so much about changing the underlying driver API abstraction code to work with the latest Kernel... Guess what will happen? You'll see more linux releases - probably just as fast as the Windows releases. Though they may not be officially supported, you WILL have a chance to get more updates, more often. Without drivers, no OS can truely take advantage of it's devices and perform. I have 3 linux workstations, and 1 windows one. I work on the windows one, and access the linux ones with putty (telnet). Would I want a linux workstation? No. My entails everything from coding to video encoding, and linux performance is just not as good as windows for everything I do (great for some things, inferior for a bit more). Some things I just can't do at all. I blame it on drivers (and a little bit on microsoft). The hardware support is great when it uses basic BIOS interfaces, but it takes work to get linux to use anything that's advanced. It takes work to get Linux to be as snappy as windows on new hardware. For those that want to see linux take over the world, this is an extremely bad thing. Until drivers can be implemented and deployed easily by hardware vendors, there is simply no incentive to support Linux as an OS. Without that support, Linux will never become as snappy as Windows. Open Source is not mainstream yet, so for Linux to take off now would mean it would have to tolerate some closed-source thinking.

    5. Re:No by j1m+5n0w · · Score: 2, Insightful
      It's a bad idea because what happens when the driver ABI changes? You have to wait umpteen months for the company to get off thier asses and fix it - like nVidia.

      It seems unlikely at this point that Nvidia will ever open-source their video card drivers. (They might not even be able to legally - it's not uncommon for commercial software to contain code from third parties.) Assuming that this is the case, a stable ABI would make Nvidia's task much easier and would probably result in higher quality Linux drivers.

      It also precludes anyone else from fixing bugs in the broken, half assed crap most corporates spit out these days.

      Nvidia is no exception to this. Several recent Nvidia driver releases have not worked at all on my GeForce4. When that happens, it is nice to have the option of switching to an earlier driver release. Unfortunately, the way things are now, that may mean installing an earlier kernel as well. About a year ago, "installing" a somewhat older Nvidia driver entailed downloading kernel source so the installer would have something to compile its Linux-to-binary-Nvidia-module interface layer against, then applying a patch to Nvidia's source code to fix some bug, then fixing the Linux kernel source to add an EXPORT_SYMBOL statement that someone had taken out (breaking source compatibility during the middle of a stable kernel series). After recompiling everything, it worked, but it took me several days to figure it out. Most users would have given up.

      This is the sort of thing that drives users away from Linux. I would like to live in a world where all the best hardware was fully supported by open source drivers, but it isn't going to happen any time soon. The current model, in which closed source drivers are tolerated but deliberately rendered difficult to support and maintain, doesn't work very well. It would probably be better in the long run to either disallow binary-only modules (and give up on accellerated opengl on most graphics cards, among other things) or to accept them and at least make a basic effort not to break things.

    6. Re:No by Billly+Gates · · Score: 1

      This is linux. No one gets fired.

      Thats the problem. ABI's change in a matter of months which it impossible for ISV's to support.

      WIndows does not have this problem because of smart dynamic versioning of its dlls. Why can't linux have it. I think unix has some version of this since you can run 10 year old solaris apps. Try that on linux?

    7. Re:No by mad.frog · · Score: 1

      This is linux. No one gets fired.

      Well, by "fired" I mean "refuse to accept their code", but yeah, you have a point...

      Thats the problem. ABI's change in a matter of months which it impossible for ISV's to support.

      Yep. And this is one of the major reasons for the lack of 'shrink-wrap' software on Linux. Most vendors of such software (e.g., Adobe) cannot, and will not, release their product in source form -- ever.

      So it all boils down, once again, to an ideological issue, not a technical one.

      Windows does not have this problem because of smart dynamic versioning of its dlls. Why can't linux have it.

      My assumption has been that it's the FOSS attitude of source being the proper distribution method: you don't need versioning of binary code when you have the source code available to recompile as necessary. Which is true enough, I guess, *if* you have the source code available.

    8. Re:No by vrioux · · Score: 1

      It's a bad idea because what happens when the driver ABI changes? You have to wait umpteen months for the company to get off thier asses and fix it - like nVidia.

      That's exactly what Microsoft does when they change the driver model (e.g. from NT4 to 2000/XP, and from 2000/XP to Vista). The key is simple : try not to do it too often, have a very good reason to do so, and assist developpers in learning how to use it (MSDN is pretty damn hard to beat on that).

      Besides, WHQL insures that all drivers pass certain criteria and Linux should have the same kind of mechanism. You don't need the source to verify that a driver performs as advertised and doesn't break and/or touch parts of the OS that you specifically ask not to be played with.

      Compare that to the Linux driver mess we have today and you'll start to understand why many companies HAVE to stay away from that OS. It's not that it's bad, it's simply that many companies have specific needs regarding hardware compatibility. Where I work, for instance, we have very high-end 3D hardware that simply can't be made to work very well under Linux and we can't justify that to our customers. Cost is not an issue when you need to satisfy your clients.

      My two cents.

    9. Re:No by Anonymous Coward · · Score: 0

      This is linux. No one gets fired.

      Well, by "fired" I mean "refuse to accept their code", but yeah, you have a point...


      So, who is going to refuse to accept Linus' code, to keep the ABI backwards compatible? The idea has been debated multiple times on LKML, and the outcome is always that this kind of backwards compatibility would prevent improvements (improvements that need to break the ABI), and cause Linux to stagnate in the way Windows has.

  15. NVidia by Anonymous Coward · · Score: 0

    In his blog he states that a binary closed source driver would be illegal.

    Isn't this exactly what NVidia does now?

    1. Re:NVidia by Krach42 · · Score: 1

      No, nVidia's driver "cheats" but it's still technically legal. They do everything they are willing to share in their open source kernel driver, and provide an ABI for their X11 driver to hook into certain normally restricted memory accesses.

      The binary driver that nVidia is bugged about is their X11 driver, not their kernel driver.

      In fact, to the point, their kernel driver has had some bugs fixed by one astute programmer who bothered to look at it. Their X11 driver though is closed source, and thus no one has been able to assist them.

      This is also a perfect example. If given the option of open source, vs closed source drivers, a company will pick closed source if they can. (Because nVidia released a binary driver for X11, which supports them, but couldn't for the kernel because of the nature of the Linux kernel.)

      --

      I am unamerican, and proud of it!
    2. Re:NVidia by IamTheRealMike · · Score: 1
      In his blog he states that a binary closed source driver would be illegal. Isn't this exactly what NVidia does now?

      Yes, that's exactly what they do, and people like Greg hate it. In fact Mr Kroah-Hartman has said before that he makes a sport of deliberately sabotaging binary drivers people rely on. He is the worst kind of free software zealot - apparently incapable of thinking in anything other than black and white.

      The kernel project is, to put it mildly, a fucking disaster zone when it comes to messaging here. Some developers like Linus say binary modules are OK but he won't go out of his way to help them. Other developers say they're illegal. Still others say "well Linus says it's OK but I disagree, so I reserve the right to sue you for infringing my copyright". And Linus sits by and does nothing to rectify this ridiculous situation.

      One asshole (I'll leave you to guess who) decided that by putting functions inline into headers he somehow gained to right to force any USB drivers to be GPLd - apparently he never heard of "clean room re-implementation". He apparently also believes that you don't need to convince people licensing their work under GPL is good through logical reasoning and strong argument, it's enough to try and force peoples hand through dumb sleight of hand. Guess which is more convincing dude! If the GPL is so great, why do you try and force people to use it instead of letting them decide for themselves? Yes Greg, I'm looking at you.

    3. Re:NVidia by Wavicle · · Score: 1

      I would still be curious to see this one brought through a full trial. Although there are people out there who religiously believe that if you build a linux kernel driver and distribute it, you absolutely must release the source code, if I remember correctly, Linus is not one of those.

      Think about it... If I wrote software which contains none of your IP, but can be loaded by your product, you want your license to force itself on me. Huh? Could a bolt manufacturer force all nut manufacturers to abide by their license agreement in order to use their thread dimensions? (assuming the bolt isn't patent encumbered, of course)

      To me the importance of the Linux kernel being GPL is to prevent anybody from doing an embrace and extend.

      --
      Education is a better safeguard of liberty than a standing army.
      Edward Everett (1794 - 1865)
  16. of course it should by gonar · · Score: 4, Insightful

    one of the main problems for getting device manufacturers to support linux is the fact that they either have to release a new version of their driver every time the linux kernel changes some esoteric internal API, or be badmouthed for not having good linux support.

    would it really hurt so much to guarantee a stable DKI? doesn't have to freeze the whole kernel, just a subset of functions that will be guaranteed to work as they do now in perpetuity.

    backwards compatibility is just as important to driver writers as it is to app writers.

    doesn't even have to be binary backwards compatible, source level would be sufficient for most.

    --
    The difference between Theory and Practice is greater in Practice than in Theory.
    1. Re:of course it should by Spy+der+Mann · · Score: 2, Interesting

      But what's the problem with hardware manufacturers? Their profits are in the HARDWARE, not the software.

    2. Re:of course it should by Kjella · · Score: 2, Interesting

      one of the main problems for getting device manufacturers to support linux is the fact that they either have to release a new version of their driver every time the linux kernel changes some esoteric internal API, or be badmouthed for not having good linux support.

      Show me one example of a piece of hardware where the specifications are available (not under some absurd NDA), that has no or poor Linux support. The kernel/driver developers seem more than willing to write the driver and keep up with the "esoteric internal API", even so much that they spend tons of time trying to reverse engineer hardware where they get nothing. If you can find me just one such piece of hardware where Linux is the shortcoming, I'll donate to a fund for building that driver.

      --
      Live today, because you never know what tomorrow brings
    3. Re:of course it should by Skapare · · Score: 2, Insightful

      The real problem is this need to have unique drivers for every instance of hardware. Part of that problem is that manufacturers keep wanting to put their code in the host system for various reason. One common reason is to use the host CPU for work they are too cheap to do in the device they are selling. And another that has come out is their desire to access the host system itself (and something in the kernel involves a huge amount of access).

      This practice is bad because it compromises the integrity, reliability, performance, and security of host systems.

      What is really needed is a standard way of accessing hardware devices so there is no need to have unique drivers for each device. And for many devices, such as disk drives, that already exists. This just needs to be extended so that it works for all general and common devices. The only time a new device should need its own driver is when it is so uniquely new, that there is no analogy to what it does in existing devices (e.g. it would also need a new device file name in the /dev directory as well).

      --
      now we need to go OSS in diesel cars
    4. Re:of course it should by arcade · · Score: 1

      The problem isn't only that the linux support is non-existant. One of the problems is that you often have to download the drivers, then you need to recompile the kernel with that driver, then you .. oh, the non-geek users just reinstalled windows.

      Personally I would absolutely love the idea of getting pre-compiled binary drivers from the various hardware vendors - however, the *licence* to use the API, if possible, should mandate that the source code is released too - so that the driver may be included in *future* distro-releases.

      I've got some SuSE 9.0 boxes around. They are a few years old now. It sucks to have to recompile a lot of things just to add some hardware.

      --
      "Rune Kristian Viken" - http://www.nwo.no - arca
    5. Re:of course it should by Anonymous Coward · · Score: 0

      True, but a lot of their technology (that makes them better than their competitors) is described in their drivers. If the drivers are open source, it gives their competitors a chance at working out how the technology works. If your competitors use that information to make their hardware work as well as yours, you no longer have the advantage, so your profits decrease. Remember, hardware makers are businesses, and the single goal of any business is to make a profit. The open-source method falls flat when you realise that the hardware it runs on is not open. Perhaps that should be the open-source community's next project - open hardware.

    6. Re:of course it should by adtifyj · · Score: 1

      There is nothing preventing these three companies from building a kernel module that provides said stable layer. That module would probably need to be GPL, but that depends on what kernel calls it needs to make.

      Maintaining this stable layer would be the responsibility of those that need it. Due to the rather fluid changes that go on in the kernel source code, the maintainer would need to actively involved, and it may even take some engineering genius every once in a while. Im sure that if someone wrote such a beast, maintained it for a while, and kernel modules started to be written for it, Linus would see that is serves a useful purpose.

      Until then, crys for stability from software engineers are sounding very much like "wait for me".

      If they want stability, they should consider using one of the stable branches, like 2.2, 2.4, or one of the 2.6.x.y stable branches.

    7. Re:of course it should by Anonymous Coward · · Score: 0

      To varying extent depending on the device, the hardware is generic or heading in that direction. The software is what differentiates them, and allows them to sell the hardware.

  17. Stability like that leads to stagnation and death by A+nonymous+Coward · · Score: 5, Insightful

    One of Linux's great strengths is the flexibility of changing to meet new needs and not being hobbled by rigid backwards compatibility. This can only be done if all source is open and anyone can update drivers to meet new needs. When someone comes up with a patch to streamline a certain minor part of the kernel, it frequently has repercussions elsewhere in kernel land. It is these small changes which have made linux better and better with breathtaking speed. A "stable" binary API removes the possibility of keeping everything up to date and would dramatically show down the adoption of new features and general improvements.

    Continual refactoring is worth far more than some supposed binary API which prevents changes. Get rid of binary drivers! If companies are so paranoid that they want binary drivers, then the hell with them. Linux can advance better without that baggage.

  18. Of two minds by Kelson · · Score: 3, Interesting

    As someone who has tried to install various Linux distributions on RAID cards, and has had difficulty getting installers to use even third-party open-source drivers*, I'd love a binary driver API.

    As someone who supports free software, and has struggled with NVIDIA's video drivers (and they're at least trying to meet us halfway by making it as easy as possible to install their closed-source driver under the current system) I can see the negative consequences of encouraging binary-only drivers.

    *Example: Promise SX6000. Old cards work with I20, newer ones use their own interface. An open source driver is available, at least for the 2.4 kernel, but good luck if you want to get your installer's kernel to use it. Unless you can create a driver disk, a byzantine task in itself, you're stuck with a few outdated versions of Red Hat, SuSE, and I think TurboLinux.

    1. Re:Of two minds by petermgreen · · Score: 1

      yeah running installers with custom drivers is a process thats often poorly documented and a pita which is a huge shame imo.

      anyone fancy writing a little utility to produce custom bootdisks/driver disks for all the major distros?

      you don't nessacerally need to make a full driver disk to the installers specs though just build the driver against the intallation kernel (requires finding headers for it but that shouldn't be too hard) and insmod it manually whilst running the installer.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Of two minds by diegocgteleline.es · · Score: 1

      Example: Promise SX6000. Old cards work with I20, newer ones use their own interface. An open source driver is available, at least for the 2.4 kernel

      Well - linux could provide a stable kernel api and still break compatibility between "big" releases. I'd rather not use that opensource driver: It's clearly unmaintained, it'd have been ported to 2.6 or merged to the main tree if it was maintained.

    3. Re:Of two minds by lkeagle · · Score: 1

      Great! We've determined that there are several people out there that would like a binary driver API!!!

      Now go write one!!!

      People complain about the linux kernel developers about being apathetic to this, but that's their right. If you write a driver API, then YOU are now a linux kernel developer, and have equal say. You just have to be the one to maintain it.

    4. Re:Of two minds by Skapare · · Score: 1
      As someone who has tried to install various Linux distributions on RAID cards, and has had difficulty getting installers to use even third-party open-source drivers*, I'd love a binary driver API.

      And how would this have been any easier if the driver were closed source?

      At least with an open source (and GPL) driver, the opportunity to roll it into the main kernel tree exists. Then it should be rather easy to get it enabled and installed under various distributions, as well as making a solid kernel with that driver compiled and linked in. You get no such advantage with closed source drivers. And there is no guarantee that the driver maker's installation tool will even work right in all distributions that use the same common Linux kernel.

      I have had occaisional problems like you describe. Building a custom kernel with the drivers compiled in (not as modules) always solved them.

      --
      now we need to go OSS in diesel cars
    5. Re:Of two minds by Kelson · · Score: 1

      And how would this have been any easier if the driver were closed source?

      Did I ask for closed source? Go ahead, re-read my post. I'll wait.

      No, I didn't ask for a closed source driver. But a stable binary API would allow the vendor to provide a single forward-compatible driver disk image instead of a bunch of disk images tied to precise kernel versions. And if they don't feel like keeping up with every new version of SuSE, Mandriva, Fedora, Slackware, etc. that comes along, I don't have to install a 2-year-old version.

      Think of it this way: Let's say you have Apache and PHP, which you're running as mod_php. If you have to do a minor upgrade to Apache, you usually will not have to recompile PHP. When Apache does change thir ABI, they tell you in the release notes. That's a stable ABI, and open/closed source has nothing to do with it.

      With Apache and PHP it's a convenience, but with the Linux kernel and drivers, you can run into situations where you could easily *run* a system using a custom kernel, but it's damn near impossible to *install* it.

    6. Re:Of two minds by justins · · Score: 1
      As someone who supports free software, and has struggled with NVIDIA's video drivers (and they're at least trying to meet us halfway by making it as easy as possible to install their closed-source driver under the current system) I can see the negative consequences of encouraging binary-only drivers.

      Well, you sure misunderstood the situation.

      The "negative consequences" you struggled with are due to Nvidia having to hack around Linux's lack of a binary interface for drivers. Nvidia's stuff installs fine on Windows and I don't hear a lot of complaints from my OS X-using friends.

      Having to update your drivers when you update your kernel is a stupid, Linux-imposed necessity that just doesn't exist on most other modern OSes. It's not a shining victory for open source.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    7. Re:Of two minds by Skapare · · Score: 1

      You mean SuSE, Mandriva, Fedora, and Slackware have been modifying the driver APIs? OMG! I was not aware of this. I'll have to switch to Debian where I can get a pure unmodified Linux kernel which really don't change the API all that much .

      Well, at least Windows has been using the same API for all its drivers since the Version 2.0 release (the first one I ever used on an Intel 80286). Yeah, right.

      BTW, actually I'm not really affected by the distribution I use, since I download pristine kernel sources and compile it using a gcc that recompiled itself 3 times. I also leave out module support for security reasons, and so only drivers that come in the kernel, or that I can add at the source level, ever get used. If I can't see what it's doing, it isn't going to be doing anything on my machines. That means not using binary drivers, whether closed source or not. If you also give me source code for a driver that is in binary, how the hell am I to know you really compiled that binary from that source?

      --
      now we need to go OSS in diesel cars
  19. Yes by Gaima · · Score: 1

    As long as it's isolated enough from the kernel proper so that it would be *really* hard for the driver to crash the kernel, then for greater adoption in all areas, a stable binary interface is a Good Thing.

  20. Why Bother? by Anonymous Coward · · Score: 0

    Companies can whine, "But, but, open sores!" all they want, but the real reason certain things don't get drivers until a bunch of crack/coffee fiends go nuts with gcc is that there's not all that much profit in supporting Linux for said companies.

    Anything fun and happy and required on the server end is pretty much taken care of. Anything else (such as dollar-store-brand commodity crapware)... Well, that's what you get for buying crap hardware. Linux, she is doink you a favor, da!

    I have non-working hardware under Linux. I have a Plextor 712SA DVD burner. An optical SATA* drive. Win2k insisted it must operate in PIO. Linux refuses to recognize it, even with the assorted kernel hacks which - even if they worked, people tell me would leave it unable to burn discs. The only OS I've seen it work under is Win XP. Har.

    Toss in a driver layer. Would I expect to see Plextor rush to create Linux drivers?

    Sure! Right after pigs fly, Google takes over the world with an impressively large military force, and I rescue Bill Gates from a burning car and he gives me $20.

    * Not really, but that only adds to the problems!)

    1. Re:Why Bother? by petermgreen · · Score: 1

      if you are picking hardware for a linux box (e.g. you aren't just buying shit and hoping it works or trying to install on existing) the biggest problem driver wise seems to be 3D graphics. Its a two horse race and afaict neither really has drivers availible that are both good and opensource.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:Why Bother? by picklepuss · · Score: 1

      Thank god I didn't buy one of those. I was going to, but I wasn't sure of support. Then I thought carefully about it and I decided I wouldn't be able to make adequate use of the SATA architecture since the device has a fixed read/write speed anyway.

      Just because you can... doesn't always mean that you should

  21. Binary drivers should be outside the kernel by Animats · · Score: 2, Interesting
    Drivers outside the kernel should be fully supported, at least for USB, FireWire, and printer devices. There's no reason for trusted drivers for any of those devices, since the interaction with memory-mapped and DMA hardware is at a lower, generic level.

    Actually, all drivers should be outside the kernel, as in QNX, and now Minix 3. But it's probably too late to do that to Linux.

    1. Re:Binary drivers should be outside the kernel by GigsVT · · Score: 1

      Those three examples are things that linux already does support drivers outside the kernel for.

      It's not too late, it's already done.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  22. As the article says, it's illegal, and a bad idea by SWroclawski · · Score: 5, Insightful

    These companies want a binary layer so they can build binary drivers.

    What people tend to forget about this is that it's a bad idea- from most every perspective.

    The Linux kernel was written as a Free Softwate alternative to the existing *nix systems.

    We have thousands of drivers in the kernel from a combination of development efforts. Sometimes a driver is written by an independant kernel developer, and sometimes it's written from the company producing the hardware, working alongside the community.

    What these companies want is to be able to have thier cake without giving back to the community. This is a very slippery slope at the least, and illegal at best, since these sorts of links to binary kernel drivers have been long known to be illegal to distribute alongside the kernel (unless special previsions are made, such as a userland driver).

    Also, binary drivers have been known to be buggy and essentially removie the kernel developers from a position where they have control over the kernel as a whole project. I won't even go into the issues associated with a possible security hole in a binary driver, or a binary driver with, for example, spyware in it.

    The arguement for it is, of course, that this might mean more drivers. This is a test of our strength as a community. Doing the right thing is harder. It means we won't have all the hardware at all times, and certainly not the newest thing. But we retain control over our computers.

    It's hard to say no, but this looks like a clear case where we have to.

  23. It's a good idea by estebanf · · Score: 1
    A driver layer will bring a level of abstraction for driver developers. This will result in earlier driver releases. This could also motivate another manufacturers to support linux.

    In fact... this world would be a better place if drivers could be "os independent".. but that's just dream :)

    --
    DON'T STEAL MUSIC!
  24. Absolutely... by PhineusJWhoopee · · Score: 0, Redundant

    ...and let's call it Kernel 2.7. ed

  25. Oh, I know by Z0mb1eman · · Score: 1

    Let's make it as hard as possible for hardware makers to develop Linux drivers. That'll help!

    OK, so the above sentence is 100% troll, and I don't claim to understand all the subtleties of this debate. But it seems to me that anything that helps Linux get more and better drivers is at least worth considering... basically, at what point does a compromise with the hardware makers become the best option?

    --
    ClutterMe.com - easiest site creation on the Net. Just click and type.
    1. Re:Oh, I know by C.+E.+Sum · · Score: 1

      > But it seems to me that anything that helps Linux get more and better drivers is at least worth considering

      The basic premise is that keeping drivers "in the tree" is the best guarantee for having more and better drivers. More, because drivers get pulled along with the tree instead of dying when companies go bust or do not support a given platform; and better because at least a sizable portion of the major kernel hackers are tired of dealing with random bugs caused by code they can't troubleshoot.

      The other reason cited for not publishing a stated binary interface is dragging around layers of compatability goop. If your driver is in-tree, we'll fix it for you instead of writing and debugging bridges.

      I understand that it's an optimization issue -- you are currently free to load binary modules into your kernel all day long. But this slope is slippery.

      I have had non-good luck with binary drivers (NForce & friends), some kernel developers seem to agree, YMMV.

      --
      -- Have you ever imagined a world with no hypothetical situations?
    2. Re:Oh, I know by jbolden · · Score: 1

      at what point does a compromise with the hardware makers become the best option?

      When the gains clearly outweigh the losses. Here we are looking at a situation with little gain (the ability for people to buy bleeding edge hardware without first checking for drivers) in exchange for a very big loss in terms of the whole Linux security model.

  26. I'm confused by CastrTroy · · Score: 1

    I'm not really that well versed on the specifics of drivers and the linux kernel. However, I was under the impression that it was possible to have binary drivers for the linux kernel. If not, what are ATI and NVidia releasing as drivers for Linux? I'm pretty sure they aren't releasing open source drivers, so those drivers must be binary.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    1. Re:I'm confused by rRaminrodt · · Score: 1

      It is, but binary drivers aren't supposed to use the GPL licence macro. This "taints" the kernel so that developers know if you post a bug report to the mailing list that you have an un-debuggable driver in your system. And you're a lot less like to be helped in that case.

      I don't write drivers, but I also belive you cann't access certain features of the kernel if your driver is not GPL. I could be remembering something wrong though.

      --
      They'll think I've lost control again and leave it all to evolution. -- Supreme Being, Time Bandits
    2. Re:I'm confused by petermgreen · · Score: 1

      afaict they are releasing an opensource stub that links with a binary driver and the linux kernel.

      this doesn't break every version like a full binary driver but is presumablly also extra work for them and it still breaks occasionally (iirc 4k kernel stacks did it).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  27. Sure, why not? by Hydroksyde · · Score: 1

    If it can be done without making the kernel unstable, I'm all for it. Open source drivers would be nice, but aren't always practical.

    Now, if drivers could be run in user space...

  28. No it's not. by NerdBuster · · Score: 0

    I don't think a Binary Driver layer should be introduced. Hardware manufacturers lose interest in products as soon as they're released. So to have the specs open and allow the community to maintain the driver as long as there's a community for it simply makes sense. It's in the consumers' best interest.

    gasmonso http://religiousfreaks.com/
  29. Hell, no! by cortana · · Score: 4, Informative

    Please read The Linux Kernel Driver Interface (all of your questions answered and then some) by the same author before commenting...

    1. Re:Hell, no! by TheRaven64 · · Score: 2, Insightful
      Well done, you've just invented the microkernel. Now go back in time to the creation of Linux, and tell Linus that he should make Linux a microkernel. To make sure he listens, you should pretend to be a respected operating systems researcher like Andy Tanenbaum.

      Oh, wait, it's been done. He didn't listen.

      --
      I am TheRaven on Soylent News
  30. The kernel has a stability problem? by khasim · · Score: 1
    Having a kernel API for drivers allows developers to stay away from the mainstream kernel.
    Yes it would. As long as it had every API they needed. Otherwise ...
    This will enhance the stability of the kernel in general and also allow hardware vendors to support Linux with less effort.
    I don't understand the first half of that statement.

    I haven't seen any stability problems in the Linux kernel in, literally, YEARS of use.

    As for the second part of that statement, maybe yes, maybe no. It depends upon the API and those other developers. Which would bring it all back down to the level of "show me the code".

    Rather than discussing this in generalities, focus on the code.
    1. Re:The kernel has a stability problem? by hackwrench · · Score: 1

      I read it as enhance the stability of the kernel with a driver written to an API, as compared to the kernel with a driver written without an API.

  31. Userspace, anyone? by ettlz · · Score: 5, Insightful

    IANAKH, but couldn't more drivers be moved into userspace (or other lower rings) --- especially for things like USB printers and miscellaneous gizmos? I think it would also be nice to not bundle thousands of drivers and support for architectures I don't have with the kernel. The kernel itself could provide a very minimal layer of hardware protection (like an exokernel?) and there'd be libraries exporting generic abstractions for particular classes of hardware. Is the context-switching penalty really so great these days? Educate me!

    1. Re:Userspace, anyone? by oglueck · · Score: 4, Informative

      For USB and Firewire that's already done. Both busses define like device classes and protocols those use. The actual devices need either no special drivers or those can be implemented in user space. Printer drivers (CUPS) are completely user space. Scanner drivers for Sane are completely user space.

    2. Re:Userspace, anyone? by 0xABADC0DA · · Score: 2, Interesting

      Instead of a binary kernel layer what linux needs is a bytecode interpreter layer... a Java-esque langage for running processes in the kernel address space.

      For a simple "find ~ | ..." over 20% of the real time is wasted just between system call overhead (~1200 cycles) and actually copying data in/out of kernel mode. That doesn't even include the time setting up the copyin/out (it has to add the instruction address to a list for the interrupt handler in case there's a fault, which might have to do a lock I didn't check). And that doesn't even include overhead of context switching time (ie 2 context switches every 4k or 16k for the pipe read/write)! There's no reason a context switch should be taking milliseconds on a modern system. It should be microseconds.

    3. Re:Userspace, anyone? by diegocgteleline.es · · Score: 3, Informative

      It's already happening for scanners and cameras (see libusb) and serial/parallel port drivers (you don't need to insert a kernel driver for your parallel port printer, do you?). You don't really need a microkernel to write driver in userspace, just export the neccesary infrastructure in a sane way.

    4. Re:Userspace, anyone? by Anonymous Coward · · Score: 0

      what I means was it should take milliseconds not microseconds, duh

    5. Re:Userspace, anyone? by cortana · · Score: 1

      You need to load 'parport' and 'lp'...

    6. Re:Userspace, anyone? by diegocgteleline.es · · Score: 1

      IOW, you need to the write the parallel port support in the kernel, but you don't need to write the support for the device attached to the parallel port

    7. Re:Userspace, anyone? by Anonymous Coward · · Score: 0

      you should have posted this in comp.os.minix in about 1992

    8. Re:Userspace, anyone? by novus+ordo · · Score: 1

      So you're suggesting...more overhead?

      --
      "You're everywhere. You're omnivorous."
  32. No Thanks, Agreed by t35t0r · · Score: 1

    If the companies are going to make it difficult for developers to fix problems with their drivers then we developers should not be obligated to make their life easier either! Let them provide userland binary drivers (e.g. like nvidia and ati) outside of the kernel. This seems to have worked fine. The only thing that doesn't work is that their drivers are broken. Who's fault is that ..the kernel's?

  33. Binary drivers are evil by poszi · · Score: 2, Insightful
    I've recently installed Linux on an iBook. No 3D acceleration, no wireless, no modem. All three drivers seem to exist (for Broadcom wireless in an ndiswrapper form) as a binary driver in the i386 world. But for PPC you are out of luck. ATI drivers and Broadcom wireless are being developed independently but they are not finished yet.

    In my opinion, binary drivers are worse than no drivers at all because they release the pressure on the manufacturer. They can say they support Linux which in case of binary drivers is simply not true.

    --

    Save the bandwidth. Don't use sigs!

    1. Re:Binary drivers are evil by Tumbleweed · · Score: 1

      In my opinion, binary drivers are worse than no drivers at all because they release the pressure on the manufacturer.

      What pressure? The miniscule desktop marketshare of Linux users provides no noticable pressure of most manufacturers as far as I can see.

    2. Re:Binary drivers are evil by radish · · Score: 1

      The other point of view, of course, is that if there was a stable driver API available for closed source, binary drivers, then manufacturers would be much happier to write drivers and so maybe your PPC drivers would exist.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    3. Re:Binary drivers are evil by Anonymous Coward · · Score: 1, Insightful

      > The other point of view, of course, is that if there was a stable driver API available for closed source, binary drivers, then manufacturers would be much happier to write drivers and so maybe your PPC drivers would exist.

      Meanwhile back in the real world Debian ships on eleven architectures, some of which these manufacturers have probably never heard of. Goodness knows how many more the kernel itself can run on. Life out on the fringes is interesting enough, without a return to the nightmare of proprietary software.

      Few closed source products come anywhere close to this level of portability, and a closed source driver means supporting only what that vendor is prepared to support, versus supporting all of them where someone is prepared to make the porting effort (or accidentally makes it whilst doing another port).

      Stable APIs for these things are very desirable, I shall write to Linus and tell him to stop changing them for no reason at all.

  34. "illegal" ? by bani · · Score: 1

    Yes, you got that right, OSDL Japan wants a stable kernel api layer so they can write binary only kernel drivers, which are just so illegal it's not even funny.

    How are binary only kernel drivers illegal? There isn't any law against binary only kernel drivers. The "L" in "GPL" means license, not law.

    1. Re:"illegal" ? by thed00d · · Score: 1

      My driver /license/ binds me to the /laws/ in my state. How is the GPL, being a license, any different?

      --
      http://www.accelerateglobalwarming.com
    2. Re:"illegal" ? by chill · · Score: 1

      My driver /license/ binds me to the /laws/ in my state. How is the GPL, being a license, any different?

      No, it doesn't. The law, as passed by your State Legislature and enforced by the people with the badges and guns, binds you. The license is just a pretty piece of paper saying you were informed of the laws and took a basic skills/law/eye test. Not having a license doesn't necessarily unbind you from the law. Try driving a car without one (and get stopped) to see how far that gets you.

        -Charles

      --
      Learning HOW to think is more important than learning WHAT to think.
    3. Re:"illegal" ? by spitzak · · Score: 1

      Violating copyright is what is illegal. The GPL is simply a license from the original copyright holder saying "it is ok to violate my copyright if you do it this certain way...".

      (none of this has anything to do with whether kernel drivers are illegal. They are only illegal if putting them in actually violates copyright and the license for Linux does not excuse it. Not sure about any of that).

    4. Re:"illegal" ? by bani · · Score: 1

      I fail to see how binary drivers would violate copyright. You aren't copying anything. License violation yes. Copyright violation no. Hence not illegal, contrary to the wild-eyed raving of TFA.

    5. Re:"illegal" ? by mabhatter654 · · Score: 1

      The core Linux Kernel is GPL, not LGPL... if you link to it in a program, you have to abide by the GPL. That's copyright law. YES, the vendors could put their drivers as binaries in user-space, but that would make them slower, or leave "holes" to see how it connects to the standard interfaces. This is all about writing drivers that can bypass kernel functions and do their own thing.. without being open or playing by the GPL.

    6. Re:"illegal" ? by bani · · Score: 1

      The GPL cannot circumvent existing law -- no license can do that. (if licenses could actually do that, then you could eg write a license which subjected the customer to indentured servitude, first born child, etc. all highly illegal.)

      The case for GPL violations of binary-only modules linking into the kernel is not so clear-cut. A binary-only module in that case violates if it is a derived work of Linux. And in the case of ATI and nvidia (and probably most other commercial binary-only drivers) they are not derived works -- they are (win32|solaris|etc) binary targets with a thin layer of linux glue. Linus made it quite clear they don't violate.

    7. Re:"illegal" ? by Anonymous Coward · · Score: 0

      and how do you plan to compile a binary driver without including copyrighted linux header files inside your driver and linking your driver against copyrighted linux libraries, thereby creating a combined work that is derived from copyrighted linux and hence a copyright violation (if you dont have a license to do that)? fuckwad.

    8. Re:"illegal" ? by bani · · Score: 1

      the same way linux implemented the posix ABI (errno.h et al) without violating copyright. unless you're saying you actually support SCO's position that linux stole it.

      linus already cleared the nvidia drivers as a derived work, retard.

  35. Whatever convinces ATI to make decent drivers.... by ShyGuy91284 · · Score: 1

    Although since they aren't part of the group pushing for it, it'll probably just allow them to half their Linux development staff by half..... Assuming there's more then one person as is......

    --
    In undeveloped countries, the consumer controls the market. In capitalist America, the market controls you.
  36. hell no by kmmatthews · · Score: 1

    It isn't just an issue of ABI compability - it's also the fact that no one but that company can then _fix_ the bugs in that driver.

    What happens when the company goes belly up in $x months, then a serious flaw is discovered in the binary driver? Whoops, guess you're just SOL. With an open source driver, you can _FIX_ the problem.

    With a binary driver, you're at the whim of the company.

    --
    feh. stuff.
    1. Re:hell no by TheRaven64 · · Score: 1
      The question is not just about the ABI though, it's about the API. At the moment, the Linux kernel API is not always compatible even between minor revisions. The result of this is that any driver whose maintainer disappears (and this happens to quite a few) will evntually stop working with newer versions. If you are using hardware affected by this, you have three options:
      1. Replace the hardware.
      2. Keep using the older kernel, which may have bugs / security holes (hence the reason for the new one).
      3. Maintain the driver yourself.
      For the community, three is obviously preferably, however I doubt many people have the skill to do this.

      Having a stable keernl API helps open source developers as much as it helps closed-source devlopers, if not more. An open source developer is often maintaining their code in their free time, and so the less make-work they have to do, the more real work they can have to do. Changing their driver's interface because someone decided to break the API between version x.y.z and x.y.z+1 definitely counts as make-work.

      --
      I am TheRaven on Soylent News
  37. Fuggitaboudit by butterwise · · Score: 0

    If that's what they want, then here is a site which might interest them.

    --
    If a baby duck is a "duckling," why would anyone want to eat "dumplings?"
  38. uneccessary by Pr0xY · · Score: 1

    it seems to me that this is uneccessary and nvidia has proved it. The have "binary" drivers and supply there own open source layer to provide the glue between their code and the kernel. All we are really talking about is a small layer inbetween the kernel and the driver to provide a "stable" (as it unchanging) interface. So bottom line is that this is simply a wrapper for the existing API. Well, just do what nvidia does, make the code that interacts directly with the kernel open source and proivde the API you need, then just make your binary link to that and interact with just that. Works pretty well. Yes, it would be nice if this was standardized, and could possibly save some people a little bit of time, but thre actual gain seems to be minimal (i've written drivers for linux before, not THAT much changes from release to release as far as the code your module will use goes).

    proxy

    1. Re:uneccessary by Khashishi · · Score: 1

      And why should every manufacturer have to build their own open source layer (which they need to update with new kernels)? This is about creating a standard open source layer, which will work with all manufacturers. And the manufacturers don't have to worry as much about kernel changes, if they don't actually involve changes in the API.

  39. Re:Stability like that leads to stagnation and dea by elmegil · · Score: 1
    Yeah, that Goddamn DTrace thing in Solaris, how could they come up with that and have a stable kernel API at the same time?

    Note I'm not talking about SUN'S stagnation, I'm talking about their OPERATING SYSTEM which is alive and well.

    --
    7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  40. GO FOR IT by Eugenia+Loli · · Score: 1

    As a user, the last thing I want is hunting down drivers that will work with the X or Y kernel version. I want driver COMPATIBILITY. I want EASE OF USE. I want to do LESS WORK in my Linux desktop. I want to be fully UP and RUNNING, after a kernel upgrade.

    And this is one of the things that's gonna help me achieve all this, as a user. Sure, it's going to be hell for developers having to test each time that nothing got broke duing a new release, but I don't really care. The user must have the convenience, not the developer.

    If the linux developers don't like that, well, they are on the the wrong profession.

    1. Re:GO FOR IT by croddy · · Score: 2, Interesting
      As a user, the last thing I want is hunting down drivers that will work with the X or Y kernel version.

      Having to "hunt down drivers" is an artifact of the old third-party binary driver world. When hardware specifications are available to developers, those developers can add the hardware support to the kernel -- which means it ships with the distribution.

      If there's one thing you'll guarantee by providing a binary-only driver interface, it's that you'll have to spend a lot of time hunting down drivers.

    2. Re:GO FOR IT by Eugenia+Loli · · Score: 1, Insightful

      Some manufacturers don't want to give away their specs or source code. They will always give binary drivers, like nVidia or softmodems. As a user, I want to be sure, 100%, that these drivers will work out of the box, even if, let's say, I run kernel 2.6.24 while the driver was written for 2.6.15. Right now, I don't have this guarantee. And as a user, I need it.

    3. Re:GO FOR IT by croddy · · Score: 2, Interesting

      In that case, I would prefer that you use some other OS and not try to influence the direction of Linux development. I am quite happy with the driver situation exactly as it is, and I am not interested in giving up any ground to closed-source drivers -- it is far better to have a choice of three wireless cards with open software than thirty with closed software.

    4. Re:GO FOR IT by Eugenia+Loli · · Score: 0, Flamebait

      You are telling me, that I need SPECIAL supported hardware to run Linux with its 'Free as in Freedom' drivers. And if I don't have that hardware, I better buy it, or no cake.

      So, what you are telling me in other words, is that Linux is more expensive to run than Windows.

      If that's the case, I spit on the general direction of the "Free" nature of Linux. I prefer it to also be as much free as in beer too in order to switch over. And from what you are telling me, it is not really cheaper than Windows. It has special needs, needs that are not always possible to satisfy (e.g. with laptops).

      Look, Linux is an operating system. It's supposed to operate and help people do their WORK. Adding philosophical crap on something as flat as "computers and operating systems", is just laughable. The best operating system is the one that WORKS with the smallest needed effort. Windows does that pretty well. If Linux needs special extra work and purchase of extra hardware, then it's not a good operating system (from a user's point of view). Users don't care about the source code. Users want a working machine and OS.

      If you are telling me that Linux is for programmers and geeks only (as logically concluded above), then it's an elitistic OS, and indeed, we all better stay away from it, and let it enjoy its 1% of market share. Then we will all be happy. Plain users will simply ignore it and elitists will live happy in their Linux dreamland of the few.

    5. Re:GO FOR IT by Draknor · · Score: 2, Informative

      Look, Linux is an operating system. It's supposed to operate and help people do their WORK. Adding philosophical crap on something as flat as "computers and operating systems", is just laughable. The best operating system is the one that WORKS with the smallest needed effort. Windows does that pretty well. If Linux needs special extra work and purchase of extra hardware, then it's not a good operating system (from a user's point of view). Users don't care about the source code. Users want a working machine and OS.

      You make some good points - but having a stable API/ABI doesn't resolve them.

      Right now, the Linux market doesn't seem to have enough pressure to force driver manufacturers to spend resources developing drivers for it. That's not going to change if Linux provides a stable driver API/ABI. What it will do is lower the barrier to providing a closed-source driver. Some may think that's a good thing, but there's enough evidence in this conversation & its links to suggest otherwise:
      1. If you let manufacturers produce a closed-source, binary driver, that's what they'll do.
      2. If they produce a closed-source, binary driver, it'll only work on a specific version of Linux, for a particular architecture, since binary compatibility depends upon the compiler & compiler options being used.
      3. Manufacturers still won't put more resources towards driver development, so you'll get a bunch of half-assed drivers with bugs that now live in kernel space, with the potential to crash your system (ala Windows BSOD)
      4. You also get a bunch of unknown binary code running on your system in kernel space, meaning security flaws in those products can now compromise your entire system. And then we can't fix kernel security bugs, because that might break binary compatibility.

      So, allowing binary drivers gives no real advantages over the long-term. Companies that care about Linux can and do produce Linux drivers. Companies that don't, won't. I see no advantage to making it easier to produce Linux drivers for companies that don't care about Linux - all that will do is give Linux a bad name as companies with faulty drivers pollute users' machines, and make it more difficult for kernel hackers to debug problems due to bad binary drivers.

    6. Re:GO FOR IT by croddy · · Score: 2, Insightful
      Users don't care about the source code. Users want a working machine and OS.

      When the source code is available for modification, *everyone* benefits, whether they're reading it, hacking it, or just using precompiled binaries. When I need something new in software, I may not be able to code it myself, but I can put it in bugzilla, where others in the community can discuss it, assign it, and eventually implement it.

      Of course the process is not perfect. It is a human process. That is part of its appeal -- the community supports its own software, rather than relying on a company to pump out binaries... who may not be around next week.

      There is nothing elitist about saying that I am perfectly satisfied with what Linux provides, and there is nothing wrong with valuing the freedom that its open nature gives to all users -- remember, those freedoms benefit them whether they read the code or not.

      From this user's point of view, the extra freedom, stability, and community that Linux provides are well worth the wide selection of ordinary hardware -- at ordinary prices -- that I choose to run it on. For me, the value of an operating system is that it provides a platform which offers freedom to me and to my community while we do our work. Putting off-brand generic wireless cards with quick-hacked binary-only drivers into a system does not help me do my work -- even on "supported" systems, that has usually just given me a headache and required a trip back to the shop -- and it would probably force some compromises in the freedom we value.

      For you, it seems that an operating system is nothing more than a collection of software to be used unmodified and unexamined, while you do other tasks, without the need for a community to support you if you need to change it. Those needs are perfecly valid, and perfectly incompatible with the Free Software movement. I would be happy to help you select and purchase such a system from one of the many vendors who will sell it to you. You'll be able to plug cheap hardware with crashy drivers into it 'til your heart's content. For support, you'll be able to call the company, whom you'll soon find have invested even less in support than they did in the cheap hardware.

      And if your needs should change, our community will still be here, and we'll be glad to help you find a system that meets them.

    7. Re:GO FOR IT by Eugenia+Loli · · Score: 0

      Sorry pal, but I am not so stupid to fall by your advocacy. I used various Linux systems since 1998 and FreeBSD occasionally. Nothing beats Windows XP in stability. Sure, you must be careful with virus and spyware (I never had such cases on my own computers btw) and if you are careful enough to only use Microsoft's certified drivers (and maybe a few extra ones from good sources, like nvidia's or Ati's or Creative's), you don't need the "help from the community" or the "paid help from Microsoft". I never needed anyone to fix anything for me. And if I had a question about something, Google did the job wonderfully.

      I only had a single crash with XP since 2001. I had way more with Linux than with XP over the years. Additionally, XP requires less memory and it's spiffier than any KDE/Gnome Linux distro.

      So, no, I don't need the source. I just need something that generally works with its "factory settings". You can't beat XP for that.

    8. Re:GO FOR IT by croddy · · Score: 2, Interesting
      Your list of technologies and dates is marginally impressive -- but I do not see how it relates to the issue at hand.

      Since the Linux community has clearly not provided a system that matches your needs, I will again ask that you do not attempt to interfere in its development by advocating changes that could end up dumping binary drivers on us. We do not want them. We do not want what they will bring to our system.

      I am glad your experience with Windows XP has been so positive. Hopefully you will continue to use it rather than attempt to subvert the Open Source movement with your incompatible agenda.

    9. Re:GO FOR IT by Eugenia+Loli · · Score: 1

      Too bad for you, I am also a geek. Meaning that, a few times a month (depending on the moon and sun coordination), I wanna use different OSes. Linux is one of them. And I would much love it if it was to work effortessly.

      And btw, I don't think that whatever you or me says will make any difference. The Linux kernel is ultimately driven by companies and powerful individuals. It's not the innocent true community project it was 12 years ago. We have no say, we can only wish (and maybe file a feature request just for the record).

      So, drop the lame "go back and play with your own toys" kind of replies. It's like asking me to not drink (free) tap water whenever I feel like it, just because I admitted that Evian is better. ;-)

  41. Re:Stability like that leads to stagnation and dea by msormune · · Score: 1

    This flexibility is also a great method for introducing hilarious new bugs to kernels, because it is way too easy to change stuff around. And you are missing the point. How can you update your drivers if there are no drivers for a certain piece of hardware? Several vendors are simply not in a position to release source code for their equipment, because of licensing issues and such. Even if they wanted. And Linux kernel has been in development 15 years. That's not a breathtaking speed in my book. How many false steps have been made because of sudden changes in kernel design? Also, you should note that it might be easier to craft open source drivers for closed source ones, if the closed source drivers implemented a common, well known and documented interface.

  42. If it allows greater hardware support... by Orkie · · Score: 1

    If it allows greater hardware support then yes. Maybe more manufacturers would be interested in developing Linux drivers if they didn't have to release new ones for every kernel version, regardless of whether or not the actual driver does anything new.

    To combat drivers causing the entire system to become unstable, the kernel could have a built in mechanism to unload these binary drivers if they start misbehaving and replace them with a safe, generic driver included in the kernel.

    Would this stable API need to actually be in the kernel itself if the kernel developers are against it? Couldn't these companies start a separate project which can maintain it is they really think that it is needed? Then the main kernel developers wouldn't need to worry about breaking compatibility as this separate project would fix it at their end.

    I don't think that binary compatibility between kernel versions would be needed (though no doubt hardware manufacturers would appreciate it) so as long as the source compatibility is maintained, it will be easy for manufacturers to support new kernels: all that will be required is a recompile (their installer could determine the correct version to download).

  43. Put it in userspace by Kjella · · Score: 1

    Should they change their mind, they shouldn't provide a binary interface. They should provide a standard kernel-to-userspace bridge. Yes, they will take a penalty hit from context switches, no they will not be able to make the kernel unstable. Make sure that binary drivers are second class citizens. Though I don't understand why this would be a better idea now than one year ago or five years ago. It's a short-term gain sacrificng a long-term strength. I'm sure stockholders looking at next quarter would, I'm sure the kernel developers won't.

    --
    Live today, because you never know what tomorrow brings
  44. Absolutely by WombatControl · · Score: 4, Insightful

    One of Linux's biggest problems is the lack of device drivers for common devices, especially newer video cards. Let's face it, companies like ATI and NVIDIA aren't going to release fully open-source drivers. It would be wonderful if they would, but it would also be wonderful if we had flying cars.

    Having a stable binary driver interface would make it easier for hardware manufacturers to embrace Linux, give things like wireless chipsets more usability on Linux and drive further adoption of Linux as a viable competitor to more proprietary solutions

    The perfect is the enemy of the good, and the more Linux gains a foothold the better it is for open source. Insisting that device manufacturers need to have on-staff kernel hackers in order to keep ahead of a frequently-changing kernel makes it that much harder for manufacturers to support Linux as a viable alternative.

    Provided Linux can have a stable binary driver infrastructure that doesn't harm stability, it would greatly help in the adoption of Linux worldwide.

    1. Re:Absolutely by tomstdenis · · Score: 1

      It furthers the fundamental problem that you should have access to the working specs. What happens when you buy a 100$ card or something and the company folds [or stops the product line]. You get no support.

      You're either forgetful or too young to remember the day when things were a bit more open. The IBM PC was a standard for computers for a reason. It gave everyone an "in" to work on software, hardware, etc.

      e.g. if your UART was 8250 compliant it meant you could replace some other vendor when a customer looks for a serial port or modem add-on.

      Now it's just "we do our own thing, here is a buggy binary driver that may work". Remember the drivers work in the kernel space. And these are the same half-breeds that think ".net is an improvement in the software development world". It's bad enough having them in userspace let alone kernel. [* to be fair I don't consider myself a kernel developer either, there are a lot of things to keep in mind there like entry conditions, RACE conditions, latency, etc].

      I'd rather see vendors embrace standards ALL WHILE countries embrace fair wage laws. If a modem really does cost 100$ when you pay the employees proper instead of 5$ then it costs 100$.

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:Absolutely by Wylfing · · Score: 1
      Having a stable binary driver interface would make it easier for hardware manufacturers to embrace Linux, give things like wireless chipsets more usability on Linux and drive further adoption of Linux as a viable competitor to more proprietary solutions

      Yay! So then we can have a widely-adopted non-free OS that dictates to you how you will use it!

      --
      Our intelligent designer has never created an animal that we couldn't improve by strapping a bomb to it.
    3. Re:Absolutely by ocularsinister · · Score: 1

      Wireless chipsets is a case in point: I know some manufacturers would love to release Linux drivers for their wireless network cards but can't because it would be too easy to tweak the driver to break FCC power/spectrum rules. If they did release an open source driver, they would be forced to take their product of the market.

    4. Re:Absolutely by Creechur · · Score: 2, Insightful

      Insisting that device manufacturers need to have on-staff kernel hackers in order to keep ahead of a frequently-changing kernel makes it that much harder for manufacturers to support Linux as a viable alternative.

      No one is suggesting that companies shoulder the additional burden of constantly updating their drivers - that is taken care of for them automatically once they submit the driver to mainline. This is only an issue if the manufacturer refuses to do so, e.g. for a binary driver, or for separately maintained source. The former is considered unacceptable by most kernel developers, and the latter doesn't seem to have any benefit to the company.

      The only people who should be clamoring for a stable source-level API are the kernel developers themselves, since they're burdened with the work of updating drivers when an interface changes.

    5. Re:Absolutely by freedom_surfer · · Score: 2, Interesting

      Have you ever tried to use an older windows binary driver with a newer version of windows? It doesn't work so well. Do the hardware manufacturer ever go back and pump out a new driver for newer windows? Rarely. Only in the case of very popular products, and often its Microsoft who necessitates this. Now contrast that with linux. Linux runs fantastic on older hardware...rarely will a piece of hardware be supported in an older version of Linux and not work on a newer rendition. Granted, new hardware in Linux often lags behind driver support in Windows, however, this is not because of any inheirit problem with Linux, its an inheirit problem with IP and how companies protect said IP. If you want good open source driver support, then only buy from companies that embrace the concept. A company makes NO commitment to your long term support if they weld the hood shut on you. Also, is hardware obsolete because the company that made it disappears or no longer provides a driver for the device? Of course not. But, in actuality, it does, often through planned obsolesence.

      (Am I the only one with a 8-bit soundblaster? JK =P)

    6. Re:Absolutely by Anonymous Coward · · Score: 0

      Insisting that device manufacturers need to have on-staff kernel hackers in order to keep ahead of a frequently-changing kernel makes it that much harder for manufacturers to support Linux as a viable alternative.

      Windows Vista, or at least some future version of Windows is getting an updated driver interface, or a wrapper of some sort. What's the difference between having a Windows kernel/driver developer and a Linux kernel developer and a Sun kernel developer on staff? Well, probably the biggest thing is that the idiots who sell cheap ass hardware won't be able to afford to do that anymore. Good riddance to bad rubbish.

      On the other hand, why is everyone so keen on a binary interface? Wouldn't a set of wrappers around the actual kernel interface be a lot better? Then driver writers could just write against the standard interface and their drivers would work with new kernels and new processors with just a recompile. Oh, wait, that's what we have now! If anything, we should just improve the compatability of the existing interface.

      If vendors don't want to release specifications for their hardware, it implies they're trying to get away with advantages that don't really fit in a free market, anyway. They're relying on hiding silly secrets to keep prices artificially high, despite the fact that most of the technology is well known and studied by the academic world. Does nvidia *really* have some new magical form of linear algebra that lets them do graphics better? No, it's just some clever munging of data and optimization. There's no reason to hide the interface to the hardware behind proprietary hidden binary stuff.

    7. Re:Absolutely by diegocgteleline.es · · Score: 2, Informative

      Having a stable binary driver interface would make it easier for hardware manufacturers to embrace Linux

      You might aswell read the greg's blog. Linux can't have a stable binary interface unless you: 1) lose performance (WDM-like interfaces come with a cost) or 2) lose freedom to configure your kernel (you don't allow to change some of the current kernel options like ej: regparm)

    8. Re:Absolutely by radish · · Score: 1

      Sure, driver versioning used to be a problem. Not so anymore, with the advent of WDM. Any WDM driver will work on any WDM OS (here's where someone interrupts with an exception!).

      As for support of legacy devices, I've actually rarely had an issue. I have a 7 year old video capture card that I originally ran on Windows 95, it still works just fine on XP. I have similar vintage video cards, I can still download drivers for the latest Windows versions directly from the manufacturer. In the case on one where the manufacturer went bust (Hercules) the driver is actually supplied with XP. Even if that wasn't the case - a 7 year old video card can be replaced with something new costing $30 and probably performing better.

      So in theory, sure, closed source binary drivers can lead to legacy support problems. In reality, not having open source drivers for commodity hardware poses a MUCH bigger problem for most people.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    9. Re:Absolutely by cortana · · Score: 2, Informative

      A perfect example of FUD. Who forced Ralink off the market after they released Linux drivers for their 802.11 cards?

    10. Re:Absolutely by et764 · · Score: 1
      One of Linux's biggest problems is the lack of device drivers for common devices, especially newer video cards. Let's face it, companies like ATI and NVIDIA aren't going to release fully open-source drivers. It would be wonderful if they would, but it would also be wonderful if we had flying cars.


      I've never understood why it is so important to hardware companies to keep their driver source code secret. I understand for software companies, since this is there product, but hardware companies I thought sold hardware. If the source code for some piece of hardware were freely available, I wouldn't think the company would lose too much money because their driver code is pretty useless to me unless I go buy the hardware from them. You can download drivers in binary form for free from most companies anyway, and they don't lose any money because the driver's aren't useful without their hardware.

    11. Re:Absolutely by spitzak · · Score: 1

      That is total bullshit. You can go to your local electronics store and buy $10 worth of parts and solder them together and violate FCC regulations. Yet the electronics store is not illegal, and there is documentation about how all those parts work.

    12. Re:Absolutely by bfields · · Score: 2, Insightful
      Insisting that device manufacturers need to have on-staff kernel hackers in order to keep ahead of a frequently-changing kernel makes it that much harder for manufacturers to support Linux as a viable alternative.

      They have on-staff kernel hackers right now. (Unless those ATI and NVidia binary drivers I keep hearing about are written by the Linux Kernel Fairy.)

      Merging their code with the mainline linux kernel should allow them to share their maintenance burden, not increase it....

    13. Re:Absolutely by corngrower · · Score: 1
      I disagree with you. Your reason for supporting a standard driver interface is that it makes it difficult for companies to provide Linux driver support. It is not necessary for the device manufacturers to provide Linux drivers. They only need to provide the documentation for their hardware interfaces, which I'm sure the companies already have internally. This would allow the open source community to develop Linux drivers for the boards.

      The hardware companies want to keep information on the hardware interface a secret, as they fear their competitors will be able to gain advantage by knowing this information. But by doing so, they force themselves into the necessity of writing a driver for each operating system/processor that they intend to produce boards for. Historically, this was not the case. When someone bought a chip, they could also get the information needed to write software that uses the chip.

    14. Re:Absolutely by Chirs · · Score: 1

      Nvidia has stuff from other companies in their drivers, so they are not allowed to release the source code.

      Many companies believe that if they release the hardware specs then other vendors will be able to copy them cheaper. Of course, those other vendors can already reverse-engineer the hardware directly (I have a friend that does this for a living) so I don't know how much of an argument this really is.

    15. Re:Absolutely by macshit · · Score: 1

      What it comes down to is this: The main linux kernel hackers know all the pros and cons of having a "stable binary driver interface" -- and have explicitly rejected it. They've decided that, for them, the cons outweight the pros, and they value flexibility (of development), performance, and the promotion of open interfaces, over making closed-source driver writers happy.

      You can argue all you want, but it's very unlikely you're saying something the kernel developers haven't already heard -- and rejected.

      Personally I think they're right too: the high-handed approach may be more painful for some people right now, in the short-term, but in the long-term, it's going to lead to more open hardware. Hardware manufacturers won't get any less paranoid, clueless, and butt-headed of course, but even the worst of them will eventually notice the writing on the wall (or at least the steam roller they're about to get flattened by).

      --
      We live, as we dream -- alone....
    16. Re:Absolutely by mabhatter654 · · Score: 1

      The problem is that the vendors could get together and override half the kernel making all your hardware only work with their drivers.. and use the DMCA to stop you from writing Open Linux drivers!!! Nvidia walks a fine line with theirs trying to keep them closed, but keep them legal.. it can be done, these companies just don't want to...

    17. Re:Absolutely by justins · · Score: 1
      Personally I think they're right too: the high-handed approach may be more painful for some people right now, in the short-term, but in the long-term, it's going to lead to more open hardware.

      We've already lived the long-term, and it hasn't happened that much. Anything that leads to increasingly open hardware specifications is going to involve a change, since we've been at a steady-state for a while now with the current approach.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    18. Re:Absolutely by justins · · Score: 1
      Nvidia has stuff from other companies in their drivers, so they are not allowed to release the source code.

      Many companies believe that if they release the hardware specs then other vendors will be able to copy them cheaper. Of course, those other vendors can already reverse-engineer the hardware directly (I have a friend that does this for a living) so I don't know how much of an argument this really is.

      In the case of ATI and Nvidia that is not really the issue. ATI relies on the DRI architecture, which sucks. If Nvidia were to release their GLX as open source ATI would adopt it and Nvidia would have given up a huge competitive advantage. It is in their commercial interest for ATI's drivers to continue sucking.

      I don't buy the "stuff from other vendors" thing, Nvidia could buy SGI outright with their pocket change. The original Nvidia Linux drivers were a cooperative effort between Nvidia, SGI, and VA Linux. Nvidia doesn't have a lot of expensive commitments left in those drivers.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    19. Re:Absolutely by macshit · · Score: 1

      We've already lived the long-term, and it hasn't happened that much. Anything that leads to increasingly open hardware specifications is going to involve a change, since we've been at a steady-state for a while now with the current approach.

      This is not true. Linux has been around for a long time, but only recently has it started to truly take fire. In particular in the last few years it's started to supplant traditional embedded operating systems; in the future, the increasing sophistication of its end-user support will lead further adoption on the desk top and in other more mainstream systems.

      It's these latter two categories which will force it to be noticed by hardware manufacturer -- they can easily ignore a few nerds, but it's much harder to ignore giant mega-corporations and zillions of consumers.

      --
      We live, as we dream -- alone....
    20. Re:Absolutely by justins · · Score: 1
      Linux has been around for a long time, but only recently has it started to truly take fire. In particular in the last few years it's started to supplant traditional embedded operating systems; in the future, the increasing sophistication of its end-user support will lead further adoption on the desk top and in other more mainstream systems.

      This could have been written five years ago. People were saying the same stuff.

      It's these latter two categories which will force it to be noticed by hardware manufacturer -- they can easily ignore a few nerds, but it's much harder to ignore giant mega-corporations and zillions of consumers.

      Hardware vendors do cater to business users. Look at it this way: hardware and software vendors have learned that catering to Linux in the server room can make them some money. Hardware and software vendors have also learned that catering to Linux outside the server room is unlikely to make them much money.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  45. When? by Tony · · Score: 1

    basically, at what point does a compromise with the hardware makers become the best option?

    When the hardware manufacturers are willing to compromise.

    The best solution is for them to develop a kernel module and submit the driver for acceptance into the mainline kernel. The manufacturers would like to be able to release binary-only drivers. This means they are not available for Linux-- they are available for a specific build of Linux (say, x86), and not available for other architectures (ARM, PPC, any other non-supported architecture).

    A compromise would be this: the manufacturers release full specifications to their hardware interfaces and allow third parties to develop kernel modules. *That's* compromise, where both parties give something, and receive something in return.

    Going with a full binary API doesn't solve the Linux problem of lack of support. It solves the manufacturers' problem of not having a "Linux support" checkbox.

    --
    Microsoft is to software what Budweiser is to beer.
    1. Re:When? by TheRaven64 · · Score: 1
      Imagine a potentially willing, but skeptical hardware manufacturer. They don't want to release specs - if they did, and someone else wrotte he driver, then they would have to support it, and supporting something someone else wrote isno fun at all. They have a month or so of programmer time they can devote to the project - enough to write a fairly bug-free driver for their simple hardware interface. Once that's done, however, they can't afford to invest much more developer-time in it - enough to fix bugs, not much more. If they release an open source driver for Linux at the moment, then a week later someone could come along and break the API they use. They know they don't have enough man-power to fix this, and they don't gain anything by stopping supporting their driver after a few minor kernel revisions. The only remaining option? Don't release a driver. So they don't.

      In this scenario, everybody loses. Except Sun - they hae a stable driver API for OpenSolaris, so the hardware manufacturer decides to write the driver for that instead, and tell people asking aboug linux support that they should run OpenSolaris instead.

      --
      I am TheRaven on Soylent News
    2. Re:When? by PitaBred · · Score: 1

      Why would they have to support it? I don't see anyone but kernel developers supporting the drivers in the kernel. That's why this is a COMPROMISE. They let the kernel developers deal with it. If they really want some good will, they contribute some code themselves.
      The hesitant company is just trying to keep others out of a game the others don't even know they're playing.

    3. Re:When? by spitzak · · Score: 1

      If they release an open source driver for Linux at the moment, then a week later someone could come along and break the API they use. They know they don't have enough man-power to fix this, and they don't gain anything by stopping supporting their driver after a few minor kernel revisions...

      You seem to have missed an important fact:

      If they released an open source driver, they DONT HAVE TO DO ANYTHING!!!! If some Linux developer breaks the API, and somebody cares about their hardware, then that someone will fix their driver. In fact the cheapest way to handle a driver you have developed is to release it open source and then ignore it.

      The only thing cheaper is to not write the driver in the first place. I suspect this is the real reason there are no Linux drivers. Saying "we don't want to release secret information" is just an excuse, when the real reason is that they see not enough benefit in writing any kind of driver or even typing up a document saying what the API does.

      It also appears that any driver written for Windows requires an NDA from Microsoft. Otherwise a nearly-free way of supporting Linux would be to open-source the Windows driver and say "you guys figure out how to translate this for Linux".

    4. Re:When? by TheRaven64 · · Score: 1

      No. If a manufacturer claims their product works with a given OS it is their legal responsibility to ensure that it does. If they release a driver, and claim to support Linux, then they are required to continue to support Linux for as long as they continue to advertise Linux support. If a company buys 1000 of their product and finds that they can't upgrade their kernel without it breaking their driver, then they will sue. And they will win. Gambling that someone in the community will pick up a driver they release and maintain it simply would not fly at the shareholders' meeting following the lawsuit.

      --
      I am TheRaven on Soylent News
    5. Re:When? by spitzak · · Score: 1

      Thats total bullshit. It is not the manufacturer's responsibility if the Linux authors change things.

  46. Why do so many people miss the point entirely? by Anonymous Coward · · Score: 0

    I can't believe that I'm seeing so many responses in support of binary-only drivers for the Linux kernel. Do you know what Linux is? Do you use it? Is part of the reason you use it the exceptional stability it offers?

    Put two and two together, cretins.

  47. What does it matter what 90% of slashdotters think by djsmiley · · Score: 1

    Why on earth did they bother asking us what we think at the end of the artical, i mean how many of us actually know exactly what this would mean. Yes the site explains it but still to most slashdotters, its irrevent what we think should happen.

    Karma to burn and in a bad mood :o

    --
    - http://www.milkme.co.uk
  48. Re:As the article says, it's illegal, and a bad id by bheading · · Score: 4, Insightful

    But we retain control over our computers.

    Tell me, what BIOS do you run ? Do you have the source to the firmware in your IDE disk drive ? In your CD-ROM/DVD-ROM drive ? Do you have the source to your SCSI controller's firmware ?

    If you think you have control over your computer you are suffering under a delusion.

  49. It's much worse than that... by HotNeedleOfInquiry · · Score: 5, Insightful

    If a company is developing an embedded Linux ap for their own hardware. All of a sudden, all of the communications with the board-specific hardware is being done through binary drivers, resulting in an effectively closed system.

    No more hacking WRT54G's for you, chump.

    --
    "Eve of Destruction", it's not just for old hippies anymore...
    1. Re:It's much worse than that... by Shaiken · · Score: 1

      Actually it's quite possible to prevent the common hacker from doing anything to an embedded device while still respecting the GPL.

      I work for an embedded software company, and we use a custom bootloader which checks the software for the correct digital signature. Without our private key it's impossible to change the sofware on the device (short of actually removing and reprogramming the flash chip).

      If (more like when) we distribute a linux based device we can distribute the full source code and you still can't change the software on the device.

    2. Re:It's much worse than that... by stecoop · · Score: 1

      No more hacking WRT54G's for you, chump

      Go read wrt54g about v5 of the hardware. The new OS is proprietary so binary drivers or not, hacking may have already ended for that hardware...

    3. Re:It's much worse than that... by Anonymous Coward · · Score: 0

      checks the software for the correct digital signature Do you work for MS? Sounds kind of like on a Xbox? We all know that you cant modify that either.

    4. Re:It's much worse than that... by Anonymous Coward · · Score: 0

      yeah, and im sure a stupid linux router would get the same hacking attention that a profitable piracy hack like the xbox... moron

    5. Re:It's much worse than that... by pilsner.urquell · · Score: 1
      Re:It's much worse than that...

      No, actually I believe it's even worse that what you believe. IMHO this may be a ploy by these companies to get there hooks into Linux and FOSS. After a few years of supporting these new drivers they may try to leverage Linux's now dependence on them for profit.

    6. Re:It's much worse than that... by Fordiman · · Score: 1

      >_> Or a large number of kernel-hackers modifying their kernel slightly to catch all traffic going from the kernel-to-binary and binary-to-hardware processes. Black-box hacking is fun and healthy!

      --
      110100 1101000 1101000 1100110 0 1101111 1101000 1100011 1
    7. Re:It's much worse than that... by prefect42 · · Score: 1

      Unless you feel like making some similar hardware device in which case you can reuse their code. Which is very much in keeping with the GPL. So you are, unsurprisingly, quite wrong.

      If the software is GPL it doesn't give you immediate rights to the hardware. More to the point, it doesn't require them to produce hardware that's easy to change the software on.

      --

      jh

    8. Re:It's much worse than that... by Grishnakh · · Score: 1

      I work for an embedded software company, and we use a custom bootloader which checks the software for the correct digital signature. Without our private key it's impossible to change the sofware on the device (short of actually removing and reprogramming the flash chip).

      If (more like when) we distribute a linux based device we can distribute the full source code and you still can't change the software on the device.


      Why on earth do you do this? What do you care if customers modify the firmware on your devices? Unless you're selling at a loss like the Xbox, there's no reason to bother doing this.

    9. Re:It's much worse than that... by Grishnakh · · Score: 1

      Hmm... seems like the attraction to this device for a lot of people is suddenly gone. Why does Linksys/Cisco care if their customers modify their router firmware?

  50. Re:"illicensed" ? by Lord+Bitman · · Score: 1

    how would it even go against the license? You can't link to the kernel itself without opening your code, but providing an interface /layer/ would allow you to link to a dual-licensed layer. Nothing wrong with that.

    The real question is, why are they talking about it? It sounds like they just dont want to open anything, even the interface (otherwise, just write it. There's nothing stopping you. This isnt like telling somebody who thought linux was ready for the desktop "write your own drivers if you dont like it!" these are corporations who already have developers developing things for the linux kernel.[*otherwise it wouldnt have been an issue in the first place])

    P.S.: Drivers, if absolutely no other part of the computer, should be open. These are the parts that make the computer actually compute.

    --
    -- 'The' Lord and Master Bitman On High, Master Of All
  51. Disaster maybe? by Anonymous Coward · · Score: 0

    This maybe a disaster just think of it to be like Windows next we will see a unified installer like Install Shield. I cannot bear to think of it, YES AOL AHHHHHHHHHHHHHHHHHHHHHHH

  52. Thank goodness for "too much politics" by Sturm · · Score: 4, Insightful

    Linux was, is and hopefully will always be "open". I don't want closed drivers in the kernel (even via an API layer) any more than I want a Sony rootkit masquerading as DRM.
    It isn't about "politics". It's about policy and philosophy.
    If the hardware doesn't work with Linux, don't buy the hardware/pester the vendor for an open driver, or don't run Linux.

    1. Re:Thank goodness for "too much politics" by dusanv · · Score: 1

      I hear you. I am a supporter of open source despite my wanting stable API. It's not necessarily about helping closed source drivers at all. Having a stable API helps open source as much as closed source drivers. Who wants to debug a million drivers every time APIs change? Linux will never (unfortunately) be adopted on desktop until there are stable APIs (not just kernel) and manufacturers are allowed to link in binary drivers. Why is it such a big deal if it helps adoption of open source? Theoretically, manufacturers with open source drivers should do better in the long run because their driver will be higher quality and debugged by more users. OSDL insists on politicizing this issue and instead of Linux, OS X is prospering.

    2. Re:Thank goodness for "too much politics" by globalar · · Score: 1

      There is a strong measure of responsibility in regards to practicing open source vs. merely interacting with it (e.g. commercially). Opponents call this risk, because working on principle is not a very popular business model. Proponents call this freedom, because principles let you know who you are and where you are going, leaving the getting there to your own means.

      I admire Linux and the kernel community, because they have always been willing to take the risk that their work would never be used, that their time would be wasted, and that their efforts would be meaningless. They have proved these doubts wrong because they knew who they were as an open source community and they knew they were working towards better software. Principles are not clauses in their contracts.

      The binary driver issue is at the heart of the goals of better software. Open, modifiable drivers will lead to better software. The only reason to close driver source code is, ultimately, for business advantage. Linux is not about business advantage anymore than it is about making a penguin into a mascot. It is about opening software so it can work better for users.

    3. Re:Thank goodness for "too much politics" by Billly+Gates · · Score: 1

      What makes you think there are closed source drivers now running on your linux distro?

      An api is essential and so are profiled library api's and kernel support for smart dynamic linking to run older apps. Unix does this which is why vendors prefer it.

      Oracle will even refuse to run if you modify any setting in RHEA3. They do this because it breaks too easily to run reliabily. Something needs to be done before we see a mass exodus to Solarisx86.

      Closed source drivers are here. There is nothing we can do. We can improve our stability and quantity of the drivers by a standard api. By the way the api was mentioned not to accomodate closed source driver makers but to make hackers lives easier. Its 2005 folks.

      Alsa is a great example of a good api that brought stability and closed source driver makers to linux.

  53. MOD PARENT UP by kmmatthews · · Score: 1

    good point.

    --
    feh. stuff.
  54. Re:What does it matter what 90% of slashdotters th by alphastryk · · Score: 1

    are you saying that most of us don't have linux? how would you know? oh - and this idea would be great.

  55. Re:Whatever convinces ATI to make decent drivers.. by lurch_ss · · Score: 1

    If they half it by half, would that mean they quarter it?

  56. What's wrong with enabling closed source drivers? by dtfinch · · Score: 1

    Dynamic linking of GPL licensed and closed source binaries together is only a violation if you distribute them together, IIRC. There's certainly nothing preventing an end user from installing proprietary software on their home system running Linux, that would be ludicrous, so they should be able to run proprietary drivers as well.

    That said, I'm 100% certain that Linux already does this to an extent. Binary compatibility from one version to the next seems to not be as good as many would like, though I have no first hand knowledge of any of this.

  57. This is the problem by everphilski · · Score: 2, Insightful

    This is the problem with the open source movement. Putting the code before the user.

    And this is why you fail.

    -everphilski-

    1. Re:This is the problem by jbolden · · Score: 1

      How exactly is it a failure? The goal of the GNU movement was to have a freely available Unix like operating system with a whole complement of Unixy software which promoted software freedom. I'd say Linux fits the bill.

    2. Re:This is the problem by msuarezalvarez · · Score: 1

      You really think the open source movement is failing?

    3. Re:This is the problem by everphilski · · Score: 1

      When an ideology takes precident over the experiance of a user... yes.

      -everphilski-

    4. Re:This is the problem by Krach42 · · Score: 1

      Your key here, is that you feel that the experience of the user is more important than the rights of the user.

      I'm imagining that you'd rather be ruled by a charismatic dictator rather than an unpopular democratically elected leadership.

      --

      I am unamerican, and proud of it!
    5. Re:This is the problem by msuarezalvarez · · Score: 1

      Do you understand that that ideology is precisely what supports that user experience?

    6. Re:This is the problem by Delphiki · · Score: 2, Insightful

      If the majority of people vote for terrible leaders, then how does having the right to cast a vote which doesn't have any effect make me more free than under a dictator? So the dictator is a large group of people (the majority) instead of one person. It doesn't make the minority any more free. So in response to your hypothetical, I would rather be ruled by a fair dictator than a corrupt but popular democratic government. Basically, what I'm trying to say is that who cares it it's Free, free, open or whatever if it sucks?

      --

      Feel free to mod me "-1 - Angry Jerk".

    7. Re:This is the problem by guardiangod · · Score: 1

      Well neither your nor Linux zealots' idealism are wrong.

      It is just a matter of prespective-
      OS programmers _like_ to "get their hands wet".
      Commerical programmers _are require_ to make their programs as easy to use as possible.

      So, do you want Linux remain a niche market product by making it elite and raw and impossible for IQ120 to use, or sugercoat it so that it becomes another Windows? This is where the idealogical seperation starts.

    8. Re:This is the problem by lkeagle · · Score: 1

      I think it's more like the ideology of the kernel developers takes precedence over the ideology of the users. And the experience of the kernel developers takes precedence over the experience of the users.

      I have no problem with this. This prevents broken ideas from persisting in the kernel tree. I could care less if some enormously drastic subsystem changes occur overnight and every userspace developer has to release an updated version of their product to work correctly. As long as this change results in a better performing, more elegant solution, then I support it.

      A driver API will create exactly the opposite result that the kernel developers want, and the beauty of Linux is that they really have nothing to lose financially.

      If you do, then that's your problem, not theirs.

    9. Re:This is the problem by aeoo · · Score: 5, Insightful

      Wrong. It is closed source companies who put the code before the user. They protect the code more than they protect the users. Open source is about protecting the user by allowing unhindered access to code for modification and redistribution.

      It's funny how you warp things around.

    10. Re:This is the problem by Anonymous Coward · · Score: 0

      Funny indeed. His argument made much more sense than yours.

    11. Re:This is the problem by Dominic_Mazzoni · · Score: 1

      This is the problem with the open source movement. Putting the code before the user.

      And this is why you fail.


      Linux is growing in popularity in every segment it's in. If you call that failing, I can't wait to see what happens if it starts succeeding!!!

    12. Re:This is the problem by Taladar · · Score: 1

      If by ideology you mean "easier development for the core kernel developers who do their jobs for free" then yeah, I guess that is more important to them than some zealous "everyone has to use Linux, we need 110% market share". I might agree with you if there were no hardware out there in most categories supported by Linux but usually at least some of the vendors are supported completely. You just have to know what to buy.

    13. Re:This is the problem by Anonymous Coward · · Score: 0

      I'm imagining that you'd rather be ruled by a charismatic dictator rather than an unpopular democratically elected leadership.

      Of course, in the US we have both.

    14. Re:This is the problem by porttikivi · · Score: 1

      Response to Everphilski proves his point. Linux hackers think that the "value" of Linux is in its utility for them as an elegant art object, or as an idealistic cry for freedom. That's ok, but the value of Linux to the general population or to the mankind is another story. It could be much bigger, if "convenience" would be appreciated over "quality". Joe Blow has his life to configure, he is not interested in configuring his computer.

      The saddest thing is, that I can test a dozen Linux 2.6 based distros on my Fujitsu Amilo V2000 laptop, and my USB devices and my WLAN card may work on 6 and not work on 6 others.

      It should definitely be, that if a working driver is available for "Linux", I should be able to download and use it on all (roughly same age) Linux versions, without re-compiling the kernel. Working "Linux 2.6 drivers" should be easily downloadable from one well known place to all "Linux 2.6" installations, no matter what the distro is. This is what Joe Blow has energy to do, not more.

      Note that I don't ask the drivers to be in the kernel space, as long as they have a standard binary interface. I do encourage people, who want to provide closed source drivers right now, to provide them with syscalls to user space. Or better yet, use local the (new in kernel) 9P server interface as the driver interface!

      Actyally I think the whole problem of Linux starts to be, that it is so hard to produce and market closed source application software for Linux, and make a living on it. The GPL looms there always as the scarecrow, and if you try to artificially avoid using any open source components, you will have to re-invent sqare wheels to your proprietary "cars" for the Linux highway. And the community is more or hostile or at least lukewarm to all proprietary software, no matter how good it is.

      --
      Anssi Porttikivi / app@iki.fi
    15. Re:This is the problem by TechnologyX · · Score: 0

      Fucking PWNED. I can't believe you didn't get bitch slapped and modded into oblivion for saying that.

      --
      Slashdot sucks
    16. Re:This is the problem by elgatozorbas · · Score: 1
      Wrong. It is closed source companies who put the code before the user. Open source is about protecting the user by allowing unhindered access to code for modification and redistribution.

      It is THEIR code. And they are willing to release it in binary form to users, and you want to deprive users of it. If you don't want it, don't use it. If you want to use more hardware 'goodies' than the manufacturerer will let you, hack the card yourself.

    17. Re:This is the problem by dbIII · · Score: 1
      The saddest thing is, that I can test a dozen Linux 2.6 based distros on my Fujitsu Amilo V2000 laptop, and my USB devices and my WLAN card may work on 6 and not work on 6 others.
      The saddest thing is not understanding that the exact same kernel will work with all twelve distributions.

      You don't need to change distros all the time, if one has some features you like then you download those features into whatever you are currently using.

      Linux and other breeds of *nix are different to MS Windows so some things are done in different ways. The idea expressed above of a standard kernel that you can download for any distribution is implemented, it's just the installer is a bit different to that on MS Windows and consists of choosing how you want things to be configured and compiling. For some distributions like RHEL it is even simpler and precompiled kernel modules can be installed on a running kernel, depending on you getting the one for the correct kernel of course (simplicity or vast amounts of flexability - choose one not both).

      The kernel changes as it improves, and a change in one place can have consequences in another - if all the source code is available in one place these things can be dealt with rapidly. If is isn't that can require setting up meetings between busy people in far distant parts of the world, or the code may no longer be available at all if the company has gone out of business or has lost a key employee.

      The reality is that once you get beyond a certain point computers are hard to use. Most of those that say MS Windows is simple have never had anything at all to do with the registry.

    18. Re:This is the problem by Krach42 · · Score: 1

      If the majority of people vote for terrible leaders, then how does having the right to cast a vote which doesn't have any effect make me more free than under a dictator?

      Because every dictator starts off nice, but then they change, and by the time they change, it's too late to change your mind. Democracies don't work like that. You may not like what Bush is doing now, but he'll be out of office in 3~4 years, and then you don't have to worry about him ever again.

      It doesn't make the minority any more free

      That's been explicitly the goal of the United States, to protect the minority from the will of the majority. This is the whole idea of rights, that the decisions of the majority don't have the unequivocable force that a dictator has. In a dictatorship, the minority have absolutely no protection, but in a democracy they have a chance for a voice, and in most cases a way to defend their rights from an unjust government.

      In a dictatorship-- and more generically-- in an autocracy, one person decides, and you have no reprive from that choice.

      So in response to your hypothetical, I would rather be ruled by a fair dictator than a corrupt but popular democratic government. Basically, what I'm trying to say is that who cares it it's Free, free, open or whatever if it sucks?

      People thought Pol Pot was a fair dictator when he started. Then he drove his country literally back to the agricultural age, and killed a significant percentage of his population.

      Dictators are *never* just. That's why the US government's power is split amoung its parts. Because a benevolent dictator has empirically been shown to be an oxymoron.

      --

      I am unamerican, and proud of it!
    19. Re:This is the problem by aeoo · · Score: 1

      If a slave master is willing to feed the slaves and I oppose slavery, it could indeed be said that I am depriving the slaves of their food. However, this is the kind of deprivation that is good in the long run for all concerned.

      In the course of correcting some grievous wrong, there is almost always some kind of short-term drawback. For example, right after the slavery is abolished, the condition of most ex-slaves probably got worse and not better, etc. But long term, the effect of freedom is positive. When someone claims that the code is "theirs", they are essentially depriving people of rights to inspect, modify and redistribute the code until expressly allowed. In other words, without the express allowance of the following -- inspection, modification, redistribution -- a claim such as "It is mine" is an expression of forbidding intent. All possessive claims, i.e. claims that deliniate and define ownership, constitute, by their nature, a reduction of freedom. Please note that I make a distinction between ownership and stewardship.

    20. Re:This is the problem by adtifyj · · Score: 1
      Is depriving users of binary drivers such a bad thing?

      There are only two reasons why anybody would say yes:

      1. A user wants to use their new [insert cool device here] with Linux, but does not understand why they want to use Linux.

        A lot of people are jumping on the bandwagon right now, but few take the time to realise why the bandwagon exists. It isn't by chance that Linux is now a melting pot of wonderful functionality and opportunity, its because of the decisions that have been made in the past, and how they have been implemented.


      2. A company wants to sell [insert cool device here] to the Linux users mentioned above.

        Hardware vendors that understand open source realise they can make a superior product by working with open source. Open source drivers raise the "quality" bar; a good hardware company wants to clear that bar.



      These two reasons are a co-dependent relationship, and the kernel hackers are doing everybody a favour by discouraging it, and making it difficult.

      As Linux and open source grows, the market will bless vendors and hardware manufacturers that adopt open source, and eventually new users will find that all of their devices work out of the box.
    21. Re:This is the problem by RzUpAnmsCwrds · · Score: 1

      It's funny how you warp things around.

      No, it's funny how you wrap things around. Microsoft values their users more than they value some weak ideology about their code. Case in point - Microsoft has released the source for Windows to governments and other major institutions because their customers wanted it.

      Anyone can get the Windows CE source code, if they want. Microsoft accommodated their customers by releasing the source. The Linux developers need to accommodate developers by allowing them to keep their source closed.

    22. Re:This is the problem by EzInKy · · Score: 1


      This is the problem with the open source movement. Putting the code before the user.


      If the code wasn't put before me I wouldn't be able to change it.

      --
      Time is what keeps everything from happening all at once.
    23. Re:This is the problem by westlake · · Score: 1
      Your key here, is that you feel that the experience of the user is more important than the rights of the user.

      The user experience is what sells a PC, a game, a peripheral. Users tend to be oriented towards a somewhat larger world, in which rights and freedoms are not defined in terms of the philosophical purity of the Linux O/S.

  58. Why not just buy windows by codepunk · · Score: 1

    If you want buggy drivers introduced into the system with no way to fix them then
    just buy windows. Not only no but hell no, I don't want and or need binary drivers
    running in my system. Either that or keep that junk in user space where it is less likely to bother anything.

    --


    Got Code?
  59. A more interesting issue - OSDL management by mollog · · Score: 1

    That link uncovered a better issue; who's on first at OSDL? This developer is rather pissed about getting caught in a misunderstanding.

    Does OSDL need a 'Technical Marketing' department to handle this sort of communication?

    --
    Best regards.
  60. That is the sound of inevitability. by mcrbids · · Score: 1

    Ever heard of NDISWRAPPER??

    What many people don't realize is that a binary driver interface has already been developed, only without the central control or oversight needed to make sure it works well.

    It's not only possible, it's not only inevitable, It's already happening!

    I'd recommend putting together some kind of standardized binary driver interface, only put it in userland where it won't crash the O/S, and treat O/S crashes from buggy drivers as a bug, not the buggy driver.

    I'd be happy to pay the performance price of usermode drivers if it meant I could *finally* use my small office inkjet printer/scanner on Linux.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  61. Re:Yes by C.+E.+Sum · · Score: 1

    You know, there's nothing that I can see to prevent you from starting a project to create stable_binary_interface.o which provides a series of hooks that can be pulled by your very own stable binary kernel modules.

    This sounds like a troll, but it's a nice thing about the kernel.

    Of course getting it into the kernel mainline would be hard, but you could at least distribute the souce to your layer. As long as you stick to the public interfaces to the kernel you might not even be pilloried.

    --
    -- Have you ever imagined a world with no hypothetical situations?
  62. Re:You can't have it both ways. by Eugenia+Loli · · Score: 1

    I don't see how the freedom of Linux is in question with a feature like this. I mean, there are binary drivers available TODAY. They just break with each kernel release (usually). The only thing that will change with this new feature is that binary drivers won't break. But binary drivers existed before and will continue to exist in the future. This is just a user convenience thing (and trouble for the developers), not a stub at the GPL.

    I think that the developers don't want it just because it's too much work to keep compatibility. It's an added headache for them. I don't think the real issue is the GPL here. If they make it sound like it is, I think they are hiding the real issue: more work for them.

  63. stupid question... by TheSHAD0W · · Score: 1

    If someone wrote their own 3rd party API for the kernel and then released it GPL'd, and then wrote their driver for that API, would it be permissible?

    And if you had issues with it, how different is it from running closed-source non-driver apps on a GPL'd OS?

    1. Re:stupid question... by GigsVT · · Score: 1

      Well sure, but the kernel developers are under no obligation to keep the API the same. And they probably would change it at some point.

      You still probably couldn't distribute a kernel with the binary driver attached to it (such as an embedded system) and not violate the GPL. Somewhat a gray area there, it's been tolerated in the past to some extent.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
  64. "What do you think?" by joib · · Score: 1

    I think that asking slashdot and expecting some insightful discussion about this issue is pretty stupid.

  65. Cut the dogma, there are technical reasons by brunes69 · · Score: 4, Insightful

    It is not welcome. Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this.

    Bypassing the dogma of the above, there are numerous pragmatic reasons why this would be better for linux, even if you don't include support for binary third-party drivers.

    • Developing drivers against a stable API is much simpler and more time efficient than developing against a moving target.
    • It is much easier for a part-time open source developer to support one API than a moving target
    • It would make life easier part-time developers of experimental drivers. Right now, if your driver isn't in the kernel, there is no guarentee it will even build against the next stable sub-version of the current kernel. It is a huge pain in the ass.
    • It would make life easier for users. If I download a driver from sourceforge for my webcam, I don't have to download a new version and rebuild when a new kernel is released.

    Sure, some of these are extreme cases. You can usually get away with just re-compiling the driver, and occasionally, you can even use the binary from the existing version.

    The point is you should *always* be able to do this wihtin the same major kernel version. There is no technical reason, aside form the politicis of not wanting to ever allow binary drivers, to not have a stable driver API.

    Imagine if the Mozilla plugin API changed with every new version of Firefox. And look at all the complaints when a new Firefox version doesn't work with all the old extentions. It is the exact same.

    1. Re:Cut the dogma, there are technical reasons by Krach42 · · Score: 1

      Imagine if the Mozilla plugin API changed with every new version of Firefox. And look at all the complaints when a new Firefox version doesn't work with all the old extentions. It is the exact same.

      Imagine if you will a windowing system not unlike X86Free that allows binary drivers, and imagine along with that, a kernel not unlike Linux that makes binary drivers such a PITA, that they're impractical.

      Now, imagine a driver not unlike nVidia's graphics driver, that has a closed source driver for the windowing system, because they can, and an open sourced driver for the kernel, because they must.

      Do I think that it's the best way to do software to break driver compatibility every version? No, but if ones stance is that an open kernel is better than any closed kernel, then one would have to agree that forcing open source drivers is the only real option.

      --

      I am unamerican, and proud of it!
    2. Re:Cut the dogma, there are technical reasons by bfields · · Score: 1
      The point is you should *always* be able to do this wihtin the same major kernel version.

      Note that there isn't a stable binary interface even within one kernel version right now. Config options (like CONFIG_SMP) can change binary interfaces.

      So a stable binary interface would require extremely fundamental changes.

  66. Ugh no by toad3k · · Score: 1

    The problem with supporting binary drivers is that binary drivers can't be fixed. They can't be tweaked. They are often buggy. They don't play well with other drivers. Companies insist on installing gods knows what into their drivers and since they run as root, they have unrestricted access to your system. Would you risk installing a driver from sony on your system? Will you have a choice?

    And once a binary driver is available (even if it is crappy) it will make it that much less likely that someone will take the time to create suitable source drivers.

    1. Re:Ugh no by Altus · · Score: 1



      do you really think that companies that produce open source drivers would close the source just because something like this is developed? I mean... wouldnt it be better to allow for more widespread hardware support and simply choose to support the companies that keep their source open?

      isnt getting access to a wider variety of hardware worth something here especially when it comes to the widespread adoption of linux on the desktop?

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    2. Re:Ugh no by toad3k · · Score: 2, Insightful

      If you give companies a way to use closed source drivers, that is all they will ever use, because that is the way they've always done it. Linux presents a serious change to the way hardware vendors do business, and in the long run I think it would be better for everyone if they would embrace it.

      It is just that once you open the gates, they won't ever be closed again.

  67. Ok that's fine BUT... by Sycraft-fu · · Score: 4, Insightful

    If you are going to take the strategy of "We will do things to attempt to force you to do thigns our way," don't be supprised if the response of companies is "Fine, then we will ignore you."

    The simple fact of the matter is that most companies are not willing to go open source, for software or drivers. You can argue that's a bad thing, but it is the reality of the situation. So, if open source is out in their book, either because of contractual obligations or mentality or whatever, they are left with two choices:

    1) Do Linux drivers, and update them every time the interface changes, which can be as often as every minor kernel revision.

    2) Ignore Linux, and let the community write the drivers if they want.

    The problem is that Linux is a bit player. They are larger than the other bit players, but they are still tiny, less than 10%. Given that the continous rewrites can get expensive, the choice for many will simply be not to write the driver.

    So if you are ok with that, then great, but don't get mad at companies when they won't play by your rules. Are they being unaccomidating? Sure, but so are you.

    In the end, it comes down to needing to make a decision of what you want Linux to be. If you want Linux to try and become the next big thing in OSes and start to really make an entrance in the home market, standardisation is needed. Standard APIs, standard UIs, inter-version consistencies, etc. In essence, it needs to become more like OS-X. Now if you are ok with Linux being more of a geek/server OS then that's not necessary, but you can't demand the world change around you.

    1. Re:Ok that's fine BUT... by jbolden · · Score: 1

      In the 1980s the home market was anything but standardized. Windows is standardized that doesn't mean that any product which will have home market penetration needs to be like windows. As far as we can tell home users seem to like choice quite a bit on most products. As far as we can tell home users are OK with a variety of interfaces and poor intercommunication on applications that have primarily a home user focus (like games, genealogy, legal aid software...).

      We really don't which aspects of the Microsoft strategy were essential for the spread of the home market.

    2. Re:Ok that's fine BUT... by shawb · · Score: 1

      You forgot about 3)Not write any drivers for linux and sue anybody who tries to reverse engineer the drivers.

      --
      I'll never make that mistake again, reading the experts' opinions. - Feynman
    3. Re:Ok that's fine BUT... by Krach42 · · Score: 1

      As I posted above, if being free (as in speech) and open provides a chilling effect for a company to contribute, and they don't contribute, then we didn't want them anyways.

      The rest of the free world doesn't seem to have a problem using force of economics or force of military to assert the rights of people outside of their nation. Yet the second anyone talks about free and open source people insisting that all software be free that they're labeled nuts.

      Well, if I'm a nut for believing that software should be Free, then I'm a nut.

      --

      I am unamerican, and proud of it!
    4. Re:Ok that's fine BUT... by Godeke · · Score: 1

      In the end, it comes down to needing to make a decision of what you want Linux to be. If you want Linux to try and become the next big thing in OSes and start to really make an entrance in the home market, standardization is needed. Standard APIs, standard UIs, inter-version consistencies, etc. In essence, it needs to become more like OS-X. Now if you are ok with Linux being more of a geek/server OS then that's not necessary, but you can't demand the world change around you.

      The reality is that the core users of Linux could care less about entrance into the home market or even desktops of *other* people. Many of the key players have said that the adoption of Linux by businesses has been an accidental byproduct of a development model that works and not a goal. More to the point "you can't demand the world change around you" is completely backwards: the vendors of the hardware must decided if they want to support Linux by providing source drivers or if they want to decline the option of that user base. It is the vendors who wish to change Linux, not the other way around. As a user of both Linux and Windows I see little point worrying about changing someone else's practices: Linux goes where appropriate and Windows goes where appropriate. If the vendors want to throw a fit about Linux, that's their option, but don't paint it as if Linux is trying to change the *vendors*. Either they play by Linux kernel rules or they don't participate in that space. Nobody should be crying if they don't participate: Linux has established itself in enough places to be sustained just fine.
      --
      Sig under construction since 1998.
    5. Re:Ok that's fine BUT... by ccp · · Score: 1

      I wish /. had a +1, Great Troll moderation, because yours is a beauty.

      Thumbs up to you! ;>)

    6. Re:Ok that's fine BUT... by ookaze · · Score: 1

      If you are going to take the strategy of "We will do things to attempt to force you to do thigns our way," don't be supprised if the response of companies is "Fine, then we will ignore you."

      Except that you have it backwards. In this case, these are the companies and their supporters that say "We will do things to attempt to force you to do thigns our way", "our way" being "put binary drivers in Linux".
      And the kernel developers are those that say "Fine, then we will ignore you", not the other way around.

      The simple fact of the matter is that most companies are not willing to go open source, for software or drivers

      That's their choice, but kernel developers ask nothing of the like. They ask for specs for example.

      The problem is that Linux is a bit player. They are larger than the other bit players, but they are still tiny

      There is no problem. Linux usage is only growing. If people ask for binary driver interface, that's because there is an interest in Linux. Linux grew with this policy, that's one of its quality, there's no way we will give up what made its success.

      Given that the continous rewrites can get expensive, the choice for many will simply be not to write the driver.

      The better choice would be to give the specs and let the kernel experts write the driver.

      So if you are ok with that, then great, but don't get mad at companies when they won't play by your rules

      Here, we get mad because THEY want US to play by their rule, stop getting it backwards.

      In the end, it comes down to needing to make a decision of what you want Linux to be

      No, it comes down to what Linus and kernel developers want it to be, and this has been pretty clear from the start, there is even a text doc in the kernel doc (by GKH) that explains why binary drivers are not wanted.

      If you want Linux to try and become the next big thing in OSes and start to really make an entrance in the home market, standardisation is needed

      Two problems in what you say :
      - We don't want what you say we want, we just want drivers. Unfortunately, this apparently means we need to force the vendors to provide them, so we need market share.
      - You have it backwards again. Standardisation is external to Linux. Every hardware standard is supported in Linux you know. The non-standard hardware are those that need special drivers. Manufacturers not able to standardise on their products have no lesson to give Linux devs IMHO.

      You talk about geeks, but then you complain that Linux won't be able to get access to the latest geek toy for a lack of driver. You want to put the same shackles on Linux than the ones on Windows, I say NO !
      Had it not been for Linux, in 2001, I would have had to buy 3 pieces of hardware which are perfectly functional on Linux. Most of the time, what works on Linux works way better than on Windows too (that's my experience). I don't want to give up on all this.

  68. Not sure by J0nne · · Score: 1

    i think I'll go with the 'CowboyNeal' option again...

  69. Define "Stable" by mad.frog · · Score: 3, Insightful
    I did RTFA, and the author seems to have a different definition of "stable" than I do:

    Assuming that we had a stable kernel source interface for the kernel, a binary interface would naturally happen too, right? Wrong. Please consider the following facts about the Linux kernel:

    • Depending on the version of the C compiler you use, different kernel data structures will contain different alignment of structures, and possibly include different functions in different ways (putting functions inline or not.) The individual function organization isn't that important, but the different data structure padding is very important.
    • Depending on what kernel build options you select, a wide range of different things can be assumed by the kernel:
      • different structures can contain different fields
      • Some functions may not be implemented at all, (i.e. some locks compile away to nothing for non-SMP builds.)
      • Parameter passing of variables from function to function can be done in different ways (the CONFIG_REGPARM option controls this.)
      • Memory within the kernel can be aligned in different ways, depending on the build options.

    But see, the thing is... a "stable" binary interface requires that structures used specify padding, alignment, and fields to be fixed! If these can vary, then by definition , it's not stable. Ditto the variations that depend on kernel build options.

    Now, if you want to make the case that it's not possible / practical to make an interface that can cover all of these conditions adequately, well, by all means, do so (though I'd say that the hundreds of existing operating systems with binary interfaces show that this isn't the case in the general sense).

    But what I see here is a relatively weak technical argument that is being used to justify an ideological decision.

    1. Re:Define "Stable" by Kjella · · Score: 1

      Now, if you want to make the case that it's not possible / practical to make an interface that can cover all of these conditions adequately, well, by all means, do so (though I'd say that the hundreds of existing operating systems with binary interfaces show that this isn't the case in the general sense).

      Of course not. But it is ideological and practical: They do not want closed source in the kernel, debugging is much harder (but not impossible). They don't want interfaces they can't change (to preserve the ABI). They don't want to spend time creating and maintaining the ABI, but rather on improving the kernel itself. And with cream and sugar on top, they don't want to.

      --
      Live today, because you never know what tomorrow brings
  70. Re:What does it matter what 90% of slashdotters th by Anonymous Coward · · Score: 0

    CmdrTaco has stated the majority of visitors are Windows users.

  71. living through the hell that is i810 by alphamugwump · · Score: 1

    I have an i810 and am running ubuntu, and 3D acceleration is buggy at best, broken at worst. Obviously, the hackers had a hard time reverse-engineering it. Now Windows, despite having closed-source binary drivers handles 3D fine. Therefore, I draw the following conclusions from this: proprietary drivers work. reverse engineered drivers don't work as well. furthermore, intel is extremely unlikely to ever release their specs (despite any amount of whining), so I am simply stuck with it. now, server owners are going to be concerned about the security of a closed, binary driver but note: SERVER OWNERS DON'T NEED 3D acceleration, or wireless, or any of that stuff.

    1. Re:living through the hell that is i810 by mabhatter654 · · Score: 1

      and i810 was obsolete like 3-4 years ago? Why is it so imparitive to keep that information secret so long... of course because it's obsolete there's no monetary reason to give you the specs either... so they need to get in the habit of opening up stuff from the beginning!

  72. The best option for whom? by Anonymous Coward · · Score: 0

    Neither success, nor pleasing hardware companies, nor pleasing users is the number one goal ... pleasing developers is.

  73. The Monolith Tumbles??? by OzPeter · · Score: 1

    This is something that I hace always thought curious about Linux in general - the concept that the device driver is part of the Kernel, so that to support a new device, it has to be compiled in. And as everything under the sun has to be supported at any one time, that implies that the kernel gets bigger and bigger and bigger as time goes on. So at what point do you stop growing the kernel? Or can you even do it?

    You can argue, well you don't have to compile it in in the first place, but that brings on the question of how many linux users in the mainstream are capable of correctly configuring and compiling the kernel to suit their hardware? And what does that do to a plug and play concept?

    Years ago I was using Microwares OS-9 (no not the Mac OS 9). It had a modular device drive model where you could load and unload drives on the fly, and similar devices were only differentiated by having a separate config file that pointed to a different hardware address. As such it was (still is?) a sweet system to use. If I wanted a new disk drive, I would plug the hardware in, and edit a the equivlent of a device drive ini file to say that it existed. Then I could load that drive as I needed. No change to the operating system at all. If the device required a new type of device manager (ie a fundementally different hardware model than what was already configured into the system), that manager could also be loaded on the fly as required. Of course you could then burn a system with all your new requirements, so they were available at boot. (and yes I am aware that the all of this does require knowledge of the intrenals a la Linux, but it is the process I am trying to highlight).

    To me the concept of the "all-in-one-everything-including-the-kitchen-sink" Linux model stems from the days when it was a small system, and that was a reasonable thing to do. But to me it doesn't seem like a sound design principle that allows for scaling into a bigger system. Trust me, I am not knocking Linus or Linux, but the overall Linux system might be hampered by some decisions that were unforseen when Linus was banging away on his keyboard all those years ago.

    --
    I am Slashdot. Are you Slashdot as well?
  74. Re:GO FOR IT - AMEN by Yo+Grark · · Score: 1

    I'm completely at a loss for linux. I spent 4 hours installing suse 9.3 on an older laptop and expected everything to be "auto-configured". Ok not everything, but when I needed to, just go out and get the drivers.

    Ok so Linux doesn't have the support, I can handle that, but DAMN is it NOT INTUITIVE to try and install applications/drivers!

    So here's the choice. Either have University Level people only using Linux and stop touting it as an alternative to MS, or get it into your heads that the current line of thinking regarding drivers is flawed.

    Now to play devil's advocate it's a chicken/egg senerio, but I'm about to leave linux behind for a second time in the last 5 years because I can't make my USB device (isn't usb based on open standards already?) work.

    I'm in a position to push it as an alternative, but only when it's easy enough to sink my teeth in to begin with.

    Oh and the usb device is AWLL3026 if anybody cares.

    Yo Grark

    --
    Canadian Bred with American Buttering
  75. Re:It's a good idea--Driver Signing? by davidsyes · · Score: 1

    Why not mirror windoze? Have "driver signing" or a widely-disseminated "HCL: Hardware Compatibility List" such as Linux Hardware's?

    The "friendly" manufacturers who "play ball" should be rewarded as "vendor of preference" for those corporates still sitting on the fence.

    Those corporates found to be or *seeming* to be injecting viscious or cunning "proprietary and hi-hijack-potential" code should be on the "Red List" of companies whose software or contributions are fraught with potential licensing or other issues.

    I'm not all that much *against* proprietary drivers as long as they play ball are are not greedy bastards trying to undermine Linux, O/S, F/LOSS and so on.

    If a flag can be put into Linux, one such as the broadcast flag/ad-insert flag" and so on, then the USER or ADMIN of the system in use can set a policy to allow some, all or NO proprietary flagged hardware or software to be used.

    Someone would have to be a maintainer, but if the list is sanitized daily it might server as a prototype until a better, more dynamic and real-time policy manager can be implemented.

    Is it really that hard?

    David Syes

    --
    Previously: "Linux... Toward the Sunrise..." Now: "Linux... Toward the-- No, now, part of Every Sunrise"
  76. Lets make the linux kernel as buggy as windows... by anto · · Score: 1

    You never know it might be keeping out the awful buggy drivers that manafactures have been hacking together under windows for years. There is no real money in writing or supporting drivers, why would you expect a company to do a half decent job? Of course there are exceptions..

    I'm sure that 90% of the time the reason companies don't want to open their specs is the fear their buggy hardware will be exposed to the world.

  77. Make your own binary interface by nuggz · · Score: 1

    Sheesh, make an open source interface and give it away. Once someone writes it, everyone can use it.

    That being said my nVidia card works fine, I downloaded their kernel patch and I've been happy for years.

  78. Why do they have to be in the kernel source tree? by psyon1 · · Score: 1

    ...so that driver developers wouldn't need to put their drivers into the main kernel tree.

    My RAID controller did not have drivers distributed with the kernel until recently (ITE8212). Before that I just downloaded the driver source, and built against my current kernels source. Alot off distros offer a kernel-devel package of sorts to allow just that. Please bear in mind that I did NOT RTFA, but it seems that the real motive would be so they did not have to release the source code for their drivers at all.

  79. Benefits kernel users how? by BoldAndBusted · · Score: 3, Insightful

    I am not a Kernel Developer, but I know some. ;) I guess that my open question is how this would benefit kernel users? Yes, I see it would reduce the workload of kernel devs. Yes, I see it would allow driver developers to not have to go through the kernel code vetting process. But, the kernel code vetting process is what is a strong benefit of using Linux, from a user perspective, as I know that the code is well tested by an army of users and developers.

    Once you push driver development out of the kernel, yet give access to kernel internals in this way, you introduce a level of uncertainty in so far as stability and robustness is concerned. One must question why these big comapnies are pushing for this, but most human kernel devs are not.

    1. Re:Benefits kernel users how? by DavidTC · · Score: 2
      The kernel vetting process is probably the one of the two reasons that Linux is successful.

      Linus isn't a greatest coder around, probably not even the best coder working on Linux, and there are all kinds of hardware he doesn't understand at all.

      But one thing he can do better than anyone is look at code and recognize if it's crap or not, and if it's crap he'll say 'No.'. And if it touches too many systems without good reason, even if well coded, he'll say 'No.'. Without this ability, the Linux kernel would have collapsed under its own weight long before now.

      The reason is that he's willing to delegate subsystems to people who have demonstrated they can do the same thing as him. It's like a tree, where code goes downward, where at the top, at entry, it's checked 'does this do the right thing for hardware X?' by people who really know hardware X and how drivers for it work in Linux, and at the bottom Linus checks 'is this actually good code?', possibly without even understanding why it needs to do what it does, sometimes with people in the middle. Neither badly-written nor wrong-doing code makes it in.

      This, incidentally, is why most of the disputes in the kernel development are about things outside this, non-driver things, like devfs/udev, or memory management, or OOM process killing. The code isn't bad, Linus would keep it out, but people disagree what is right and wrong behavior.

      But when it comes to drivers, the process is almost seemless, because 'right' behavior is fairly obvious there. The only problems are in the few singular instances where someone who maintains a rarely-changed subsystem vanishes off the planet, and someone bounces around a while before they can get an update into the filtering tree.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    2. Re:Benefits kernel users how? by Anonymous Coward · · Score: 0

      http://linux.dell.com/projects.shtml#dkms --- good for vendors, okay enough for customers

    3. Re:Benefits kernel users how? by justins · · Score: 1
      But, the kernel code vetting process is what is a strong benefit of using Linux, from a user perspective, as I know that the code is well tested by an army of users and developers.

      As opposed to a focused team of professional QA people, like WHQL. We know that they aren't good for anything, they use Windows! LOLOLOLL!!!11!!!!!1
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    4. Re:Benefits kernel users how? by oliverthered · · Score: 1

      The reason they are pushing is so that they don't have to keep updating the driver every other week to take account of the latest changed in the kernel. I really don't think this will affect stability, 3rd party drivers may be just as buggy with or without a driver API, but I expect not having to hit a moving target will help make them less buggy. Apart from they every time I've updated my kernel either ndiswrapper or the ati-driver has some kind of incompatibility the I have to go searching for on the internet to hand patch the drivers, not exactly the worlds most usable system.

      --
      thank God the internet isn't a human right.
    5. Re:Benefits kernel users how? by BoldAndBusted · · Score: 1

      Never search the Internet for that sort of thing again. Try Gentoo.

    6. Re:Benefits kernel users how? by oliverthered · · Score: 1

      emerge ndiswrapper

      opps the 6.14 kernel has some paramiters defined that are also defined in ndiswrapper, looks like I'll have to prefix the ones in ndiswrapper with win_ or wait for gentoo to update it's packages.

      The ATI drivers also seem to use a lot of deprecated memory management calls that need fixing for every release.

      I personally don't mind having to fix the drivers (I wouldn't be running a new kernel otherwise), but I shouldn't really have to, a stable driver development API &co. would make it a lot easier for companies to release drivers and not have to worry about them breaking every kernel release. (even if they were stupid enough to use deprecated functions)

      --
      thank God the internet isn't a human right.
  80. Why not Better Generic Drivers instead? by rubberbando · · Score: 1

    I think most devices could get away with finely tuned generic drivers.

    Heck, back in the day just about everything could get away with generic drivers because they weren't these overcomplicated suites of utilities as they are today.

    Printer drivers for example would just send the data to the printer and the printer would print the text/graphics. Now you have all these tools/utilities/diagnostics/etc built right into the so-called driver for tweaking and such but they aren't really nessessary to get the job done.

    Let all the extras be their own software (closed or open). Keep the drivers simple, fine tuned, open, and generic. :)

    --
    DEAD DEAD DEAD DELETE ME
  81. Done. by pjkundert · · Score: 1
    It's called "ndiswrapper". You can install your nice, closed binary network device drivers, and get all the wonderful stability of Windows, with all the benefits of closed source software, such as being completely impossible to debug.

    So, instead of complaining, these companies can simply decide to implement an Open Source kernel module that implements the full binary Windows driver interface, and then ship just one driver -- the Windows one -- for Linux.

    Of course, they can keep their hardware, because I certainly won't be buying it. I buy hardware that is SUPPORTABLE -- and this means something COMPLETELY DIFFERENT than "supported". Because, hardware that is "supported" by a company that no longer exists is NOT useful to me. And all hardware will eventually be in that category.

    So, by definition, any piece of hardware that doesn't come with Open Source drivers is not welcome in my home or business.

    --
    -- -pjk Perry Kundert perry@kundert.ca http://kundert.2y.net
  82. Binary Drivers = Maint. Nightmare + Security Woes by C0deM0nkey · · Score: 2, Insightful
    Did you bother to read either the FA or any of the articles to which it linked? At least read GKH's take on all this binary driver nonsense. If his insightful comments on the issue do not change your mind, fine.

    GKH raises good points about how a stable binary driver interface will open the floodgates to both security problems and to update/maintenance problems. As it stands right now, Linux kernel developers can quickly respond to threats because they are able to fix all instances of a given problem, in all drivers, at the same time. If they do not maintain this flexibility, either some drivers stop working unexpectedly when security fixes are made and the interfaces are forced to change (making Linux appear "unstable") or backwards compatibility must be maintained making the Linux kernel grow over time (whenever a new interface has to be written to address flaws in the old interface).

    Yes, abstraction is good...but, in this case, stability, the perception of the user and maintainability (where the *real* costs lie) must win over abstraction. Most of the kernel developers are not being compensated; how often do you think that backwards compatibility is going to be maintained? Its not. Right now, fixes are accomplished because it is easy to accomplish - global search and replace, etc. Make it difficult and it just won't be done.

    Manufacturers want binary drivers because they want to play for free - they want all of the benefits of open source without any of the costs. Not cool.

  83. do it like Nvidia does it by FudRucker · · Score: 1

    more hardware MFGers should make a downloadable shell script for GNU/Linux and as long as users have their kernel source installed it will compile a kernel driver for whatever hardware they have purchased :^)

    --
    Politics is Treachery, Religion is Brainwashing
  84. Re:Yes by pe1rxq · · Score: 1

    It exists. It is the way normal applications work. And the reason they don't crash the system is because there is an abstraction layer between them and the hardware called the kernel. This kernel needs to talk to the hardware and this is were drivers come in.

    --
    Secure messaging: http://quickmsg.vreeken.net/
  85. no binary by Anonymous Coward · · Score: 0

    hi,

    as long it is opensource, I believe a open standard driver API is a good idea.

    CU
    Anonymous Coward

  86. UDI by OrangeTide · · Score: 1

    What about UDI? This has been around for a while and supports not just Linux but a variety of OSes.

    --
    “Common sense is not so common.” — Voltaire
    1. Re:UDI by Deven · · Score: 1

      I would very much like to see UDI widely adopted -- I believe it's a technology the world needs.

      Send me some email, let's talk about it more...

      --

      Deven

      "Simple things should be simple, and complex things should be possible." - Alan Kay

  87. Keep your driver. Give us the documentation by gd23ka · · Score: 1

    Tell you what, when push comes to shove we don't even want your driver.
    Give us the programming documentation to your hardware and we'll take care of it.

    (Don't argue the Adaptec crap argument with me that an inferior O/S driver
    could potentially damage the products public image. If enough people even care
    enough to use your product someone else, more capable will then develop a
    better driver)

  88. Are you kidding me? by anomaly · · Score: 1

    If you want Linux to be the hacker's paradise, then by all means make people work to get their PCs to work properly. Most people don't want to futz with conf files to get their sound to work. It's not weakness or stupidity - people want to use PCs for things other than tinkering with drivers!

    I've been using linux as a primary desktop OS for 8-9 years. I know what I'm talking about. Especially on laptops, device driver support can be a royal pain. Getting the audio to work on the Thinkpad 390X was (and continues to be) painful. OSS drivers *do* work, but out of the box they don't.

    None of the non-geeks I know would tolerate that kind of performance. It's an elitist attitude like yours that will keep Linux away from "normals."

    Congratulations!

    --
    But Herr Heisenberg, how does the electron know when I'm looking?
  89. Translation Please by DaoudaW · · Score: 1

    Can be possible to be easy to develop the driver for Windows by designing to consider the portability with Windows API.

    This is from the proposal refenced in TFA. Does anyone have a clue about the authors intent?

    My only guess is that they're asking us to reverse-engineer the Windows API so that they can use the same code cross-platform. How ironic!

  90. Ummmm. by Aldric · · Score: 1

    Why the hell do *printer* drivers need to be in the kernel anyway? Userspace is a much more sensible place for them.

  91. Does time change the debate? by Julian+Morrison · · Score: 3, Insightful

    Ignoring for a moment, the ideological points, lets consider a frequently raised practical point: the idea that an API would either get out of sync with the kernel, or be a drag on innovation.

    I agree that when the Linux kernel was young and untried, standardizing a binary API was bound to become a millstone in a short period of time, as the kernel internals were in a constant state of churn and iterative improvement. Nowadays though, surely, the kernel has been "shaken down" enough that it could afford to commit to binary APIs that are stable at least throughout each minor version number?

    Returning to ideology, I can see how a stable binary API would be useful even to open source hardware. How much easier is it, to say "drop this file under /lib/modules/binary/" than "you need to recompile and reinstall the whole kernel with this patch"?. For obscure hardware which will never be in the official kernel, it would be nice to have the ability to easily use it with any linux distro. No need for a slew of precompiled RPMs, DEBs, and a user-unfriendly source tarball, just one driver binary and you're ready to roll.

    In itself, that says nothing, either pro or anti, about the availability of driver source.

  92. Re:Stability like that leads to stagnation and dea by Anonymous Coward · · Score: 1, Interesting

    Amen bro. In the past I worked as an engineer at one of those "closed source" corporations which manufactured SCSI host adapters. At the time I was using a competitors HBA (host bus adapter) for my drives. Finally a member of the Linux community volunteered his time and effort and delivered an excellent driver which the company finally took over maintenance on. When the next gen of newly architected HW was released a brand new driver was necessary. The internal debate was whether or not the new 'whiz-bang' driver architecture should be given away to the open source community. As this company never sells it's SW anyway the leap of faith was finally made, which brought it extra revenue as shortly thereafter all the large vendors (read customers) were insisting on a Linux presence.
    Another benefit: vast improvements to the driver(s) as the community also assisted in code addition/refinement and debugging. Moral: Avoid the short range (read corporate) view, do everything possible to make and keep the future OPEN.

    Remember George Santyana who said (paraphrasing): 'those who refuse to learn from the mistakes of the past, will be forced to relive them'.

  93. No closed source drivers, no hardware support by ShatteredDream · · Score: 1

    Do you honestly think that most companies are really going to support Linux if it is even more of a pain in the ass to write good device drivers that don't let out the company IP than it is for Windows? People like you make it quite easy for these major companies to just write off Linux entirely for most of their hardware.

    1. Re:No closed source drivers, no hardware support by Taladar · · Score: 1

      Actually it is very easy to write drivers for Linux. Write a spec for your hardware, release it freely and soon after some Linux users buy your hardware there will be working drivers for it. It shouldn't even cost you money as the spec is needed for hardware development anyway, just remove your hardware implementation details you don't want everyone to know (the interface should not be one of these details in 99.9% of all cases).

  94. What is really needed is ... by Skapare · · Score: 1

    Instead of a "stable kernel API layer", what is really needed is a stable hardware interface layer. That way we don't even need to have new drivers at all for the same class of device. A set of standard drivers conforming to the standards upon which the hardware interface layer is designed would be sufficient for communication between the kernel and the underlying hardware.

    --
    now we need to go OSS in diesel cars
  95. Yes - with qualifications by PhilipPeake · · Score: 1

    The arguments for not doing this are really pretty weak. Reserving the right to change kernel interfaces is the weakest of all. At the upper level the kernel has no option but to adhere to the POSIX system call interface APIs, and I don't hear too many people whining about the the inability to change the system call APIs stifling innovation. Wanting to have drivers only in source form "so that people can fix them" is a weak argument. The same argument should the be extended to the other end of the stack, and refusing binary applications - "because people can't fix them". Stallman would agree, as would his diciples, most other people have a more flexible view of the world. Don't want to use binary dirivers/ Fine. Don't use them, but give those people who do a chance to do so -- won't the famous "natural selection" have everyone opting for the open source drivers after a while anyway? With virtualisation technology there is very little to prevent the creation of a firewalled environment to run these drivers in. That of course, would require a well thought-out, documented and supported set of APIs. Perhaps the biggest reason to do this is that if we don't, a consortium of vendors/distros will. That will split Linux into the "profesional" version targeted by commercial products, and the "hackers playground" where greg KH, Linus and Stallman can play whatever games they like.

  96. You know, it's a little bit sad... by Sturm · · Score: 1

    Most of the people who are saying a closed driver API into the kernel would be a GOOD thing have Slashdot UIDs over 500,000. I think, somewhere along the line, "the message" has gotten lost.
    As I posted earlier, "Linux" is as much a philosophy as anything. It's about being open. It's about giving people the ability to make something they don't like into something they do. You can't do that with closed source software. I don't ever remember reading or hearing anywhere that the stated goal of "Linux" was to try and supplant every other Desktop and Server OS out there. I don't ever remember reading or hearing that "Linux" was going to be easy or accomodating for the casual user. Certainly, there are hundered of projects whos stated goals ARE to make the Desktop or Server distros of Linux easier to use. But people need to remember "Linux", at its most basic is about being free and open.
    If you want easy, get a Mac ;)

    1. Re:You know, it's a little bit sad... by mad.frog · · Score: 1

      But people need to remember "Linux", at its most basic is about being free and open. If you want easy, get a Mac ;)

      So, in other words... "free and open" is incompatible with "easy"?

  97. Tell them to go to the devil by scharkalvin · · Score: 1

    Just tell OSDL Japan to go to the devil, or the dameon at least.
    (IOW use BSD and shut the @#$% up!)

  98. Hardware vendors by Anonymous Coward · · Score: 2, Insightful

    They won't release now, but eventually they will. You don't cave in to "terrorist threats", ever. And that's what this is. If those vendors want in on the open source market that revolves around the linux kernel, then they can play ball, too, end of story.

        Linux is at a really important part in its evolution. Caving in to closed source interests would be counter productive in the long term. It is better to force/cajole the vendors to finally "see the light" with open source and the GPL. Maybe eventually another graphics card vendor will appear and become the champion, precisely from having open source drivers. The manufacture of electronics in Asia in particular is exploding, where there is a market, a vendor will appear. Patience.

  99. To be idealistic, or to be useful... by N1ghtFalcon · · Score: 1

    So far Linux community has chosen to be idealistic. I would really like to see it start turning to the useful side, but seeing how many answer 'no' to this question, I don't see that happening any time soon.

    Just this summer, right before going back to the university, I decided to wipe my main workstation and give Linux an honest try as my primary OS. I messed around with it for a number of years now, but always either on crappy machines that were way underpowered to create a pleasant user experience, or on virtual workstations.

    Oh how I hopped that my hardware would finally work, but no such luck. My mouse only had basic functionality, my keyboard couldn't use any hotkeys, my TV tuner didn't work, and neither did the dual-monitor setup, no matter how many times I tweaked the video settings. With a sigh, back to Windows I went.

    This is by no means to sound like a Troll. I like Linux for some things, but drivers and graphical user interfaces are by far your weakest points. Until these issues are fixed (and I do believe that binary drivers would be of great help), I don't see Linux as being useful.

    Before you jump on me for saying that, keep in mind that I'm not talking about Slashdot crowd. Hell, if I had the time or patience for it, I could probably get some distribution to work with all of my hardware as well. The problem is how much time and effort I would have to put into having a workstation that I can use for work, as opposed to having to work on my workstation (if you get my point).

    In the end, even being a software developer, I don't want to be treated as one when I use my operating system. Drivers should simply exist, and work, if that goes against the open-source ideals, maybe it's time to re-think them and be a little more flexible. If there is an alternative that saves me time, energy, and a lot of frustration, and its only downside is that it goes against the idealistic ideas of the open-source community, sorry guys, but I'm going with that.

  100. What about Graphics Cards? by Anonymous Coward · · Score: 1, Interesting

    There are very good reasons for closed source drivers. Take modern grahics cards as an example. There is so much IP in the drivers its not funny. A graphics card these days is little more then a specialised CPU with really fast RAM. So much of the rendering process is in the driver, thats why a small driver revision can make so much difference to performance.

    As much as I would like that source to be open there is no way NVidia for example could compete if they gave away all there interlectual property away for free. Thats how they make there money and can afford to pour more back into developing the next generation of cards.

    And what about software modems. I know most people hate them but the companies how develop them do so to make them cheaper which is reflected in their retail price. The modems are just a dsp connected to a phone line. If they gave away there source anyone could buy the same processor stick it on a board and sell it from under them without any of the R&D costs.

    I say bring on a static api for binary drivers!

  101. I write very high end drivers - but not for linux! by Anonymous Coward · · Score: 0

    I write high end drivers - but not for linux

    This includes the fastest dual port Fibre Channel cards known, the best raid controllers, the first dual SCSI 320 cards, video capture encoders, InfiniBand, high end D/A boards, and much more... but not for linux.

    The reason? I usually end up creating far more intellectual property (micro OSes) than you would ever imagine required for such products and will not start work on them for open source when I am not the beneficiary of the device hardware sales in any way, including indirectly.

    I will stay with Mac/Win/BSD for now thank you.

    As a driver developer i care for LITTLE of the host OS in any way, and in fact typically recreate all the I/O schedulers for multipathing, fault tolerance, booting from raided devices, total fault tolerance, etc... I get no benefit from the Open source community, other than lots of work with very little competent competition. I've looked at several "drivers" for linux and never had such a laugh in my life. The last thing i want to do is train others in my craft, including half the engineers in India. No Thanks.

    I wish nothing more than a hardware abstraction layer to allow me to create drivers for linux. Mainly because I have so many linux buddies and they really could benefit from my hardware goodies, but nope. Politics forbids my participation. I guess only video card companies get special exemptions in the hypocrasy of linux? You want hypocracy? what about the 20 to 30 famous major projects taht STARTED as GPl and then went closed fork private after getting people to help them!!!! The foremost expert help drawn upon by these people are low level coding experts such as I. I see their goddamn scams. I will never trust a GPL zealot again becasue of the 20 to 30 major projects that stole aid and went closed source.

    OPEN UP LINUX for binary driver abstraction and get some serious I/O devices

  102. Hell No by llZENll · · Score: 1

    response 1) It should a have a tertiary kerner driver layer!

    response 2) Kernerls should never drive, they are too highly ranked, make the corporal drive!

  103. Request Denied by ewhac · · Score: 1
    There are only two reasons for wanting to release binary-only drivers for Linux:
    • To protect "trade secrets" used in the driver's code,
    • To prevent analysis, customization, and defect removal by end-users.

    Both reasons are bunk. Honestly, there are virtually no drivers I can think of that merit that level of secrecy.

    One of Linux's hallmarks is its customizability, by anyone, for any reason. If you release a driver that contains support for copy protecting music or video, I will decree that driver defective and fix it.

    Besides, the driver API is going to need to be re-designed at least one, and possibly two, more times just to accommodate modern, effective power management. The existing API is simply inadequate to the task. If you drive a stake in the ground now, you will forever preclude future necessary improvements to the driver model.

    And finally, complaints about Linux's driver API being a moving target are highly disingenuous. Microsoft has re-designed their driver API (badly) several times already, and Vista portends yet another rewrite, this time to support pervasive copy protection. Yet, strangely, the hardware vendors don't seem to have a problem with this.

    So, no. Linux's openness is a key component of its value. Binary-only drivers undermine that, and should be discouraged.

    Schwab

  104. Want one Write one by Anonymous Coward · · Score: 0

    Want a Binary Kernel Driver?

    The source code is available, write one yourself and stop crying for somebody else to write it for you.
    You don't know how to write one?
    Buy a book and C, join the kernel mailing list and read the documentation.
    That's what Free Software is all about.

  105. A good portion of hardware implemented in software by Deviant · · Score: 2, Interesting

    More and more hardware is being implemented in software. This makes sense because as the CPU has increased in speed and capability it has gained the resources and free-time to pick up the slack for less-expensive hardware implementations. If you look at the new push for multi-core and multi-CPU systems this will be even more true. Plus, as a bonus, if they mess something up then they can more easily get people to install a new driver revison successfully than to flash a device or fix a problem in the silicon.

    The problem for the open-source community is that these drivers are increasingly not just the way to talk to autonomous hardware but actually implement alot of the fucntionality of the device. Taking this in mind, the manufacturers are unlikely to give out the source code for these drivers as they will be giving their competitors a more significant view into their playbook. People in the Linux community complain about the lack of certain drivers like those for wireless cards in many notebooks, which in my understanding work as described, and are left hacking together a solution to run the Windows drivers under linux in order to get them to work. If you want things like that to work and work well in Linux then you have to give them a stable subsystem and make it as easy to port their drivers as possible while providing them the means to not give away the source which contains half of their work in creating the hardware.

    I know that is not the ideal solution but thems the breaks. It is either Linux steps up with an API and binary subsystem or they will be left with fewer hardware options consisting of what more expensive all-hardware alternatives are left for many of these peripherals.

  106. A Solution by aitikin · · Score: 1

    Everybody can just run Knoppix and be let it take care of hardware!

    --
    "Don't meddle in the affairs of a patent dragon, for thou art tasty and good with ketchup." ~ohcrapitssteve
  107. Definitely an idea whose time has come by SilentTristero · · Score: 1

    Discreet (now Autodesk Media & Entertainment yadda yadda) ships Flint and Flame on Linux (yes, x86 only). They have a proprietary high performance realtime file system that lives on attached SCSI drives ("Stone"). Are they likely to give away their "crown jewels", the source to that driver? Not bloody likely. Would their customers like to be able to pop that driver into any version of Linux other than the exact kernel and options that Discreet ships? Certainly! Would Discreet even like to allow their customers to do this? Definitely! They wouldn't have to ship an update for every RedHat kernel update for instance.

    Currently that driver has all the mangled kernel symbols in it, as well as the well-known struct-size/offset etc. issues. If there were a binary layer like nvidia uses for their drivers, this would be easy.

    Note that this is not a hardware device that is portable to PPC, Alpha, whatever other devices you might want to run Linux on so the portability concerns are moot. And the chances of getting the driver "into the tree" are zero. It's a Flame ferchrissakes. Discreet has a right to control access to its hardware and its custom software. But it would sure make everyone's life easier if their driver could install on more than just one exact kernel build!

    Anyway enough ranting for now.

    1. Re:Definitely an idea whose time has come by bani · · Score: 1

      If they want to protect their IP they should patent it. secrecy gives them NO (capital N capital O, emphasized many times) protection. Anyone can reverse engineer their stuff and make a 100% legal clone unless it is patented.

      And if it's patented, there's no point in hiding the source.

      So really, what they are doing is incredibly risky.

    2. Re:Definitely an idea whose time has come by SilentTristero · · Score: 1

      Yeah, good luck reverse engineering a high performance realtime filesystem (with its own API only used from a closed-source app) from a binary driver. Especially one where you need custom hardware to run the app anyway.

      Sure it's possible in principle. In practice, not likely.

      The real point of my post (which I failed to make strongly enough) is that there are niche Linux-based apps which don't fall into the open-source world's usual pigeonholes; this is one of them. Please make their lives easier, not harder.

    3. Re:Definitely an idea whose time has come by bani · · Score: 1

      help them delude themselves? sure, why not.

      with a 'stable binary interface' it makes it much simpler to intercept the driver with a shim (this is why it's so trivial to RE win32 drivers for example. standardized ABI tends to do that.)

      then when they're all feeling safe and secure, reverse engineer the rug out from underneath them, facilitated via the interface they lobbied for.

      make their lives easier, and ours too.

    4. Re:Definitely an idea whose time has come by SilentTristero · · Score: 1

      > help them delude themselves? sure, why not.

      Glad you agree! :-) It'd sure make Discreet's lives easier, and their customers' lives easier... yes, and warez d00dz lives no harder than they are now.

    5. Re:Definitely an idea whose time has come by laptop006 · · Score: 1

      Actually with FUSE now in distro kernels filesystems are now added to the list of low level things that can be closed source on linux without legal problems.

      --
      /* FUCK - The F-word is here so that you can grep for it */
  108. Paradigm shift. by Bollie · · Score: 1

    First off, a short comment on legality: Linus views binary drivers as legal ONLY IF they were "ported" to Linux. His view is, if they were written for the kernel from scratch, they're derivative work. Otherwise they don't derive from GPL code and (though undesired) are considered legal. Note that this "Linus" I am referring to may have no actual relation to the "Linus Torvalds" person who wrote Linux, it's just what I think I remember him saying.

    Now that's out of the way, the first curveball that hit me after Win32 world was the idea of no stable ABI. First let's get some misconceptions out of the way:

    1) Windows doesn't have a stable driver ABI.
    Ask NVidia. Ask Intel. Every service pack that can potentially break a driver means that the ABI has changed! How many times did you have to update a driver after a service pack? How many times did a driver "require" a new service pack to install? Yeah, I thought so.
    2) Distributions have "stablish" driver ABIs.
    SLES and RHEL have got reference kernels with stable ABI calls that's well documented AND YOU HAVE THE SOURCE. It's much simpler to update drivers for Linux than for a new Windows service pack since the Enterprise versions normally stick to the ultra-stable stuff.

    But, noooooo! I hear. Screw this stable stuff, stable stuff is old! And that's the crux of it. On a desktop, you don't necessarily want 99.9999% availability, you'd rather have 20 more features, but a non-serious hang once a month. The difference between the Windows model and the Linux model is: YOU NEVER GET WINDOWS KERNEL FEATURE UPDATES! You have to pay for them! And wait years and years... Yah, the service packs add features, but to most people they are considered bugfixes ;-)

    So that's why the kernel shouldn't have a stable API (let alone ABI) for drivers. It prevents big architectural decisions from being taken at the opportune moment. With the kernel under git management, it's even easier to maintain out-of-tree drivers (case in point: alsa). What developers who clamour for a stable ABI don't understand is that there _is_ one! Any fork of Linux they make can be as stable as they want it to be. If they want to benefit from continual improvement, they _have_ to make some sacrifices.

    Second-to-lastly, the guys biting of the short stick here are the distro maintainers. Again, there are many options: follow the source route like Gentoo, allow only free hardware like Debian, rely on the user base to spin driver packages like Fedora, Ubuntu and OpenSuSE, or go the stable route like SLES and RHEL. If they really want a stable video ABI so NVIDIA's drivers are even easier to install, get THEM to work together on it. If it's good, it'll get in to the kernel. If not, it won't.

    Lastly, try the following experiment. Buy a shiny new Windows XP Home (or Pro, for that matter) CD, and install it on your brand-spanking-new hardware. Now, try to write a USB driver using only software that you don't need to pay for, and for which you'd own the binaries after you'd written it. Finding it difficult? If you got it right, PLEASE TELL ME FREAKING HOW, SINCE I DON'T KNOW! Next step, PCI driver... but hey, Rome wasn't built in a day!

  109. You're asking the wrong people! by Anonymous Coward · · Score: 0

    What do you think?

    I think they should have a stable API and I think the kernel should be licensed as LGPL or similar to allow closed / non-free binary drivers. I've thought this was the right approach for years. Obviously many others disagree. My intention isn't to debate that.

    Because it doesn't matter one bit what I think. There's no reason to solicit opinions on this from the general public. It's not our code.

    The Linux kernel developers have made their opinion on this perfectly clear, again and again. They think a stable API is pointless and that binary modules are both not allowed by the GPL (in nearly every case, at least - even Linus vacillated on what was a derived work and what wasn't years ago) and - most importantly - not welcome. Even if a loophole like a stable API veneer were found that made binary modules both legal and workable (and I highly doubt that's possible), it's clear that the kernel developers won't play along and will do their damndest to break that patch in new versions.

    Some of us may think they're making the wrong move, but Linus and company wrote the code and they picked the license - it's their ball, we play by their rules or we don't play at all. If the Japanese OSDL thinks this is a showstopper, they need to consider another kernel. They're not going to change the Linux developers' minds, and a legal workaround is highly unlikely if not impossible.

  110. Commercial fork coming? by Urusai · · Score: 1

    Just cuz Linus doesn't like it doesn't mean you can't just up and fork Linux and make it work like YOU want it. The rest is mindshare. Money can buy that.

  111. I want the option to be there. by hackwrench · · Score: 1

    Besides, it will make writing drivers for prototype devices easier. There are plenty of areas where you want to move the stability/convienience/possibilites point around.

  112. out of touch linux kernel 'hackers' by bored · · Score: 3, Insightful

    Firstly, I get paid to do driver development. Secondly, I have never worked for a company that willingly said, ok lets open source the drivers we spend thousands of dollars writing and optimizing.

    That said, this whole discussion is as silly as the one about not putting a kernel debugger in the main kernel source code. Frankly, linux desperatly needs both a kernel debugger, and an ABI to be a REAL alternative for many customers. It also needs the ABI for driver developers so that we can write a single driver and expect it to work on the dozens of flavors of linux we are expected to support. Saying that everyone should opensource their drivers is like saying food should be free. It isn't going to to happen and wishing for it, won't make it happen any sooner. In the interm, almost all the hardware out there has better support on windows (Our sysadmin can't even get support for major linux distributions, from major hardware vendors, even when they have little linux logos on their hardware and websites) the windows drivers tend, to accually work, and they almost always have better features sets. This isn't going to change as long as the "opensource" community treats hardware vendors that think they have IP in the driver as second class citizens.

    Oh, and for people who don't accually work for hardware companies that ship drivers, driver development is often times an expensive process, not because the software engineers are expensive, but because the hardware and software needs to be tested and certified in particular enviroments. There are orders of magnitude more linux distributions this makes it cost orders of magnitude more to test and support than a half dozen windows enviroments, most of which can be tested at microsoft, or one of the major OEM's if the hardware isn't avialable onsite. Putting 10x the money into a market that may be less than 1/10 of sales is not always a good idea, especially when resources are limited. Creating an proper ABI helps to solve this problem.

    That said, if the damn linux kernel accually had a real architecture, it could support an ABI, and even isolate itself from rogue drivers. As it is, the kernel arch is pretty much non existant and just a pile of code that tends to behave like a real kernel, except when you try to do something a little outside of the mainstream desktop or small web server enviroment. This was fine when the whole kernel was just a few hundred thousand lines, but given its current size its getting massivly unmaintainable. This is proven by the fact that linux system stability seems to have gotten really bad over the last few years. Getting to a stable system, takes a lot of vendor testing by the likes of Suse, Redhat, etc.

    Lastly, the tainted concept works fine for the kernel developers, why not carry it forwared so that any binary driver simply marks the kernel as having a binary module loaded, and uses the standard abstract interfaces instead of linking against all kinds of unneeded kernel crap that just provides the posibility to screw something up.

    1. Re:out of touch linux kernel 'hackers' by ledow · · Score: 5, Informative

      First, I think you're missing the fact that, overall, Linux doesn't care that you can't put your binary-only drivers on it.

      Linus has said publically many times that the reason that there is not ABI is because he doesn't want one. Binary drivers for *anything* end up screwing stuff up. When they do, there is NOTHING anyone but the original author can do. The code stagnates, users get shut out without any help and nobody is any the wiser as to how that hardware actually worked in the first place.

      That's WHY there is stuff like the kernel module license tainting, so that the kernel developers look at a problem, see that you have the massive unknown of a in-kernel binary loaded and can instantly filter your report out. They don't care that your binary driver doesn't work. They can't help you.

      Additionally, setting anything into a static position means that development of it ends and stagnates. You'll never get a static interface that you can use to extend the drivers when new features come along. You end up with all sorts of kludges and interface versioning to try to take account of new things.

      Linux is developed as an independent operating system, not Windows 2006. No-one wants to make you use it if you don't want to. I doubt Linux was ever intended as anything other than a "pure", almost theoretical, system; that is, one that can be constantly redesigned from the ground up to the way it should have been, not kludged to make it fit your eight-year-old driver (which the author is no longer available to update) for a mouse that happens to still use the old interface.

      "Frankly, linux desperatly needs both a kernel debugger, and an ABI to be a REAL alternative for many customers."

      Whoa, magic word customers. Linux doesn't have customers. Your company may have customers. There's no obligation on Linux to help you get/keep your customers. People use Linux because they want to. How often does Linus appear on your telly begging you to buy into Linux? Never. Because he doesn't care if you do or not. However, I do imagine it feels pretty nice to him that you do want to use it.

      "It also needs the ABI for driver developers so that we can write a single driver and expect it to work on the dozens of flavors of linux we are expected to support."

      *You* are expected to support whatever you decide to make. Unfortunately, the linux kernel developers are expected to support YOU, your hardware and everyone else in the world. They don't because they cannot and have no reason to. Even if they had your complete source code, they cannot be expected to maintain your driver for you (which is what will happen when your company goes bust / gets bored with OS).

      Sometimes the best-written drivers in the world are not taken into the kernel because they don't quite fit and the maintainance involved in keeping them in the kernel is too difficult. Your driver, if it is to have any support in the kernel, needs to be able to be updated on any kernel-coder's whim in order to make the whole a better system. You can't do that with binaries, you can't even do it with stable interfaces. You have to have the source.

      The kernel coders have never promised that your stuff will always work (unless it is designed to run purely from userspace... several times Linus has says that userspace interfaces will not MUCH change over time.). They haven't because they cannot.

      The nature of the system is changes to bring improvements, from the interrupt system to the IDE interfaces, from the schedulers to the userspace interfaces such as sysfs or procfs, Linux changes and evolves over time and they cannot guarantee that anything other than userspace syscalls and the like will not be broken, changed or improved between one kernel release and the next.

      When the linux kernel people discover a new way to write drivers that sees enhancements across the board, chances are that they are going to break any of your "single driver" models. That's why they won't give you one. Them im

    2. Re:out of touch linux kernel 'hackers' by Skapare · · Score: 1

      Why do you even need to develop a special driver, anyway?

      Why would the features vary between one driver (for Windows) and another (for Linux)? Aren't you trying to sell hardware?

      OK, let's say that you have some reason to do so. If you make the driver open source, and if that driver gets adopted into the Linux kernel tree, that puts your hardware at a market advantage because at that point it can "just work" with any Linux system with that version of kernel or later. Then when the ABI does change (as it may need to in the future), it gets maintained for you in the kernel development process (which you could also participate in to help ensure the driver for your hardware continues to work effectively).

      I don't know even what kind of hardware device this is that your employer makes and that you write drivers for. If I did know, I could know whether it was some really special kind of device that needs a unique driver, or if it is some general kind of device that perhaps you should use a generic driver for (and put all your smart advanced features in the firmware on the device, running on that device's own CPU, instead of running in the host CPU).

      BTW, isolating an environment for securely running device drivers is fundamentally going to be difficult. The driver needs to access the device, and if you have to create an abstraction to that, you are also creating a performance hurdle since every access has to be requested through the kernel and verified as to permission (e.g. so the driver cannot access other devices or memory structures or processes, etc). Drivers work better when they are trusted to do the right things and don't have to be watched over all the time. They work faster if they can access the device with direct memory references instead of having to run through dozens or hundreds of kernel core instructions for each access.

      So tell me what this device is that I may tell you the way a driver really needs to be done for it.

      --
      now we need to go OSS in diesel cars
    3. Re:out of touch linux kernel 'hackers' by Anonymous Coward · · Score: 0

      Secondly, I have never worked for a company that willingly said, ok lets open source the drivers we spend thousands of dollars writing and optimizing.

      They don't need to. Just open the hardware specifications and let volunteers try it. Sure it is better for the company if they also support Linux officially, but it is better to have open specifications that having nothing. For both to the community and to the company.

    4. Re:out of touch linux kernel 'hackers' by guitaristx · · Score: 2, Insightful

      Saying that everyone should opensource their drivers is like saying food should be free.

      Actually, no, saying that everyone should opensource their drivers is like saying that recipes should be free (as in speech).

      We're not expecting vendors to give away their hardware, we just want them to give away the interface to that hardware. Does that open things up for reverse engineering? Possibly, but a reverse-engineered video card probably isn't going to perform as well as the original. It'd definitely be better for the card manufacturer in the long term (which means we need to convince manufacturers that long-term thinking is good), since they would have less load on them for software development, and it'd be better for the Linux community, because we have the hardware specs straight from the horse's mouth, which means we can operate the hardware exactly as the manufacturer intended.

      Yes, changing to an open-source model for drivers is a big step, and will cost manufacturers in the short-term, but the long-term benefits are worth it.

      --
      I pity the foo that isn't metasyntactic
    5. Re:out of touch linux kernel 'hackers' by aeoo · · Score: 1

      "That said, if the damn linux kernel accually had a real architecture, it could support an ABI, and even isolate itself from rogue drivers. As it is, the kernel arch is pretty much non existant and just a pile of code that tends to behave like a real kernel, except when you try to do something a little outside of the mainstream desktop or small web server enviroment."

      This ad-hominem hugely detracts from your message. It sounds to me like you are a bitter and/or suffer from a case of "sour grapes".

    6. Re:out of touch linux kernel 'hackers' by Billly+Gates · · Score: 1

      "When the linux kernel people discover a new way to write drivers that sees enhancements across the board, chances are that they are going to break any of your "single driver" models"

      Wrong. They will just write a newer api version or perhaps support multiple abi's.

      The free drivers will use the better and newer api's and vendors will recompile them to the newer api's as well. Problem sovled and it works this way in the commercial OS world.

      ALSA is a classic example of what an api can do and how it brings in driver makers.

      Maybe the only true solution is to fork the kernel. I would be more than happy with my stable closed source drivers and I could run older apps without worrying about compatibility problems by having a stable abi.

      Or watch solarisx86 take the market? FOr a server these days it makes more sense and i know the vendor has quality certified drivers. I could update solaris if a kernel security problem arised without breaking my system.

    7. Re:out of touch linux kernel 'hackers' by Anonymous Coward · · Score: 0

      Your argument if fucked. The Linux kernel is far more complex than any driver that has been written for it and yet it is free, isn't it?

      If an accurate hardware interface specification is made available, drivers will be written. You want to get paid, and that's fine. I would imagine that drivers would need to be written for the main target OS for a peice of hardware for release and someone (maybe even you!) would still get paid for that work. Let someone else write the drivers for OS's that aren't worth the bajillions of dollars of development time required.

    8. Re:out of touch linux kernel 'hackers' by bored · · Score: 4, Informative

      Oh, where do I start... I could talk about every one of your points.. lets just pick a few.. Firstly, the lack of hardware support for things like grandma's web cam, and caching SATA controllers hurts Linux much more than it hurts adaptec or joe blow's web cam co. If linux is to be just used by hackers for hackers that's probably fine. That isn't the impression I get from "linux people" who are constantly whining about lack of hardware support.

      Additionally, setting anything into a static position means that development of it ends and stagnates.

      Really? Could have fooled me... Windows can still run DOS and Windows applications from 20 years ago, linux can still run application from 10 years ago. When an API is created, usually there are hooks for extending it in the future. I wouldn't say either one has stagnated, over the course of the last 10 years. If that were the case windows wouldn't run on my quad 64-bit athlon.

      *You* are expected to support whatever you decide to make. Unfortunately, the linux kernel developers are expected to support YOU, your hardware and everyone else in the world.

      But its our brand which gets damaged, when plugged into a linux box, and it works at 1/4 speed, or looses data because the developer who implemented the driver forgot some important edge case.

      They really don't care about you and your binary drivers

      No, but the weekly calls by linux users asking for them says that Linus and friends are only a small part of the community.

      Stick a Knoppix CD in a computer and see how much of the hardware is supported by default. 90% if not more? Include binary-only winmodem/USB ADSL/philips webcam etc. drivers and you get close to 99%.
      Sure, linux supports a lot of hardware, but there is a lot it doesn't support, or supports in a seriously half ass way. I would venture a guess that about 40% of the drivers in the kernel don't actually work based on my experience running linux since the early '90s. When I say don't actually work, i'm saying the driver cannot recover from rare hardware error conditions (like FC cable pulls for example), doesn't fully work. Doesn't work in all situations, for example SCSI adapters that work fine with harddrives but don't work with tape drives because they cannot deal with the rare condition of a tape drive returning check conditions and data at the same time. Or, works fine at some fraction of its rated capability. This isn't counting the fact that the kernel developers often break functionality in the kernel drivers when they change stuff and it doesn't get discovered for 6 months, because the developer making the change didn't test the driver that was affected. Now, your average slashdot weeny doesn't see this because they have standard whitebox or dell machines, that are the same as the other 90% of slashdot weenies. In real life there is a vast amount of strange hardware out there, professional audio cards, hardware encryption engines, 4 port fiber channel cards, ficon, 10G ethernet cards, large disk arrays, big memory systems, 10's of different types of system management interfaces for monitoring things like, system ECC soft errors, redundant power supplies status, etc. The list goes on. In many cases the linux driver was written and tested a year ago, a bunch of people are using it in a production environment and it has been broken for 6 months in the mainstream kernels. I was responsible for fixing a number of race conditions in the VMM a couple of years ago, that only occurred with a SMP box that had more than a couple G of RAM (a rarity back then). This was suppose to work, but it didn't because the people with 6G of ram didn't test it with SMP applications and the people with >2 CPU's didn't test with more than a few hundred megs of RAM. Recently I tried bench marking a 3TB disk array in linux, only to discover that it didn't work in over half of the file systems I tried (XFS, Reiser, JFS, ext2, ext3) and in at least one case worked but was so slow it was unusabl

    9. Re:out of touch linux kernel 'hackers' by bored · · Score: 1

      We're not expecting vendors to give away their hardware, we just want them to give away the interface to that hardware.

      Today, in many cases more development effort goes into the driver than the hardware, sure you can have the specs but, when we release version 1.1 of the hardware, who is going to update the opensource driver to deal with the bugs that got introduced? Who is responsible for the bad benchmarks our hardware gets because the opensource driver can't perform as well as the closed source one we spend money on. The list goes on, all of this to sell maybe 5% more hardware. Its simply not worth it from the perspective of the managment, of most hardware companies that would rather spend a little extra on the next cycle of marketing.

    10. Re:out of touch linux kernel 'hackers' by bored · · Score: 1

      This ad-hominem hugely detracts from your message. It sounds to me like you are a bitter and/or suffer from a case of "sour grapes".

      Maybe that is the way it comes across, the truth is like many software project linux doesn't have an overall architecture (or even a roadmap) from which enhancments are made. The fact that the VMM, scheduler or any other piece keeps having major parts rewritten is listed as a feature. In my book that simply says the instead of planning for the future and extending into that plan as time progresses, linux is a collection of 'hacks' put together to experment with a particular method for solving the problem. Now if your opinion is that this is good way to develop software, and the resulting issues caused by such changes can be ingnored so be it. Personally, I don't mind ad-hoc development, but the core of the computer is the most CRITICAL part, any performace problems, or stability problems are catastropic. In these cases I would expect slightly more rigor than what the kernel has.

      Now if someone were to say, vmm page eviction is a hard problem to get right, lets build a system that lets us play with diffrent eviction algorithms that would be cool. Instead we have the attitude, lets peephole optimize this piece of code and completely replace it in a few months when someone else manages to write a slightly better version, hapazardly replacing everything that might get in the way of the new version. This ignores the fact that code does tend to stabilize over time. Plus people have been writting operating systems for 45+ years now. They are a pretty well understood problem, and the parts that arn't well understood are pretty self contained. It should be easy to build an architecture that is extensable without having to rewrite big pieces to add things like SMP support, modules, or even dynamic device configuration.

    11. Re:out of touch linux kernel 'hackers' by Anonymous Coward · · Score: 0

      All very possible, but your arguments are ones made of the current now real world situation. The people who fundamentally write linux oftently have a different vision on how they want that to be. If they are wrong the system will disappear, if they are right and can get enough traction the system will flourish. Even then it is ofcourse a matter of how much you got right and how much wrong. Which you can hold very very long discussions over, like you see here.

      Now the real issue at stake here is the philosophy on how to make things, you don't agree with it, obviously. But you would have to argue back on a fundamental level why this or that method is better, you can focourse bring up practical elements in suh things but only to a point. The reason is there are things like competitive exclusion which automatically tends to lock economic systems into one mode making it hard for a different type to find entry. This means sometimes problems are created by the old market type and not by the proposed system. As such you should try to get your arguments to cover the truly relevant portions and not the artificially created constructs.

      Now to get this into practical terms, Linux is not perfect, does not claim to be and I don't beleive then most practical people will claim it will work properly in all cases. All the other OS's have the same disclaimer ofcourse, so this isn't a point of differance. The point of differance is thus drivers, if I use the ABI system can I get my many years old hardware to support forinstance a 10 TB raid array? Meh, I doubt you could, not in windows, not Mac OS. And in general not in Linux, except if you are a programmer, then you could in that rare case edit it so you could. From your own examples I get the impression that is exactly what you did as well. Did you also contribute it back to the main kernel afterwards?
      What this comes down to, the driver area isn't really different either usability wise seen assuming you give equal chance for both sides to develop from an equal starting point, which isn't actual the case at this moment. You could start arguing over IP but that is a really massive discussion with no clear answer, in some aspects being open is harmful in other aspects being closed is harmful.

      Which brings us to the real issue, drivers nowhere are actually not that good in any single case at all. You could argue the fixing ability gives OSS some minor edge in the situation of true equal competition, but disregarding that further, it all is quite messy. I would say this might be a signpost that thought should be put into finding a better way to get drivers developed, maybe some standardisation could help? I have no real knowledge of the complexities of the field, but I'm sure you could do many small things that will make things overall alot better. Just to make a guess, but I forinstance do think that having the source could help trace down bugs for people who do unusual things with hardware. It certaintly would be a plus if possible. You'd also like to have some way to better insure overall quality, maybe some many party financed organisation could help in this? For instance make it hire developers who's sole goal is to make new and improve old drivers.

    12. Re:out of touch linux kernel 'hackers' by schotty · · Score: 1

      So if I understand correctly here (I am not a talented developer by any means), would it not be feasible and possible to make it work both ways? Create an ABI for closed source drivers to build on, but still allow whatever it is that is going on now?

      How is that a bad idea? I would love for more hardware to have more than minimal or zero support.

      --
      Sigs are nice guns ...
    13. Re:out of touch linux kernel 'hackers' by guitaristx · · Score: 1
      I understand what you're saying, but, IMHO, a hardware vendor has two options regarding software if they want to adopt an open-source model:
      1. Release the hardware specs and let the open-source community maintain the drivers.
      2. Keep all proprietary don't-want-this-publically-visible code on-board the hardware as firmware (which could possibly overlap with 1. - a developer probably wouldn't know if they're interfacing with direct silicon programming or firmware anyway). I don't have a problem with hardware vendors keeping secrets, as long as they're still friendly to the open-source community while doing so. If the hardware vendor's best features are written in code and not in silicon, I don't believe that the open-source community should steal those features from them. Again, I would expect that hardware vendors would keep certain circuit designs and code proprietary, because that is intellectual property that they are attempting to make money from.
      In spite of the usual corporate mindset that is driven by time-to-market, I believe that hardware vendors would benefit from a more open-source-friendly marketing strategy. It would increase the stability and robustness of the system as a whole, and train both Linux developers as well as hardware manufacturers to effectively and consistently hit the moving target of evolving hardware.

      In response to your particular scenario, one of two things would be true of each bug in the 1.1 version of the hardware: either the new hardware breaks the spec and the old did not, or the old broke the spec and the new does not (in which case the driver was written according to the broken hardware, and not to spec). It is the hardware vendors' responsibility to provide specs for interfacing with the hardware, and it is the software developers' responsibility to write drivers according to that spec. So, the solution to your particular scenario would be that the 1.1 version of the hardware would need a new specification with it (more than likely, since it's a minor version change, presented as a delta from the original spec). If the spec is right, the Linux developers are going to have a good chance (and probably a better chance than most closed-source shops) of creating a robust driver that operates the hardware at the best performance possible.

      As for your comments about effort vs. return, this is where understanding the benefit of an open-source-friendly is key. Yes, you're only reaching 5% of the market, but by spending the extra effort for doing so, how much money are you saving over 5 years by having a more successful (read: less buggy) software development model? How much will that 5% section of the market grow in 5 years because you adopted an open-source model? Your assessment of effort vs. return is a bit shallow and short-sighted.
      --
      I pity the foo that isn't metasyntactic
    14. Re:out of touch linux kernel 'hackers' by Anonymous Coward · · Score: 0
      Yes, you're only reaching 5% of the market, but by spending the extra effort for doing so, how much money are you saving over 5 years by having a more successful (read: less buggy) software development model?

      Where is your proof for this? without any proof your whole argument is bogus?


  113. Should Linux Have a Binary Kernel Driver Layer? by Anonymous Coward · · Score: 0

    No.

    Next question.

    1. Re:Should Linux Have a Binary Kernel Driver Layer? by mihalis · · Score: 1

      It surprises me that "register level documentation" (RLD) is really expected. The supposition seems to be that whatever is built into a device should be subject to full disclosure. That would be nice, but I contend it's unrealistic. Imagine the RLD for a Radeon RFOO card. If it really were complete, there would be statements such as "this command uses hardware accelerated foobarpixelthing but don't use it for 24-bit color, we screwed up, all RFOO series cards have a really bad performance glitch doing this this way, instead do it as follows". In other words, hardware bugs. Then there are other issues such as entirely new types of rendering support. Imagine "this card actually has a complete MagicShaderWatchamcallit pipeline but we changed the API after the final silicon for this generation because it was basically crap and too hard to use, so had to push announcement of MagicShaderWatchamacallit support until the next generation and so that stuff is wasted in this card". Or even "the way we get excellent OpenGL performance is with this routine that we basically stole from SGI, don't tell them!".
      This is all made up and that's the point - even without knowing the details of any particular card, it's trivial to imagine why complete RLD is unrealistic for hardware such as 3d graphics which is so intensely competitive right now.

    2. Re:Should Linux Have a Binary Kernel Driver Layer? by Shanep · · Score: 1

      This is all made up and that's the point - even without knowing the details of any particular card, it's trivial to imagine why complete RLD is unrealistic for hardware such as 3d graphics which is so intensely competitive right now.

      I don't and never have expected complete in-house RLD. I know it is not required to do the full job as the device is advertised as supporting. What I want is enough RLD to make the product work, with pertinent "revealing" comments or buggy register implementations removed if need be.

      Consumers pay money for these products, they have a right to know the state of play. I will never purchase the garbage that Adaptec sells again, simply because I know how buggy their products can be while they just simply hide it to continue making money. Bear in mind that this is NOT a valid arguement supporting your arguement, this is rather a company which makes garbage and then tries to hide that fact. The fault ultimately lies with Adaptec, not their open or closed stance. It is absolutely unacceptable and dishonest. Also consider that there are some companies out there which make good products which they are willing the stand behind with RLD. Those companies should be rewarded, not companies which have terrible secrets to hide.

      Would you argue that consumers should be left in the dark about a product they own WHICH IS DEFECTIVE? We should expect better, as does Theo de Raadt. His efforts in this regard draw out the GOOD from the BAD and have been good for OSS in general.

      I'll leave you with this to ponder... "Where would we be today, if all CPU's did not come with register level documentation?"

      That is what is trivial to understand. Complete lack of RLD for devices we all pay for is completely unacceptable. Especially when a working subset can be given. If a working subset cannot be given, then the device is broken, as are the companies morals. Because they are willing to take your money while knowingly selling you defective products.

      --
      War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?
  114. Re:No Thanks! - Disagree Completely by Anonymous Coward · · Score: 0

    > this is just a great way to promote closed source inside the linux kernel

    But as the FA noted, closed source inside the kernel would be highly illegal according to the GPL.

    It looks like there are two issues here, the open/closed source issue (hardware vendors who want to make close-source drivers), and the programming efficiency issue (driver programmers who don't want to rewrite their drivers every time the kernel is updated).

    It looks to me like the GPL takes care of the first issue quite well by itself, so if your concern is preventing closed source drivers, the lack of a kernel API is redundant and unnecessary.

    In terms of the second issue, cereating a kernel API looks like a good solution to an old problem.

    Or am I missing something?

    If someone could explain wht the GPL alone wouldn't protect against closed source drivers, or why a consistant API for open source driver writers would be bad, I'll change my position.

    Otherwise, this looks like a good idea to me.

  115. *I* have an idea! by Anonymous Coward · · Score: 1, Funny

    Reimplement Linux as a microkernel with user-mode binary drivers!

    1. Re:*I* have an idea! by Anonymous Coward · · Score: 0

      I have an idea! Buy a Mac!

    2. Re:*I* have an idea! by Chuckstar · · Score: 4, Interesting

      I know you're joking, but how about this for an idea:

      A hybrid kernel. Open source drivers are compiled into the kernel. There is a API for closed-source drivers to run in user-space.

      Does not violate GPL.
      Little compromise to stability.
      Developers who only want to do closed-source drivers can do so.
      Developers have incentive to open source their drivers in order to have better performance and take advantage of newer kernel features (the internal APIs are updated with the kernel, the external APIs stay fixed and fall behind the feature curve).

      Win.
      Win.
      Win.

      Unless its just a philosophical question, in which case ... rant away open source crazies. ;)

    3. Re:*I* have an idea! by Anonymous Coward · · Score: 0

      Oh yeah, that's really gonna help out with a stable driver API in Linux :D

    4. Re:*I* have an idea! by Anonymous Coward · · Score: 1, Insightful

      You do realize that MacOS X does not have userspace drivers, and is not a microkernel in the usual sense of the word?

      Just because they used the VM layer from mach doesn't make it a microkernel. Though at least the graphics driver runs mostly in userspace (much just like X11 on UNIX, in fact).

      Oddly enough, NT4 is still considered a microkernel by some, despite having GDI, all drivers and all filesystems in kernel. Linux+X11 is more of a microkernel than NT4!

  116. Sure, but with limitations by kdekorte · · Score: 1

    I could see a Binary API with the following conditions.

    1. Bug reports for kernel issues where a driver is using the Binary API are rejected or given very low priority just like now when the Kernel is tainted
    2. Vendors who use the ABI are REQUIRED to open the driver within a period of time.. say 18 months. If they do not comply the vendor will be blacklisted from the kernel
    3. Some other additional conditions that I have not though of.

    1. Re:Sure, but with limitations by Anonymous Coward · · Score: 0

      So basicly, you want it, but only if the people who use it take it up the ass? Ya... that will get hardware vendors to use Linux.

  117. Re:Stability like that leads to stagnation and dea by Kazoo+the+Clown · · Score: 2, Funny

    One of Linux's great strengths is the flexibility of changing to meet new needs and not being hobbled by rigid backwards compatibility.

    Yeah, let's hobble it with dependency hell instead.

  118. Re:Stability like that leads to stagnation and dea by twiddlingbits · · Score: 1

    Stagnation? You need to look again. Sun has a LOT of new products that have shown up recently. Dual core AMD processor 1U servers starting at $795 isn't something new?

  119. Re:Of two minds - I write high end drivers by Anonymous Coward · · Score: 0

    Exactly!The current situation chases away developers such as I.

    I write high end drivers - but not for linux

    This includes the fastest dual port Fibre Channel cards known, the best raid controllers, the first dual SCSI 320 cards, video capture encoders, InfiniBand, high end D/A boards, and much more... but not for linux.

    The reason? I usually end up creating far more intellectual property (micro OSes) than you would ever imagine required for such products and will not start work on them for open source when I am not the beneficiary of the device hardware sales in any way, including indirectly.

    I will stay with Mac/Win/BSD for now thank you.

    As a driver developer i care for LITTLE of the host OS in any way, and in fact typically recreate all the I/O schedulers for multipathing, fault tolerance, booting from raided devices, total fault tolerance, etc... I get no benefit from the Open source community, other than lots of work with very little competent competition. I've looked at several "drivers" for linux and never had such a laugh in my life. The last thing i want to do is train others in my craft, including half the engineers in India. No Thanks.

    I wish nothing more than a hardware abstraction layer to allow me to create drivers for linux. Mainly because I have so many linux buddies and they really could benefit from my hardware goodies, but nope. Politics forbids my participation. I guess only video card companies get special exemptions in the hypocrasy of linux? You want hypocracy? what about the 20 to 30 famous major projects taht STARTED as GPl and then went closed fork private after getting people to help them!!!! The foremost expert help drawn upon by these people are low level coding experts such as I. I see their goddamn scams. I will never trust a GPL zealot again becasue of the 20 to 30 major projects that stole aid and went closed source.

    OPEN UP LINUX for binary driver abstraction and get stable and serious I/O devices.

  120. Snappy Answers to Stupid Questions by npsimons · · Score: 0, Flamebait

    Q: Should Linux have a binary kernel driver layer?

    A: No. Next question.


    But seriously, if we wanted binary only proprietary drivers, we'd be running Windows or MacOS. If you can't play by the rules, then fuck off. It's called OPEN SOURCE for a reason. Furthermore, if you are a hardware company, what do you care about the client side software? Are you selling hardware? Or are you really a shitty closed source software company in disguise? Note: this goes for you all hardware companies that pull this shit (I'm looking at you, ATI, with your buggy closed source user level "driver" libraries. Nvidia is only slightly better because their drivers don't crash on a switch between X and console).

  121. Re:What does it matter what 90% of slashdotters th by Anonymous Coward · · Score: 0

    that doesn't mean they don't also use linux

  122. necessary for the desktop by Khashishi · · Score: 2, Insightful

    This is necessary if we ever want Linux to be ready for the desktop. The ability to have driver modules is certainly more advanced than having everything compiled into the kernel, but it's severely lacking in many regards. The module has to be custom made for each kernel, making binary distribution useless because there are 2^100 kernels out there. So unless the manufacturer open sources the driver, they can't make a driver for Linux. Or you could go with an open source interface to a closed source driver.

    Here's a sample of what I put up with. I downloaded Agnula Demudi 1.2.1 and installed it with the 2.6 kernel. I was ready to install some Nvidia drivers. But after some searching, I couldn't find any binary driver interfaces compatible with my kernel. Fine, I can compile my own. So I download the interface sources and launch module-assistant. It complains that riva driver support in my kernel conflicts with the nvidia driver, and I need to recompile the kernel. (I then went through the joy of trying to find the hidden demudi sources and figuring out how to patche them and configure them, ultimately failing to compile it, but this is getting away from the topic.) Finally, I said screw it.

    You might blame the distro, but it's really the kernel at fault here. Recompiling the kernel to support a driver is NOT something that a user should have to do. Windows does not require you to recompile your kernel to install drivers.

    1. Re:necessary for the desktop by robertjw · · Score: 1

      You might blame the distro, but it's really the kernel at fault here. Recompiling the kernel to support a driver is NOT something that a user should have to do.

      How is the kernel at fault? The kernel is what it is. Anyone that's used Linux for a while, which you appearantly have, knows you have to either download a driver specifically compiled for your kernel or compile your own. The fact that there is a compatibility problem with the nvidia driver could be construed as a kernel, or at least driver module developer problem, but how can you complain about the ability to compile your own driver? I don't know about your particular situation, but a user doesn't generally HAVE TO compile their own drivers. There are distributions out there with excellent driver and module support, don't like compiling your own drivers, use one of those.

      Windows does not require you to recompile your kernel to install drivers.

      Not only does Windows not require it, compiling your own kernel in Windows isn't even an option. If you want binary drivers and no options for customization, Windows may be the OS for you.

    2. Re:necessary for the desktop by cortana · · Score: 2, Insightful

      > So unless the manufacturer open sources the driver, they can't make
      > a driver for Linux.

      Boo fucking hoo. I'll take my money elsewhere...

    3. Re:necessary for the desktop by leabre · · Score: 1

      Not only does Windows not require it, compiling your own kernel in Windows isn't even an option. If you want binary drivers and no options for customization, Windows may be the OS for you.

      I suspect this is not only perfectly acceptable, but preferable for the vast majoriy of people out there (non-geeky shlashdot types) such as business manager, mom, pa, grandma, senate, etc. and wouldn't be an issue to people other than OSS purists and uber geeks and people who won't embrace change. I mean, let's face it, the Zealots want market pentration, but the conditions by which it much happen (compile your own kernel, etc.) may not exactly be helping (or inhibiting) the matter, but not requiring a kernel compilation or even providing the ability to for some proprietary driver may not exactly inhibit it, either, and very well, could help. But what do I know. I'm not a Zealot(tm).

      Thanks,
      Leabre

    4. Re:necessary for the desktop by Anonymous Coward · · Score: 0

      So you're saying you don't have an nVidia or ATI card in your machine? Bullshit.

    5. Re:necessary for the desktop by EzInKy · · Score: 1


      So you're saying you don't have an nVidia or ATI card in your machine? Bullshit.


      ATI cards work fine with the open source drivers with 3D support for up to R200 cards. R300 and above 3D support is currently being tested in CVS.

      --
      Time is what keeps everything from happening all at once.
  123. Stupid question time... by schon · · Score: 1

    Disclaimer: I'm not a kernel hacker, nor do I play one on TV.

    Do your really believe that the answer is to trade stability for convenience? As the parent said, we would be right back to where Windows is.

    Stupid question: is it possible (with the current kernel architecture) to have them run in userspace?

    I realize there are performance implications (IIRC MS tried it with NT3.5) but if it's possible, could it give them the ability to "try" supporting Linux, while still maintaining the stability we expect?

    1. Re:Stupid question time... by robertjw · · Score: 1

      Stupid question: is it possible (with the current kernel architecture) to have them run in userspace?

      I don't believe so. Seems like I've read some discussions about that, but I don't think there is a way to do it. Thing is, hardware companies can release binary kernel modules as long as they are compiled for the kernel you happen to be using. Many of the major distributions have set kernels that modules can be compiled for (Red Hat, Linspire), so it's not like a hardware manufacturer can't release a closed source driver module, it just may not work for users that are compiling their own kernel. I really don't think that having to release an open source driver is the obstacle for most hardware vendors providing drivers. If there were a large enough market demand for their drivers they would find a way around the problem. That market demand isn't there, so it doesn't really matter how a driver is created, hardware manufacturers aren't going to spend the resources to develop it.

    2. Re:Stupid question time... by AKAImBatman · · Score: 1

      Stupid question: is it possible (with the current kernel architecture) to have them run in userspace?

      Yes. There are quite a few drivers out there that run in Userspace and only use various port commands to access the hardware. It can still screw things royally (true of any software that mucks at that low of a level), but an overflow, NPE, or divide by zero is unlikely to screw the running kernel.

      As you say, though, the problem is that it's God awful SSLLLLLOOOOOOWWWWWW. (Insert the 6Million$Man/BionicWoman "Wa wa wa wa wa" sound *here*.) It would be so nice to have an Object Oriented Operating System that doesn't need such crude concepts as rings of hell^W^W^W^W protection mode access.

    3. Re:Stupid question time... by MSZ · · Score: 1

      Many of the major distributions have set kernels that modules can be compiled for (Red Hat, Linspire), so it's not like a hardware manufacturer can't release a closed source driver module, it just may not work for users that are compiling their own kernel.

      Oh yeah? It works as long as you never ever update the kernel. Not even bugfix from the distro. Update with bugfix release - your binary drivers won't load. I've had this problem many times.

      Fighting against binary drivers is stupid. Do you realize, what would happen, if all the equpiment had open source drivers? 10 GB kernel source and who's going to support and debug that? Not to mentiong the fact, that many equipment manufacturers don't have rights to open their source.

      Linus' thinking is what makes, for example, keeping wireless networking to be so much PITA under Linux.

      But let's keep Linux for the programmers with reverse engineering skills only. It's so cool when other people can't use it with off the shelf hardware.

      --
      The moon is not fully subjugated. I demand a second assault wave preceded by a massive nuclear bombardment.
  124. I would rather have drivers than fanaticism by Anonymous Coward · · Score: 3, Insightful

    First of all, I completely understand that drivers with source are better than binary-only kernel drivers. However, the fact of the matter is that companies do not feel comfortable freely releasing their intellectual property. Given the choice between a piece of hardware in a laptop which doesn't work with Linux at all and one that works with a binary-only driver, I would rather have the binary-only driver.

    As long as Linux kernel developers complain that binary-only drivers are "illegal", Linux will have less hardware support. One of the major complaints people have against Linux is that a lot of devices that one can attach to a Windows machine plain simply do not work in Linux (I still think Linux is far behind Windows when it comes to wireless drivers, for example). I want to see a true alternative to Windows on the desktop; GPL fanaticism and an inability to understnad how big corporations work harms this.

    1. Re:I would rather have drivers than fanaticism by TeknoHog · · Score: 1
      As long as Linux kernel developers complain that binary-only drivers are "illegal", Linux will have less hardware support.

      Binary drivers are illegal because of the choice to license Linux under the GPL. There's little point in trying to change this fact; it's been GPL'd for 14 years and it's worked great so far. If you don't like GPL, don't use GPL'd software.

      When you use Linux, it's a good idea to do your homework prior to buying hardware. You don't buy a Mac and expect it to run Windows perfectly either. On the other hand, you don't need to get specially Linux-certified hardware as long as you do some basic checking.

      --
      Escher was the first MC and Giger invented the HR department.
    2. Re:I would rather have drivers than fanaticism by DaveV1.0 · · Score: 1
      Then don't complain about people using Windows, the lack of hardware support for Linux, or say that Linux is ready for Joe User's desktop.

      You don't buy a Mac and expect it to run Windows perfectly either.

      Macs don't run Windowsm they run OS/X. And, the programs they run, run well. One can even run the Mac version of Office without problems.

      And, while one does not need to get "specially Linux-certified hardware", one generally can not use the latest hardware or obscure hardware because there is no driver for said hardware.
      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    3. Re:I would rather have drivers than fanaticism by TeknoHog · · Score: 1
      Then don't complain about people using Windows, the lack of hardware support for Linux, or say that Linux is ready for Joe User's desktop.

      I didn't do any of these things. Perhaps you're mistaking me for someone else.

      > You don't buy a Mac and expect it to run Windows perfectly either.

      Macs don't run Windowsm they run OS/X. And, the programs they run, run well. One can even run the Mac version of Office without problems.

      My point was that you shouldn't complain when you buy machine that's advertised as a Windows box, and it fails to run Linux perfectly.

      --
      Escher was the first MC and Giger invented the HR department.
    4. Re:I would rather have drivers than fanaticism by Reziac · · Score: 1

      While having to do some basic checking isn't an unreasonable requirement -- most ordinary users won't.

      If (as you mention in a reply below) a machine is labeled "for Windows", a savvy user might conclude that it contains components like winmodems, thus is generally unsuitable for alt-OSs.

      But if it's a generic PC, even experienced folk tend to assume that it will run any PC-compatible OS without complaint. Hence one expects drivers to be available (and included), and it comes as an unpleasant surprise when they're not.

      I remember in the early days of WinNT, how limited the hardware compatibility was, and all the screaming about poor or absent drivers. And the common retort of the day was "check the HCL first!" Sound familiar? :)

      Linux has become a lot more random-hardware friendly over time, tho. Occasionally I throw a few disties at whatever machine has nothing better to do, and in the past 6 or 7 years it's gone from "can't find a bloody thing" to "almost everything works". Progress!

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  125. Re:As the article says, it's illegal, and a bad id by merdark · · Score: 2, Insightful

    What you seem to forget, is that for the majority of users, Linux is a 'free' unix like system, and they could give a rats ass about "Free". If "Free" starts making things difficult to use, or preventing companies from supplying drivers for hardware users buy, then not only do users not care about "Free", but they will actively dislike "Free".

    The bottom line is that having code be open is only important to a fraction of *developers*, and an extremely small small fraction of the general populance. Ultimately, "Free" software people want to push their ideoligy on others, they don't care about makeing functional easy to use systems.

    So preach all you want. Very few people care.

  126. Backfire. by Bezben · · Score: 2, Interesting

    At the end of the day, there might not be a choice at all. What's to stop them forking the code and developing their own binary driver api? If people (and by people I mean businesses) want to use the hardware of these companies, it might become widespread.

  127. Performance by PacketScan · · Score: 1

    Step off, Sauce.

  128. Re:Yes by jbolden · · Score: 1

    A driver by definition runs with very high privs. Privs high enough that it can crash the system. What you seem to want is a virtual driver layer with the actual driver running at some sort of user level and message passing. That's a micro kernel architecture.

  129. Is it the term "Binary" that attracts lightning? by mykepredko · · Score: 1

    Looking over the parent and other comments, the biggest objection that people seem to have is the suggestion that this will allow closed source drivers. I don't understand why there couldn't be a stable device driver interface in the Linux kernel (other than Linus's objection to it).

    I've been bitten by this issue many times with respect to providing Linux images for testing Itanium systems. I've essentially lost the battle with my management explaining that I have to requalify drivers each time a new release comes out.

    Having a stable devices drivers interface for standard devices such as WD SCSI controllers, ATI Rage II and Fairchild Super IO would make my life a lot easier.

    myke

  130. Should Linux Have a Binary Kernel Driver Layer? by Shanep · · Score: 1

    Should Linux Slowly Back Out of Open Source?

    How about, just give us register level documentation so that we can write our own drivers and maintain them ourselves?

    How much in the way of intellectual property are you going to risk by telling us stuff like, "write a 1 to this register to manually initiate a disk parity check" and "read this register to get the state of heath of the array", etc?

    Really, how many companies are there which we know of, which make pretty decent hardware, but crap software? How can open PROGRAMMING documentation be anything but a win-win?

    That's PROGRAMMING documentation, not VLSI CAD files, firmware source code or microcode, but PROGRAMMING documentation. What buttons do we push and where do we look for the flashing lights? Thats all.

    Allowing API's for drivers would be us giving up a part of the fight for open source. What good is an open source operating system if we let go of a key area where stability, performance and security can be severely impacted? If we give in to them on this, then it opens us up in the future for them to provide crap drivers, no more documentation for hardware which we PAY for and then ultimately a "sorry, we don't officially support non Microsoft systems any more". There will also be the problem of staff turnaround causing delays on the vendor side, less priority put on the open systems and smaller groups of people "in the know" becoming a bottleneck. Less eyes and communication problems where we don't know what they're doing and they don't know our side as well as we do. This could also cause an avalanche effect whereby other less used open source operating systems get completely left out in the cold and die off. Systems which have been giving back one way or another to Linux.

    Documentation is a long term investment for all parties involved. API's will be a long term problem which will never get fixed. Look at the state of 3D acceleration! It sucks!

    We are not going to figure out how those 100 million transistors are wired based on a handful of registers.

    --
    War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?
  131. Because en ERP package is replaceable. by OmniGeek · · Score: 1

    An ERP package is replaceable in ways a hardware device isn't; for a given hardware device, you NEED the driver or the device is just a paperweight, often an expensive paperweight that deprives you of functionality you may depend on. You can always obtain or write another ERP system (yes, it may be prohibitively difficult). If an OS update breaks the closed-source ERP program, you'd better hope the vendor still cares, but the rest of your system will still run. If an OS update breaks an open-source driver (which will be somewhat infrequent), chances of getting it back up are good even if the vendor's gone.

    I take no position on whether the kernel driver policy is a good or bad idea, as I see arguments for both positions. What I *will* take a position on is the proposition that the present policy appears to work reasonably well, and is working better as time goes on. Hardware compatibility seems to be improving rather than getting worse.

    --

    "My strength is as the strength of ten men, for I am wired to the eyeballs on espresso."
  132. Vectors for all! by Tjp($)pjT · · Score: 1

    Digital made a switch to a vectored kernal for later RSX-11 M Plus releases and it was "A Good Thing". It leads to more stability not less. Linux could do the same. It would not be all that hard to do, and although there is one additional layer of indirection, with current design patterns that would only affect the initial loading of a driver. Other options are to create a self linking driver format where the drivers are JIT linked when loaded. The kernal would be responsible for loading the drivers own jump table based on what it could provide. A minimal set of required routines and the driver could then see if it had enough information / routines / support and unload itself if it was not in an appropriate environment, or could provide support that some compiled kernals have and others omit if it was not present. Old technology made new again through lack of use!

    --
    - Tjp

    I am in wallow with my inner money grubbing capitalistic pig. ... Oink!

  133. Re:Yes by tehlinux · · Score: 1

    Too bad I don't have mod points, because that is the most insightful post I have ever read! I almost feel bad hijacking your topic to mention it.

    --
    Most linux users don't know this, but the man pages were named after Chuck Norris. Chuck Norris fsck'ing hates noobs!
  134. Universal driver interface by GodWasAnAlien · · Score: 1

    Perhaps not a binary layer.

    But a universal driver kernel api could help reinvention of wheels. So perhaps a Linux network/wireless driver could be recompiled as is and used on BSD, ReactOS or GNU/GNU/Hurd.

  135. Re:As the article says, it's illegal, and a bad id by Jesus_666 · · Score: 1

    Why not just fork the kernel? I do think that binary drivers will weaken Linux but if you really want them you can take the kernel sources and make your own fork. BSD ain't dead yet, no matter what Netcraft says. Most distros will either pick their favourite kernel (mostly commercial distros) or just support both (mostly free distros). As a Gentoo user I don't care much if we get a new Gentoo for the BinaryLinux kernel - hell, we already have Gentoo for OS X.

    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  136. For the love of Linus, please! Yes! by Jim+Morash · · Score: 1

    Then we might actually get vendor hardware support in Linux.

  137. Re:Of two minds - I write high end drivers by Anonymous Coward · · Score: 0

    Of course, for a GPL'ed project to legally go closed source all the copyright holders must agree to the license. I can't think of 20 such projects, but for any GPL project that goes closed source one of three things must be true:

    1. All the code was written in-house, and no one outside contributed anything.
    2. Every single contributor signed copyright over to the project maintainers.
    3. Every single contributor agreed to take the project closed source.

    Or a combination of #2 and #3.

    #1 seems to be the most common. And hey, if no one's helping you, why bother keeping it open anymore?
    #2 happens from time to time, but the only major project I can think of that does this is GNU, and their whole reason for being is tied up in the GPL.
    #3 would be damn near impossible for anything with a lot of contributors.

  138. Re:As the article says, it's illegal, and a bad id by mtaht · · Score: 1
    I HATE to take a contrarian perspective here, because, on the whole, I agree that all Linux drivers should be open sourced.

    But the problems that embedded vendors face in using Linux for new designs are difficult. Notably - it's legally impossible to use TI's line of hybrid ARM/DSP processors without some sort of binary shim between the kernel and the DSP.

    You can (and I DO) argue that TI should open up their licensing to be GPL compatible, but they haven't. The alternative processors in this space are not as powerful, and thus the hardware guys are stuck between a rock and a hard place. I'm sure they are pushing TI equally hard about making their processor code GPL compatible as well.

    The second problem is the language barrier between traditional (and japanese speaking!) embedded developers and mainstream kernel developers. Embedded developers often have different priorities.

    An embedded developer wants: reliability stability over time low power consumption suspend/resume & fast boot low memory use just the features of the embedded device enabled and, lastly, adaquate performance. Most of the time, the people that drive the next design are the hardware people - they get a spec, they figure out what is the cheapest processor that can meet that spec, they do the design, then "it's a small matter of software development" to actually make the product work. The software guys get short shrift during the early phases, and then they get stuck with the resulting hardware, and then it's the fault of the software guys who can't make it work...

    I've had this happen to me twice in recent years. I (as the software guy) chose a processor that had an easy to use software interface, enough power to handle all the tasks without a lot of headache - and was overrulled by the hardware guys that chose a TI processor that cost about 4 dollars less - (and made the software job impossibly difficult. I left. The products failed.). When you have a spreadsheet that has hundreds of lines for the hardware costs and a single line for the software development cost, this is what happens.

    None of this is specifically relevant to the debate at present, I'm just trying to show the rock and hard place you can get into in the hope that other hardware manufacturers listen to their software guys during the hardware development process.

  139. HELL YES! by EriktheGreen · · Score: 1

    For a long, long time Linux has needed a binary driver interface. The need to maintain a driver and fix bugs over multiple kernel versions (even minor revisions) plus the need to open source (for the most part) that driver have long been major reasons that hardware vendors have been unwilling to support Linux.

    The ability for a vendor to create a single version of their driver that they don't need to open source (of course, there are benefits for them and us if they do, and they still can) and to support that single version will spur manufacturer support, which will make many Linux users very happy. Too much decent hardware is sitting idle or isn't fully used because the only driver available for it is an early beta written by a college student five years ago who no longer uses computers at all. Don't get me wrong, there are some excellent driver writers in the open source community. But, they generally write drivers for hardware they have themselves and only on a volunteer basis. Drivers should be the responsibility of the hardware vendor, who should either provide them on disk or in firmware.

    With regards to stability, the thing that made pre-certification windows drivers unstable was the lack of proper segmentation and preemptive multitasking in early windows versions, not the fact that they were binary drivers. If the binary API is written correctly (as I suspect it would be by the very talented Linux kernel developers) then isolation of faulty binary drivers will be taken into account. Perhaps they can even be user space binary drivers.

    With more manufacturers (who know all the bugs/quirks in their hardware) getting more users (many people trying to break it) to use their software drivers, the overall quality of Linux drivers will improve tremendously, to the benefit of all Linux users.

    To those of you suggesting that this is a way for vendors to use closed source software instead of open source, you're absolutely right. For the most part, these are vendors who won't release open source drivers for Linux at all. Wishful thinking about them being forced to open source their drivers or face the wrath of the Linux masses is just that, wishful thinking. I personally will continue to buy from vendors who support openness in their documentation and drivers, but if it's closed source or no support, I pick closed source.

    One more thing... to those of you opposing this because of closed source concerns... are you opposing it because closed source software is inherently evil (it's not) or because you see any compromise on this issue as the "other team" "winning" and therefore "your team" must be "losing" and you hate losing?

    Erik

    PS: Taco, get Kupu.

  140. Grammar Nazi by Anonymous Coward · · Score: 0

    That should be "These fellers don't sound like they're from these parts."

  141. Re:As the article says, it's illegal, and a bad id by IamTheRealMike · · Score: 1
    Sorry, I used to agree with this line of reasoning a few years ago when I was first getting into Linux. But these days I think differently.

    The fact is, that a driver is only one part of the openness puzzle. Sure, so you can patch a driver. Great. But drivers don't do much, they're just glue, not very interesting pieces of software. Now, if you could fork the designs of your hardware and go add features as you see fit, that would be useful. And in fact some pieces of hardware have firmware, which is basically software-on-hardware that is possible to change if you have the source code and can recompile/reflash it, but firmware is usually closed and nobody really cares about that. I never hear people (outside of a few kernel developers) saying things like "You know, I thought about buying an iPod but decided not to because it didn't have an open firmware".

    But let's say that firmware was in fact open. Now what? Well, maybe you want to fork the iPod and add some new features to it. Great. But what if you need new features in the chips themselves .... chips can be open source. Actually many chips these days are synthesised by machine from VHDL/Verilog sources which looks like code and can be changed by people who know the system. But I never heard anybody, not even the most extreme kernel developers, refuse to buy a piece of hardware on the grounds that the Verilog wasn't available.

    But even then, even if you could fork and redesign the iPod in any way you saw fit, it would still be controlled by Apple because at some point thoughts in your head and designs on paper have to actually be manufactured, and Apple have big honking factories which churn out their iPod design all day and not yours. So how are you actually going to get this to people? You need a factory too.

    So, basically, you can keep going and going until you reach some bottleneck at which point you aren't in control anymore and are reliant on other people to get things done. It's tempting to think that the transition line is at the boundary between software and hardware, but this line isn't all that clear - hardware is hard to "fork" because it exists physically and has duplication cost, yet the purpose of copyright is to allow you to make something with a zero copy cost have non-zero copy cost so it can fit into our economy. Even when that privilege is not used, like with GPLd software, it doesn't stretch down the whole stack because that GPLd software still requires controlled things like hardware and electricity to be useful.

    Put simply, there is no black/white open/closed divide. There are only shades of grey between one end of the spectrum and the other. We should strive for openness as it has several properties which help our society Get Things Done, but at no point should openness overrule getting things done as that's putting the cart before the horse.

  142. I agree. by imsabbel · · Score: 1

    Thats why i bought winxp pro.

    Seemed expensive, but adding up the hours i had to fight to get shit working with linux, it was more convinient.
    (Most people dont work around on a system for fun. If it takes more then 10 hours to get a system to work perfectly, i.e. all drivers are ok, all devices running as they are supposed to, ect), then windows is cheaper, imho)

    --
    HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    1. Re:I agree. by aminorex · · Score: 1

      Your XPerience differs from mine substantially. Installing XP on random hardware is much more difficult that booting a Sarge netinst and running apt-get, if my XPerience is any guide.

      --
      -I like my women like I like my tea: green-
    2. Re:I agree. by imsabbel · · Score: 1

      My xp was net-ready after booting and the only driver i had to download was the one for my raid5 controller.

      The only way i ever got linux to go online was using tunneling from a windows machine or running it under windows in vmware with ports forwarded...

      I wonder why always those _super_bright people who have no problem configuring the strangest linux shit seem to have problems running basic windows tasks... maybe partial retardation or just pushing agenta?

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
  143. Best of Both Worlds? by tarsi210 · · Score: 1

    One thing I don't get about this is why a stable kernel driver API wouldn't benefit BOTH GROUPS -- the ones who want to release binary-only drivers and the ones who want to write open-source drivers. Both could use the API to interface with the kernel. Having a stable API means that open-source writers wouldn't have to continuously rewrite their code to be compatible with each release of the kernel. I'll be that'd make a LOT of people happy.

    This doesn't mean the API can never change -- it just can't change with every revision. Change it at the big mileposts -- 2.4, 2.6, 2.8, etc.

    "But it violates our idealisms!" shriek the F/OSS pundits. Well, that's a nice, happy, kum-bah-ya image you have going in your head there, Family Circle, but it's not reality. Some companies are going to be willing to create open-source drivers, some won't. Some protect their code with all power. So what? No skin off your back just because they won't open it. It doesn't violate your ideals just because someone HAS written a closed-source driver that works with your operating system. Don't use it! Write your own! I invite you. What would it hurt to have both a binary and an open driver for each piece of hardware?

    Having an attitude of, "We'll make it so you CAN'T use binary drivers and then they'll open up their source!" is ignorant. You might get one or two converts to that ideal, but most are going to give you the bird and go their own way. Meanwhile you're alienating tons people that would otherwise use your software AND contribute to it, but they can't get their $150 video card to work and so have given up. The power of F/OSS is in numbers and you can't afford to not have them.

    Remember: Another ideal of many F/OSS advocates is that just because you can use something in a negative way doesn't mean the idea is bad. DRM? Not a bad idea. Can be used in bad ways, though. TPM? Same idea. Even Linus said it. Kernel driver API? Could be used in many different ways, some good, some bad, some desireable, some less so. Doesn't mean the idea is bad. Quit throwing the baby out with the bathwater simply because there's a good chance that The Man will take advantage of it.

  144. Re:As the article says, it's illegal, and a bad id by GigsVT · · Score: 1

    Linux is a 'free' unix like system, and they could give a rats ass about "Free"

    Obviously the developers don't care much if those people use it or not. There are enough people that do care enough about being capital F Free. Even commercial users appreciate the Freedom of not being locked into a single vendor, generally more than they care about license cost.

    Ultimately, "Free" software people want to push their ideoligy on others

    Not really. If you want to use the Free software, you have to agree to the terms. The developers aren't forcing you to use their software, or even "pushing" you to use it.

    If this "silent majority" you speak of really does think the way you say, then why are they still using Linux? They could use BSD, or a even pirate a commercial OS (which is what most people that only care about free-money do).

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
  145. Re:As the article says, it's illegal, and a bad id by SWroclawski · · Score: 5, Insightful

    The BIOS is indeed an issue, and there are efforts underway to make a Free BIOS.

    But why not try our best to have as much control as we can?

  146. Re:Whatever convinces ATI to make decent drivers.. by TheRaven64 · · Score: 1

    I've used ATi hardware with Windows, Linux, FreeBSD and OS X. As far as I can tell, the only decent ATi hardware drivers are the ones not written by ATi. The DRI drivers for their older hardware is nice, and the Apple-written drivers for OS X also seem competent. Their binary drivers for Linux and Windows, however, contain some of the least stable code I've ever seen.

    --
    I am TheRaven on Soylent News
  147. Re:As the article says, it's illegal, and a bad id by Shanep · · Score: 1

    How would it be illegal for a hardware manufacturer to write their own closed source driver to interface to a Linux kernel API?

    They would not have to extend GPL code, merely communicate with it in a standardized manner.

    (Bear in mind that I am dead-set against this.)

    --
    War crimes, torture, lies, illegal spying... Would someone give Bush a blowjob, already, so he can be impeached?
  148. Why not a GPL'd driver API/ABI? by Samrobb · · Score: 1
    Is it a counter-intuitive idea? Yeah. Doesn't it go against modern programming doctrine? Yeah, but so does the whole monolithic kernel design that Linux uses. Would the world be better if Linux could trust people to make Open Source drivers using a standard driver ABI, and not drive people hard like this? Yeah, life would be better.

    OK, let's start by assuming that a stable binary driver ABI is, in general, a Good Thing. It means that, potentially...

    • drivers don't need to be recompiled for every kernel release
    • the driver ABI can be tested and verified for performance/breakage
    • the underlying driver model and behaviors in the kernel can be changed more freely
    • changes to the ABI implementation propagate to all drivers build on the ABI
    • etc.

    Now, on the minus side, these benfits come with one problem from some points of view: hardware vendors would potentially be able to release binary-only drivers. Wait, though. This isn't a technical issue - it's a licensing issue. So why not just create a driver ABI for the kernel, and GPL it? Take steps to make sure that the only conceivable way you can build a driver to this interface is to place it under the GPL.

    Existing drivers - those already under the GPL - can move to the binary interface without penalty. Any changes made to the way the binary interface works will be propagated out to all the drivers that use that interface. Companies that don't/can't use the GPL'd ABI can continue to write their drivers against the existing kernel driver interfaces, with all the headaches that entails; only now, they would have the lure of a much simpler, cleaner, binary interface for the small, small cost of opening up their driver code.

    --
    "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    1. Re:Why not a GPL'd driver API/ABI? by Krach42 · · Score: 1
      I'll just quote the whole Linus position for you: http://lkml.org/lkml/1999/2/8/13

      In article ,
      H. Peter Anvin wrote:
      >
      >* Linus Torvalds has no interest whatsoever in developing such a
      > plug-in ABI. Someone else is welcome to do it.

      No, it's even more than that.

      I _refuse_ to even consider tying my hands over some binary-only module.

      Hannu Savolainen tried to add some layering to make the sound modules
      more "portable" among Linux kernel versions, and I disliked it for two
      reasons:

        - extra layers decrease readability, and sometimes make for performance
            problems. The readability thing is actually the larger beef I had
            with this: I just don't want to see drivers start using some strange
            wrapper format that has absolutely nothing to do with how they work.

        - I _want_ people to expect that interfaces change. I _want_ people to
            know that binary-only modules cannot be used from release to release.
            I want people to be really really REALLY aware of the fact that when
            they use a binary-only module, they tie their hands.

      Note that the second point is mainly psychological, but it's by far the
      most important one.

      Basically, I want people to know that when they use binary-only modules,
      it's THEIR problem. I want people to know that in their bones, and I
      want it shouted out from the rooftops. I want people to wake up in a
      cold sweat every once in a while if they use binary-only modules.

      Why? Because I'm a prick, and I want people to suffer? No.

      Because I _know_ that I will eventually make changes that break modules.
      And I want people to expect them, and I never EVER want to see an email
      in my mailbox that says "Damn you, Linus, I used this binary module for
      over two years, and it worked perfectly across 150 kernel releases, and
      Linux-5.6.71 broke it, and you had better fix your kernel".

      See?

      I refuse to be at the mercy of any binary-only module. And that's why I
      refuse to care about them - not because of any really technical reasons,
      not because I'm a callous bastard, but because I refuse to tie my hands
      behind my back and hear somebody say "Bend Over, Boy, Because You Have
      It Coming To You".

      I allow binary-only modules, but I want people to know that they are
      _only_ ever expected to work on the one version of the kernel that they
      were compiled for. Anything else is just a very nice unexpected bonus if
      it happens to work.

      And THAT, my friend, is why when somebody complains about AFS, I tell
      them to go screw themselves, and not come complaining to me but complain
      to the AFS buys and girls. And why I'm not very interested in changing
      that.

      I've never been talking out of my butt. These are the real positions held by the people in charge of this stuff. To argue that my ideas are stupid, are to argue their ideas are stupid.

      I think Linus makes a good case here why he doesn't want binary drivers, and in many ways, Linux is his kernel, and if you don't like it that way, then you're free to develop Samrobbix... You can even start from Linux, he won't mind.
      --

      I am unamerican, and proud of it!
    2. Re:Why not a GPL'd driver API/ABI? by Samrobb · · Score: 1
      I've never been talking out of my butt.

      Never thought you were.

      These are the real positions held by the people in charge of this stuff.

      Well, then why didn't you - and others - say so directly? I mean, pointing someone at this bit from Linus is pretty much the be-all-end-all of the discussion - you really can't argue that "Linus said no" is ambiguous.

      Not being a kernel hacker, I was unaware of this little tidbit of lkml lore. Having read this thread (and posted my original comment) where there were something like 350 visible posts, I thing I can pretty safely say that nobody of any consequence had bothered to point out that Linus' objection to a driver ABI was anything but ideological.

      Instead, you started arguing from ideology - "Linux is about Open Source, and allowing people to link-in binary closed drivers goes against this." - when the real reason that Linus doesn't want binary only modules is because of (possible) performance issues and what he sees as inevitable legacy support (organizational) problems. I'm certainly not going to disagree with him on that - in fact, having read his rationale for refusing a driver ABI, I can understand it, and I sympathize. Trying to claim that he's giving ideological reasons for refusing an ABI is a bit of a stretch (particularly given the above referenced post...)

      To argue that my ideas are stupid, are to argue their ideas are stupid.

      I'm not arguing that your ideas (or theirs) are stupid - though I would say that your initial presentation of those ideas was flawed. If the sole objection to a driver ABI was ideological (the continued existance of close-source, binary-only drivers), then there are ways around that. I proposed one possible solution; I've seen others propose different solutions that attempt to overcome the ideological objections you and others raised.

      However, as I pointed out, you started arguing from an ideological basis, when in fact the real reason that Linus has rejected a driver ABI has little (if anything) to do with ideology. How can I say that? Well, because he doesn't object to a driver ABI...

      • For any ideological reasons ("I allow binary-only modules...")
      • For any technical reasons (".... not because of any really technical reasons...")
      • For any personal reasons ("... not because I'm a callous bastard...")

      He's objecting to a driver ABI because it's an ABI, and so carries with it non-code related problems he would rather not deal with. Like I said earlier, it's hard to argue with that. Given that knowledge, it's no wonder that GPL-vs-commercial arguments and the like don't really sway him, because they're irrelevant to his decision.

      I think Linus makes a good case here why he doesn't want binary drivers...

      So do I. I just don't think that the argument he makes here is the one you started off with.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    3. Re:Why not a GPL'd driver API/ABI? by Krach42 · · Score: 1

      Good points on all of this. Thanks for not being a dick. I'm always happy to have arguments on slashdot that don't end with "NO YOU SHUT UP!".

      So, yeah, you're right on all of that. Linus doesn't object to them on an ideological basis, but many other people probably do. They both support each other's position.

      --

      I am unamerican, and proud of it!
  149. No by nagora · · Score: 1
    The choices are: a binary API with drivers for a wide range of hardware which will have lots of bugs and be badly written junk and totally impossible to get fixed as soon as the parent company moves onto the next version of the hardware (and that's if you're lucky), OR no binary API with a lot fewer drivers whose writers will have their code exposed to the world and if it breaks down there's a good chance of a fix within a day or two.

    No contest. I've used Windows often enough to know that binary drivers that really work and work well are very very rare.

    There simply is no excuse for binary drivers, either under Linux or any other OS. Windows users should be asking why they have to put up with it rather than Linux users asking to be included in the shitefest that is binary-only drivers.

    It has nothing to do with Open Source ideals and everything to do with security and control of your investment.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  150. Sony driver? by pdjohe · · Score: 1

    HA! Admit it! It's Sony and they've come with their so-called proprietary CD-Rom driver.

    Please give Sony a stable kernel API so that they can hook your kernel system calls!

    DRM: playing soon at a Linux distribution near you!

  151. Re:As the article says, it's illegal, and a bad id by SWroclawski · · Score: 1

    I never hear people (outside of a few kernel developers) saying things like "You know, I thought about buying an iPod but decided not to because it didn't have an open firmware"

    Few people say that, but almost as you yourself argue, there are few developers working on such issues. We retain freedoms for everyone, but only a small percentage of people can use those freedoms at a given time.

    That's okay, it's still important.

    So, basically, you can keep going and going until you reach some bottleneck at which point you aren't in control anymore and are reliant on other people to get things done. It's tempting to think that the transition line is at the boundary between software and hardware, but this line isn't all that clear - hardware is hard to "fork" because it exists physically and has duplication cost, yet the purpose of copyright is to allow you to make something with a zero copy cost have non-zero copy cost so it can fit into our economy. Even when that privilege is not used, like with GPLd software, it doesn't stretch down the whole stack because that GPLd software still requires controlled things like hardware and electricity to be useful.

    I don't think the transition line is at hardware and software, but software is an easier fight then hardware, though so much hardware now has firmware loaded on boot- the line blurs further.

    Put simply, there is no black/white open/closed divide. There are only shades of grey between one end of the spectrum and the other. We should strive for openness as it has several properties which help our society Get Things Done, but at no point should openness overrule getting things done as that's putting the cart before the horse.

    "Black and white" and even "shades of grey" is dualistic thinking. The issues are multifaceted, but saying that we shouldn't try is essentially saying we should give up. Why give up now, when we've made so much progress? We struggled for years for where we are now. The number of Free Software users is a critical mass. Companies are now working with us. We have a large, powerful community- now's when we can put pressure on the companies to do the right thing. We're winning the battle, so let's not give up now.

  152. Addendum by tarsi210 · · Score: 1

    A small addendum to my above comment:

    I have now read (yeah, yeah, read before replying -- bite me) this article about why a stable kernel interface is a bad idea. Some very, very good points here that, in essence, I have trouble debating from a technical standpoint. Ok, tough to keep things up-to-date, developers don't want to have to keep the old interfaces in place because it makes a maintenance nightmare, and you possibly sacrifice the stability of the OS as a whole if you do.

    Well, that's groovy. I can dig that in ways that shovels can't even begin to contemplate.

    The thing that always strikes me, though, is this: The kernel is developed on the F/OSS idealistic system, yet it is striving to break into the mainstream. However, the mainstream simply doesn't work that way. In the Real World(tm), you have to have backwards compatibility, you have to have systems that don't break APIs and standards very often, and you have to have an ease of development for anyone and everyone who wants to contribute to it. Why? Because this is how business works. Business doesn't always have time to stop and, "Do it the right way." Companies can't employ kernel hackers to work 24/7 on keeping a single driver up-to-date because the kernel changes all the time. It's like having a coworker that continually changes the function parameters of the code I'm trying to interface with -- I'd fucking kill him! I don't have time for that shit, and I suspect that's the attitude of many corporations who would otherwise contribute to Linux.

    Same old, same old, folks. Idealisms meet reality, big mess ensues. I hate sitting on the fence between the two, but I see good points on both sides. Resolving the conflicts, however, isn't always cut-and-dried.

    1. Re:Addendum by Anonymous Coward · · Score: 0
      I have now read (yeah, yeah, read before replying -- bite me) this article about why a stable kernel interface is a bad idea. Some very, very good points here that, in essence, I have trouble debating from a technical standpoint. Ok, tough to keep things up-to-date, developers don't want to have to keep the old interfaces in place because it makes a maintenance nightmare, and you possibly sacrifice the stability of the OS as a whole if you do.

      Take a look at gcc and glibc. A stable ABI isn't trivial, but it ain't rocket science, either. There are lots of people in the OSS community and the commercial software development world who have experience with doing exactly this sort of thing.

    2. Re:Addendum by tarsi210 · · Score: 1

      Fair enough, and I will fully admit that I am *not* qualified to comment on whether a stable ABI is possible or not. I simply do not know all the technical details behind it. My *impression* is that it's not an impossible thing to do, but most kernel hackers don't even consider the technical aspects of it because their idealisms get in the way.

  153. Yes, Linux really sucks in this respect by ikekrull · · Score: 1

    Personally, I think the 'no stable ABI to discourage closed source drivers' is just wrong-headed. I mean, it has hardly stopped people writing closed source drivers for Linux, has it.

    And it's just bad design - The kernel devs are deliberately making it harder for *anyone* to write drivers for the Linux kernel, regardless of their license. Two wrongs don't make a right.

    And the only real effect is that it just makes it a hell of a lot harder for the users to make their computers do useful work.

    They are quite happy, for example, to claim that Reiser4 can't go into the kernel because it implements its functionality in a non-standard way, not using the kernel VFS API/ABI, and then turn around and say that standards are the enemy of innovation and encourage closed source software when it comes to a generic driver ABI/API.

    They are quite happy to take advantage of other peoples published standards and decry companies like Microsoft for not adhering to them, but then come out with crap like this - if standards are the enemy of innovation and encourage un-debuggable components in the kernel, then this is surely the case in other areas of software development as well.

    Do kernel developers really believe that Internet Explorer's approach to supporting standards is the right one?

    --
    I gots ta ding a ding dang my dang a long ling long
  154. Yes, it should. by Spazmania · · Score: 1

    Yes, it should. Why? Because if it doesn't, Red Hat and Novell (one or the other) will make one and the other will follow suite. And the one they make will end up being mediocre with ease of forward porting given priority over effectiveness.

    Novell has bet the farm on Linux and they need this to keep the hardware vendors happy and convince them to make the move from supporting Netware to supporting SuSE. If we refuse it from the main kernel tree then it'll be yet another incompatibility in the vendor kernels and yet another roadblock to using a generic kernel on those distros.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  155. There are two aspects by mengel · · Score: 1
    ... license/GPL issues, and technical issues.

    I actually think from both perspectives a clean binary driver API could be a Good Thing, especially if it involved some sort of sandbox that such a driver would be kept in, and even more so if it could be a common binary API between, say, Linux, BSD, and possibly one or two other OSes.

    • You wouldn't have to rebuild/rerelease such a driver for each release of the kernel. this would be really nice for distros, a kernel update wouldn't have to include rebuilding the ABI-compliant drivers.
    • If your code is sensitive to optimization flags, etc. it can be compiled "properly" once and not redone wrong by various distro builders. (yeah, yeah, it probably means the code actually sucks, but...)
    • It would provide a clean boundary for the GPL-ness of the kernel; this gives you a way to encircle vendors who think their code must be proprietary -- they keep a minimum amount of proprietary code, and we encircle it with open, clean, GPL code. Then those vendors can see how much business they get from Linux users, and start to take Linux users concerns (like GPL-ing their drivers) more seriously.
    • You could build software adaptors that let you take drivers for other platforms (MS Windows? OS/2? BSD?) and load them against a Linux kernel; and you could do it once.
    • You could also build software adaptors that provide trace/debug/trace-playback information for these ABI drivers, which could make it easier to debug problems.
    Now of course, you could do the last two with the current, source-code driver interfaces; but they would be (in my opinion) much harder to maintain without the sort of set-in-stone nature of an ABI driver interface.

    I know some folks will argue for some sort of GPL purity -- that Linux should actively avoid any and all contact with proprietary code. But being able to run proprietary user-level code is actually a feature that lets you displace proprietary operating systems, and I think the same thing is true of drivers. And once the proprietary-driver vendors discover they can make money selling their hardware for Linux, they might discover that having their customers be able to send them bug fixes as well as bug reports is a Good Thing.

    --
    - "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'
  156. User-level drivers by spitzak · · Score: 2, Interesting

    Linux should support user-space drivers. Probably through FUSE and some other apis. These can then be binary, just like any other appliation. If they crash they will not take the system down. The API is limited but you will be able to open/read/write them. ioctl can be done with Plan9 style names, ie open "/dev/neato_device/volume" and write the desired volume there, etc.

    Drivers that need more elaborate API's or need more speed will be stuck with the mutable binary interface and occasional GPL restrictions. Too bad. A lot of interesting drivers do not need this speed. And those that do may force the interface to user-level drivers to be improved until it is usable, which is a very desirable result.

  157. Re:Stability like that leads to stagnation and dea by elmegil · · Score: 1

    I was playing to the audience here who are continually about "Sun's death imminent". No, I don't really think Sun is stagnant. But even if that weren't the case, Solaris is definitely vibrant and alive and it has a fine stable kernel ABI.

    --
    7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  158. Bullshit by diegocgteleline.es · · Score: 1

    Hardware manufacturers are not supporting linux because they are assholes and they don't care about supporting a OS with a 1-2% of the desktop market. It's not the "lack of a stable api" who causes that. Those who want to support it are supporting it.

    BTW, the server market is different. 3com, adaptec intel etc. are writing themselves the opensource drivers and merging them in the kernel. See centrino wireless, intel SATA/e1000 drivers, etc. If intel and 3com and adaptec and cia can do it I don't see why nvidia or ati can't. The problem is that those companies SUCK and linux's desktop market is small, nothing else.

  159. Re:What does it matter what 90% of slashdotters th by Altus · · Score: 1



    to be fair... just because the majority of people access slashdot from windows doesn't mean that they dont run linux... it might just mean that they run windows at work... everyone knows that people only use slashdot to avoid doing work and really almost never access the site from their home computers where they could spend their time looking at porn...

    --

    "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

  160. "Solid interface documentation" doesn't just do it by Anonymous Coward · · Score: 0

    If you think solid interface documentation will just make a driver pop up, you're wrong.
    I know several devices that have nice documentation, but no one has cared enough to write a driver.
    For instance, my tvout chip, Chrontel 7011A has nice documentation, but no driver is available for Linux.
    It's such a normal tvout chip, so there must be millions of computers with it.

  161. MOD PARENT UP! by Eli+Gottlieb · · Score: 1

    This is an extremely insightful post, and I wholeheartedly concur. Just one problem: How does one build an API/ABI that forces the driver devs to include enough source code to let the GPL have its viral effect without technically corrupting the idea of a small, stable API?

    1. Re:MOD PARENT UP! by Anonymous Coward · · Score: 0
      Just one problem: How does one build an API/ABI that forces the driver devs to include enough source code to let the GPL have its viral effect without technically corrupting the idea of a small, stable API?

      DRM and Trusted Computing?

      Hey, if you can use copyright law to enforce the GPL, why not use the DMCA to enforce driver licensing?

  162. No by Anonymous Coward · · Score: 0

    Well if I have to choose inbetween _partially work_ and _not working at all_, I would take the former please thank you very much.

    I don't waste 20 hours of wrestling with Ndiswrapper to "have fun".

  163. Speed by x_terminat_or_3 · · Score: 1

    Won't doing this slow down the overall performances?

    Having a driver being part of the kernel should be faster then loading it externally right?

    Having a binary driver instead of an open source means you can't contribute to it yourself?

    --
    Only those who risk going too far can possibly find out how far they can go. T. S. Eliot
  164. Maybe its time to fork? by msimm · · Score: 1

    Enterprise needs one thing, that applies to most OTS vendors as well. They need a stable API. There's really nothing to argue about that unless you believe the should bow to your personal political belief system and be forced to open all their software/drives. But of course that will not happen.

    So the solution seems kind of simple. Split. Let Novell, Redhat, Oracle and anyone else interested in developing for a more static Linux environment can fund this project. I think its time that at least those parties interested in bringing Linux into the enterprise (or even serious/usable desktop) market place make some decisions that might not be popular.

    But if you complain about this your missing the whole point. Linux is GPL. It is open so we lose nothing. Maybe it will work out well in which case we only gain. Otherwise there will always be hackers working on a version of Linux thats exactly what they want. Linux is already free. I don't think there's much to fight about.

    --
    Quack, quack.
  165. If they're not going to provide a stable API by m50d · · Score: 1

    If the kernel developers aren't willing to provide a stable interface then they should be more ready to accept code into the kernel. Too many things (in particular I'm thinking of reiser4 here) are kept out for political reasons. I can understand not wanting to make a stable interface, but in that case you have a responsibility to accept code that works and is GPL without making people jump through hoops.

    --
    I am trolling
  166. NOT about open-source. it's GPL/free software by NuShrike · · Score: 1

    This is NOT about the open-source movement. This about the GPL and Free-Software movement where they're against any proprietary (and possibly closed and/or pay) system integrating against them.

    There are quite a few other OSs out there that have been open-source longer WITH stable ABIs.

  167. I have no problem with that at all by Sycraft-fu · · Score: 1

    What I have a problem with is the people that are of the "OSS everywhere, no compramise" mindset, but then insist that Linux is what everyone should use. I have no problem with a minimalist OS philsophy where everything is up to you, but to then say people should all use that is silly. People want an enriched, well defined OS experience, so if you want to be the big kid in town you need to offer that.

    1. Re:I have no problem with that at all by Anonymous Coward · · Score: 0

      Your thinking corporate there, linux development just isn't like that. The development model determines what it can and can not support or do. Now the common wisdom would be that Linux would thus because of issues like drivers etc then have to remain small. The reality is that it hasn't held completly true, with things like servers gaining ever larger market share. I think it's probably already reached the point that not giving server hardware linux support is equal to losing yourself alot of sales. If they still don't want to play, so be it. As markets change some rise and some fall, such is life.

  168. Learn to read. by Some+Random+Username · · Score: 4, Insightful

    They don't release the source. There is no source. That's the whole point. They just release the programming docs so anyone can write a driver. There is no IP for them to protect.

    1. Re:Learn to read. by Kjella · · Score: 2, Informative

      They don't release the source. There is no source. That's the whole point. They just release the programming docs so anyone can write a driver. There is no IP for them to protect.

      That's at best debatable. To make any sense, you would have to give not only the specs but essentially the capabilities of the GPU away. I must admit I don't know that much about GPU design, but I imagine there's a lot of timing data to keep the texturers and pipelines and shaders and whatnot occupied. The exact details about how long, which operations can be executed in parallel, the break-down of time required for different steps to render the final image and so on is fairly critical. It would also make it a lot easier to reverse-engineer the closed source code, or at least to benchmark for comparison (it's usually a lot easier when you *know* there's a way to do this faster). Where and how it is hardware-assisted, and what is in pure software can certainly be mapped out with exactness. It's not impossible to do this otherwise either. But it would be lot easier if you had a well-documented hardware interface.

      Kjella

      --
      Live today, because you never know what tomorrow brings
    2. Re:Learn to read. by Billly+Gates · · Score: 2, Informative

      There is a ton of IP to protect.

      What is the difference between a $600 quadro and an outdated $85 Geforce4? THe firmwire is flashed differently and the drivers will optimize for accuracy vs performance between the 2.

      That is why they dont want to open.

      Also designs are copyrighted and if you open the source a competitor could argue that companyA neglected its copyright by opening it to the public, so therefore its ok to steal the design. May not be entirely true since copyright is designed to share work, but an ignorant judge could look at it as carelessness for being open.

      WIFI is required to be closed and proprietary by the FCC under Powell. The government can revoke its license to produce wifi cards otherwise.

      Face the facts. In this day and age of litigation most companies make profit from suing each other and protecting themselves for a *potential* lawsuit. Their shareholders demand closed source and will fire any CEO who willingly let go of its crown jewels to make a few geeks happy.

      Last, many vendors want profesional certified drivers. Not the crappy community ones. Yes commerical ones can suck too but I have had problems with my new geforce6600GT for example. I downgraded to an earlier driver that is "Windows quality certified" and performance is alot better.

      I am sick of the windows trolls mentioning windows is bad because of the drivers. Not because of its design. The fud was started by Microsoft and I have yet to see solaris crash because of bad drivers as an example.

      I find windows just works. No funky problems with acpi turning off the sound, no strange behavior with usb pen drivers, etc. Its because the drivers are good quality on WIndows and not made by hackers who do not know all the details about the hardware.

      I support the kernel api since hackers can use it as well. Also we need a layer of api's of gcc and older kernels. This is why ISV's prefer solaris over linux. You can run a 10 year old app on solaris without a problem. Try that on linux where there are no layers or dynamic linking?

    3. Re:Learn to read. by Anonymous Coward · · Score: 0

      They just release the programming docs so anyone can write a driver. There is no IP for them to protect.

      Most of IP is exactly in the docs. Writing code to read/write registers and do DMA is not such a big of deal, I can do that. From the docs you can see a lot of your hardware design and many companies do not want to reveal that to their competitors.

    4. Re:Learn to read. by Peter+La+Casse · · Score: 2, Interesting

      One of the reasons for releasing closed-source drivers is to avoid revealing that you're violating your competitor's patents. The more obfuscation there is, the less likely you are to be sued, if you are indeed doing something illegal. Releasing documentation does not increase obfuscation, so it's not an option for criminals.

    5. Re:Learn to read. by Snarfy · · Score: 1

      OK, sorry I mispoke. But for a suitable driver to be written, the hardware vendor's IP would have to be in the doc. I believe binary drivers are a good method of protecting a vendor's IP.

    6. Re:Learn to read. by Some+Random+Username · · Score: 3, Informative

      "What is the difference between a $600 quadro and an outdated $85 Geforce4? THe firmwire is flashed differently and the drivers will optimize for accuracy vs performance between the 2."

      That's not protecting IP, its protecting the fact that they are scamming customers.

      "Also designs are copyrighted and if you open the source a competitor could argue that companyA neglected its copyright by opening it to the public, so therefore its ok to steal the design. May not be entirely true since copyright is designed to share work, but an ignorant judge could look at it as carelessness for being open."

      You have absolutely no clue what you are talking about. Copyright does not need to be protected to be valid, that's trademark.

      "WIFI is required to be closed and proprietary by the FCC under Powell. The government can revoke its license to produce wifi cards otherwise."

      Yeah, that would explain why several companies have fully open docs for their wifi chips, thus enabling completely open source drivers for them.

      The rest of your post is irrelivant windows nonsense that has nothing to do with the topic.

    7. Re:Learn to read. by Kjella · · Score: 1

      I find windows just works. No funky problems with acpi turning off the sound,

      FYI, I have had that problem on Windows... It was fixed in some bios or driver revision, but my Toshiba P2000 suffered from lack of sound when it came out of suspend. Anecdotal evidence is not much good.

      --
      Live today, because you never know what tomorrow brings
  169. MD5 alone won't save you by tepples · · Score: 1

    It is done for the same reasons that most linux iso's are distributed with a MD5 hash next to them

    Problem is that a naked MD5 or even SHA256 hash can easily be replaced by anybody who crax0rs the distribution servers. A digital signature, on the other hand, uses public-key crypto; if the signature file doesn't decrypt properly, it wasn't created by the signer. Ideally, for an operation as big as Microsoft, the signing server is battery-powered and kept in a room-size Faraday cage surrounded by armed guards, and the private key is stored in pieces held by multiple trustworthy parties.

    1. Re:MD5 alone won't save you by jacksonj04 · · Score: 1

      Actually, the Microsoft crypto keys *are* kept on generator+battery backup powered servers in a single shielded room, with 24 hour security, and multiple person access required. On two seperate sites, with two different keys so if one goes tits up they still have a backup key.

      --
      How many people can read hex if only you and dead people can read hex?
    2. Re:MD5 alone won't save you by NitsujTPU · · Score: 1

      That actually rocks.

  170. It'll happen eventually.. by parryFromIndia · · Score: 2, Interesting

    For an OS which is continually evolving and was not designed with a lot many future developments in mind, it is very natural to say no to the stable binary API/ABI concept for drivers. But as it matures and there is no longer a need to fix interfaces to support some out-of-world functionality, the driver interfaces are automatically going to be stabilized. (Unless kernel folks decide they get bored with having one function name for more than a year or that they want to keep driver writers continuosly on their toes - all of which is unlikely.)

    API/ABI compatibility obviously has it's own pros and cons - some times it's impossible to break things, take Windows for example. The world is going with LP64 model for 64 bit machines but Windows developers had to stick with LLP64 just because they made some design mistakes and now they cannot break the tons of applications. (See http://blogs.msdn.com/oldnewthing/archive/2005/01/ 31/363790.aspx).

    Linux on the other hand can afford to break and fix things until the time where binary and out-of-tree drivers grow to out number the in-tree stuff. By that time I guess there will be a very less need to break things such as driver interfaces and the like.

    And I think the mad rush to put everything in the official kernel tree is not a good idea from maintenance and complexity stand point. So if and when the Linux ABI/API stabilizes that will be a good thing for out-of-tree kernel drivers and Linux itself.

  171. have you hacked the kernel some time? by Anonymous Coward · · Score: 0

    This will enhance the stability of the kernel in general and also allow hardware vendors to support Linux with less effort

    Scenary 1: Closed binary driver running in your system. The box oopses. Damn, since I'm using that damned binary driver and I can't see the source, debugging symbols, etc. i can't figure out if its the kernel or the driver who has the problem. After many hours wasted you might find the real problem.

    Scenary 2: Several closed drivers in the system. The box oopses and trace reveals that binary modules are involved. Was it the kernel, or one of the 5 closed binary drivers running in my system? Maybe a problem between two of the closed binary drivers? You might aswell give up.

    Is the bug in the kernel or in the binary drivers? God knows -> can't fix/harder to fix -> makes harder to make the kernel stable

    I don't see

  172. An interesting suggestion by Nephroth · · Score: 1

    This is an interesting suggestion, and if it can potentiallly coax more developers into providing drivers for their hardware *cough*BROADCOM*cough*EVERYSOUNDCARDEVER*cough* then I can't see how it would be a bad thing.

    --
    Our greatest enemy is neither a single man, nor is it a nation, it is, as it has always been, our own greed.
  173. NO NO NO - force the source by zenst · · Score: 1

    Giving binary driver only options is like giving companies the option to release binary only drivers without the source.

    Its like releasing an open loveable OS and then having your low level API's call windows - kinda defeatest.

    If any company whants to relaease only binary drivers- let em, just dont encourage it by giving them an easy option to do so.

    I like openbsd, and the whole wifi/scsi driver snafu only went to highlight that this binary only way/option is bad. Would openbsd have binary only drivers - hell no and if openbsd dont do you have to ask, hmm why.

    Binary only drivers secure OS, cause hand compiled ddrivers dont assure this eaither but then least you have a fighting chance.

  174. Third-party IP (was Re:Excellent suggestion!) by Kalzus · · Score: 4, Informative

    The day you can get third party IP licensors (e.g. that nice crossbar architecture used in previous-gen nVidia chipset memory control blocks wasn't developed in house by nVidia and they have contractual obligations not to release interface specifications for it) to agree to have their interfaces open by the licensees is the day you'll have fully open register-level documentation for consumer 3D graphics chips.

    --
    "The Devil does not know a lot because He's the Devil, He knows a lot because he's old." -- unknown
  175. Already done by jd · · Score: 2, Informative
    There's the Connector layer, sysfs and fuse. The userspace-in-kernel patches also help. These allow binary-only drivers in userspace with significant kernel access.


    For graphics, GGI and KGI would allow direct binary-only drivers to be written that applications can use, again without modifying the kernel.


    Not sure whether you could make any use of the ABI/IBCS work for drivers, but they certainly allow "foreign" binaries to run under Linux, without anything foreign being put in the kernel itself.


    In other words, a binary-only driver layer would seem unnecessary, given alternatives and mechanisms that already exist. It may be useful in some cases, but I can't see how it would be essential.


    You could also use Xen as a reverse microkernel. Have foreign drivers in a "driver-only" mini OS, running as a parallel kernel. Then all Linux would need would be a way to call the other OS across Xen - and that need not be binary-only/closed-source. Companies interested in binary-only Linux work might even jointly fund development of such a capability.


    The problem is not with the kernel, or even with the kernel developers. The problem is that corporations have unofficial choices rather than something they can put the blame on if their coding is crap. Officially sanctioned solutions are always preferred when being able to blame someone else is important.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  176. Already Got One: NDIS by Markus+Registrada · · Score: 3, Informative
    We already have a stable binary driver interface. It's called NDIS. Just about everything that's wrong with it (and ndiswrapper) would also be wrong with a Linux-only binary spec, and other things besides. That said, anyone complaining about NDIS drivers not working on non-ia32 hosts need only attach an ia32 emulator to NDIS. Again, if that doesn't sound very nice, any binary driver interface is likely to be almost equally, er, not-nice.

    This is an inflammatory issue, but a stable interface doesn't necessarily open the kernel up to proprietary drivers. It's a matter of licensing. Any third party could introduce a GPLed abstraction layer. There are big practical advantages to being able to take a GPLed driver's object file and plug it in to any old kernel. In that case there would be no really fundamental reliability or debuggability problems. The remaining problem would be the increasing mismatch between the abstraction presented to the driver and the abstraction supported by the kernel as it develops.

    It would be good to separate the discussion into two, one for inflammatory license- and/or ideology-related culs-de-sac, and another technical, to address legitimate needs for stability in drivers that are not (yet) in the kernel tree.

    1. Re:Already Got One: NDIS by networkBoy · · Score: 1

      I realise that the chance for a flamewar is high, but I personally would endorse a binary layer. While not the ideal solution, if it gets more hardware vendors to directly support linux then that is a GoodThing. Maybe later we can work on getting the vendors to open source their drivers, but hardware support, even if closed, is better than no support at all.
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
  177. This is why I don't write device drivers for Linux by bhurt · · Score: 3, Insightful

    There's a joke- programming is a lot like sex. One mistake, and you're supporting it for the rest of your life. By this measure, writting a device driver for Linux is a mistake. Because even after the feature set and the hardware itself is stable, you are letting yourself into a never-ending task of constantly changing the driver to keep track of the current API changes. At a previous job we spec'd it out at about 1/2 of a full time position to keep up with all the kernel changes. This is your job, from now until eternity, or at least until you're willing to have the driver declared obsolete and abandoned (after all, we all know that there is just three types of software- vapor, beta, and obsolete).

    Well, congratulations. You have your religous purity. And guess what- it's comming at a cost. You wonder why Linux isn't more popular on the desktop? Well, here's part of the reason. It's hardware support will always- ALWAYS- be behind that of Windows. Why? Because when the hardware ships, it ships with Windows drivers that the hardware vendor wrote with it. Note that Windows pulls the same sort of API changing crap that Linux does. The difference is that the hardware vendors look at Windows, and the half man-year per year cost of supporting Windows costs, and go "but we have to support Windows if we want to sell more than 3 units." They then look at Linux, and the half man-year per year cost of support Linux, and go "Supporting Linux is not cost-effective at this time." I know, because I've seen this happen. So now the hardware is out there. And now we wait, for someone willing to step up and volunteer the time to write, and maintain indefinately, the driver. Someone less capable of doing it than the hardware manufacturer (this isn't to question the capabilities of the current kernel developers, but the fact of the matter is that there is a huge advantage to being three cubes down from the hardware developers, and capable of wandering over and asking direct questions, instead of having to reverse engineer what is really going on, having worked both ways).

    So this is the fundamental question: which is worse. Having binary-only proprietary drivers, or being forever behind in hardware support and not having people contribute simply because they don't feel like having to constantly update the driver once they finish it, they'd like to be able to move on. I come down on one side, Linus and the kernel developers down on the other.

    Fine. Their kernel. Their problem.

  178. What a weird definition of "failure" by Medievalist · · Score: 1

    I mean, for me, failing means not achieving a goal. I try to avoid that.

    Since I don't see how anyone could have "defining the precedence of a nebulous ideology in relation to a completely undefined experience" as a goal, I find your post incomprehensible.

    I suspect Linus would feel the same way. For whom are you speaking?

    I'm honestly confused, not trying to flame. Who is failing, and by what measure? I am succeeding, personally.

    Oh, and just to be on-topic for once, I vote NO (to a static kernel layer that is not allowed to improve in order to maximise the profits of some guy who doesn't want to share).

    1. Re:What a weird definition of "failure" by everphilski · · Score: 1

      There are many devices that don't work under Linux. Good devices. They arent "pieces of crap." But due to the nature of business the drivers just can't be open sourced. Someone has to give. Why can't there be a binary kernel driver layer? Because the ideologies of a few kernel developers and open source "philosphers" say no. Yes it might take a little work. I mean hell, making linux wasn't a cakewalk. Doing so would open up a host of devices whose manufacturers are willing to do the legwork of making the drivers but who are unable - contractually or otherwise - to open the drivers up to public scrutiny. But again, the ideas are coming before the user, and that is what I consider a failure. (whats the number 1 and 2 turnoff th linux in the desktop? lack of a good UI and interoperability with the hardware a given user already has. IMO, there are GUI's that are almost there, and you could knock #2 off the list if a binary kernel driver layer was pulled off well... why not try?)

      -everphilski-

    2. Re:What a weird definition of "failure" by frogstar_robot · · Score: 1

      Economics 101 here. If a device won't work in Linux for WHATEVER reason then I just won't buy it. The manufacturer can whinge about his valuable IP until the cows come home.

      There are more and more like me everyday.

    3. Re:What a weird definition of "failure" by Medievalist · · Score: 1


      I still don't get it. You said "due to the nature of business the drivers just can't be open sourced".

      I've never encountered such a situation, but I'm willing to imagine it: So, either the vendor maintains the drivers across API changes or those drivers are not commercially viable. If there is a need for the function they serve, market pressure should cause some other vendor to come up with something that is commercially viable. If fascists prevent market pressure from operating, I will hack something together to suit my needs regardless.

      So who is failing? It's not me or Linus. We just want a system that does real work. I don't even need a GUI.

    4. Re:What a weird definition of "failure" by poofyhairguy82 · · Score: 1
      But again, the ideas are coming before the user, and that is what I consider a failure.

      You don't get it. Linux is not about pleasing a customer or getting one more percentage of marketshare. Linux is about quality software. Unless the quaility of Linux decreases, then Linux cannot fail. You impose goals on it that it never had.

      (whats the number 1 and 2 turnoff th linux in the desktop? lack of a good UI and interoperability with the hardware a given user already has. IMO, there are GUI's that are almost there, and you could knock #2 off the list if a binary kernel driver layer was pulled off well... why not try?)

      The Linux Desktop does not matter. Its a novelty- the desktop war was fought a while ago and everything not called Windows lost.

      Linux matters on embedded devices, servers, and super computers- thats its biggest market. In each of those markets having binary drivers is not a big deal. In fact, for a super admin, having something they can't mess with in a server is a possible security risk.

      Linux gets in people lives through TiVo's, cell phones, wireless hubs and free google use- not the desktop. Thats where it matters.

      Linux should not and will never change itself to compete in a market in which it can't win. Who cares if Linux is not a wild success on the desktop? Desktop users are usually not developers, so they cannot help Linux with its true goal- to be better software. Linux wasn't made to win popularity contests.

  179. Formal Methods by darthscsi · · Score: 2

    On network drivers at least, the driver has such a small interface the driver is put through a full formal methods based proof system to prove the driver doesn't have certain classes of bugs. I hear MS has quite a cluster devoted to model checking network drivers. Granted this doesn't work for all classes, but at least some get fairly rigerous verification. I personally wish Linux drivers got this kind of checking.

  180. I think the time has come for Linux 3.0 by shywolf9982 · · Score: 1

    The one finally rewritten as microkernel, of course using the amazing message passing version of Visual Basic.

    PS Half of this post is serious. Finding what part actually is is left as exercise to the reader

    --
    nbody2002:If you can read this you may be addicted to the internet
    1. Re:I think the time has come for Linux 3.0 by daverabbitz · · Score: 0

      >The one finally rewritten as microkernel, of course using the amazing message passing version of Visual Basic.
      >
      >PS Half of this post is serious. Finding what part actually is is left as exercise to the reader

      Whoah, the next version of Linux is going to be written in VB.
      And I thought I had wasted a year of my life learning VB. Now I find out I wasted 3 years learning UNIX C programming, noooo.

      --
      What could be better than a jet powered motorcycle? http://www.youtube.com/watch?v=u8l6GTHLSWE
  181. Linus' words, now for real by diegocgteleline.es · · Score: 4, Insightful

    "Basically, I want people to know that when they use binary-only modules, it's THEIR problem. I want people to know that in their bones, and I want it shouted out from the rooftops. I want people to wake up in a cold sweat every once in a while if they use binary-only modules."

                    - Linus Torvalds on linux-kernel

    And many people forgets that non-gpl drivers may be very well impossible to write at all (at least some lawyers think this), drivers are not at all like an app is WRT to gtk, drivers are more like "plugins". Plus, a closed driver module makes MUCH HARDER to debug bugs if the driver is doing bad things, and you can't know that (which makes harder to stabilize and/or develop the kernel. Several closed drivers can make it a hell or impossible at all.

    1. Re:Linus' words, now for real by ObsessiveMathsFreak · · Score: 1

      And many people forgets that non-gpl drivers may be very well impossible to write at all (at least some lawyers think this), drivers are not at all like an app is WRT to gtk, drivers are more like "plugins".

      What? What kind of logic or legal interpretation leads to this conclusion. By that logic, the kernel itself is an illegal app as it interfaces with all kinds of proprietry hardware.

      A driver is just a specific program that enables the kernel, and hence programs, to interface with some esoteric piece of hardware. I think that case involving DMCA "copyright circumvention" on printer cartridges put any doubts people may have had on this matter to rest.

      --
      May the Maths Be with you!
    2. Re:Linus' words, now for real by diegocgteleline.es · · Score: 1

      A driver is just a specific program that enables the kernel, and hence programs, to interface with some esoteric piece of hardware

      A driver is a kernel plugin which uses kernel internals to provide their services ej: it uses the VFS infrastructure if it's a filesystem, can also use the block infrastructure, alsa, etc. It uses linux kernel functionality (ej: you can't provide sysfs information without using the sysfs API)

      The GPL forbids GPL-incompatible software using a "derivative work" of GPLed software. IOW: closed-sourced drivers are using a "derivative work" of the linux kernel to implement their functionality. Lots of closed drivers try to workaround this by using "wrappers", but the gpl doesn't explain what a "derivative work" is. Some people thinks that drivers ported from other OSes can't be considered "derivatives" because they weren't implemented on top of linux so they are not "derivatives" in the conceptual sense. Other people thinks that once you start using linux functionality you're already a "derivative" (FSF thinks this, I think, but it doesn't matter what FSF thinks but what the GPL text want to mean).

      The truth is, the GPL is far from perfect, its wording is too complex and it's not clear at all how "derivative" it must be interpreted (which is important, because FSF may be a opinion on how it must be interpreted, but a judge or a developer may interpret other thing, which is why licenses should be as simple as possible). It's not clear at all, and different judges could interpret different things. The linux kernel makes a clear exception for syscalls in its license but drivers don't use syscalls.

  182. Re: PLEASE give us a stable driver interface! by KC1P · · Score: 2, Insightful
    I can absolutely give you an example of a device that's not getting community support -- the BCI-2004/BCI-2104 bus interfaces from The Logical Company. These are oddball weird strange devices for interfacing ancient DEC Q-bus/Unibus hardware to PCI-bus machines. The vendor doesn't care about Linux but provides semi-usable documentation and very friendly email support. My customers (I sell a minicomputer emulation package that runs on Linux or DOS -- don't laugh, see below) want to use the device.

    So I wrote a nice driver for it, with help from the excellent Rubini book since there's no frickin' driver documentation and the Linux sources are uncommented (putting your name at the top doesn't count as commenting on any team I've been on). It worked for a few months, until the next incompatible change in the kernel. Then I poked around in the kernel until I thought I'd figured out what had changed. Got it kind-of working (DMA is unreliable and I don't know why). Then the 2nd edition of the Rubini book came out, so I rewrote the driver and got it semi-OK again. For a few months.

    The kernel has had about a zillion incompatible changes in the driver interface since then, ALL UNDOCUMENTED, there's no 3rd edition of Rubini's book to sort it out for me, and I'm just lost digging through the kernel sources. It's always the same pattern: customer complains, I spend a few days fixing it, and it sort-of works for a few months until the next gratuitous interface change.

    OK so I'm a for-profit vendor and therefore deserve to die (how dare I want to be paid for being a programmer, it's only people who don't create new IP who should be allowed to choose what they do for a living). But I'm not the vendor. I wrote the driver for their device (and plenty of other open source stuff) because it needed writing and no one else was doing it. The driver is distributed as fully commented source (obviously), and I've given it out to anyone who asked for it (uhh ... both of them -- this hasn't made me a nickel in extra sales for the package itself, I tell users who want reliable Q-bus interfacing to use my DOS version because there's no OS to break my driver there, it's worked unchanged for YEARS). The users haven't touched a single line of code on their own that I know of, all they do is complain to me. So what's wrong with this picture? Why isn't Open Source magically making everything work, at no cost to anyone?

    It's just plain arrogant to assume that Groovy Open Source will always fix itself, and therefore it's OK to make the kernel interface be a rapidly moving target with no real manual. I'm sure that when we're talking about some extremely commonplace device that hundreds of thousands of people have, it's not hard at all to raise a posse and go after new bugs when the kernel changes. But this device I'm talking about costs $2575 a pop and is of no interest to anyone who isn't keeping a 30-year-old minicomputer system alive with a brain transplant. Absolutely no one is helping me maintain the driver even though they have everything they need to do it. I'm doing a lousy job of maintaining it because it's 0.0001% of my job description, and it's just not my strength (I know how to program bare metal, keeping up with Linux internals would have to be its own full-time job).

    I couldn't care less whether drivers are required by law to be open source (although I really can't believe that's enforcible on a loadable driver, licenses exist to make exceptions to the default copyright restrictions, and interoperation is not copying). If people want to see my I/O code they're welcome to it. Just please stop making it break!!! Especially if you're not going to bother helping me maintain it. I've got my hands full just keeping the user-mode code working (WTF happened to /dev/vcsa7 and up?! and /proc/meminfo?!).

    Anyway my point is, if Linux would pick one driver interface, and commit to supporting it (OK, possibly among other

  183. Re:This is why I don't write device drivers for Li by bhurt · · Score: 2, Insightful

    By the way- another advantage to having a stable kernel API layer is the ability to write a dead-tree book about how to write Linux device drivers and not have it be obsolete by the time it gets published. I have half a dozen books on this subject- half of them were obsolete by the time they were published, they're all obsolete now.

  184. Re:Stability like that leads to stagnation and dea by Anonymous Coward · · Score: 0

    I believe it is easier and far more economic to weed out bugs in source instead of in a binary you cannot really change and distribute because of copyright anyways. Linux hasn't been in the mainstream news for more than 2-3 years, and only now companies are beginning to really take notice. It will be interesting to see who was right in a few couple of years.

    What will the interface expose, when you yourself has created said interface? Not much. You can gain perhaps a little by testing the API against a live driver, but reverse-engineering a winmodem or a graphics card 3D language will just not work when most of the work will be hidden inside the binary. Again, I do not see why Linux programmers should waste their time on such endeavour when it can both become a legal nightmare and is just lots more hassle and totally insane compared to getting the open source drivers in the first place. NDAs? Just because somebody gave away theirs, doesn't mean we should all give up our freedom.

    We'll be quick to point out "we told you so", in a couple of years though, as always my pleasure :-)

  185. Re:As the article says, it's illegal, and a bad id by IamTheRealMike · · Score: 1
    I didn't say we should give up, I agree that would be wrong, but the whole issue of binary drivers boils down to a fundamental question:

    • Should we try and force people to GPL their work against their will, or should we try and convince them via strength of argument and let them make their own decision

    I'm hoping the answer is obvious - it should be the latter. Yet imagine a situation in which desktop Linux has 50% market share. What kind of hardware vendor would be able to to exclude themselves from 50% of the market by keeping their drivers closed and yet still be competitive? Effectively, the market and the policies of the kernel people would force them to GPL their drivers.

    Now you could say, well nobody is forcing them to make hardware. But this is just dodging the point: if I wish to sell an AwesomeWidget which needs a driver, and I write that driver, it should be my decision whether to release that code under the GPL or not. The right way for the free software movement to achieve victory is to convince people that free software is superior to closed development, both pragmatically and ethically. The wrong way is to say "Shut the fuck up, just give us your damn code already" - this sends a message like "we don't care about you, all we want is what you have made". Not a message an enlightened society should be encouraging!

  186. We need some stability, binary or not! by cwsulliv · · Score: 1

    I've given up on quite a few seemingly worthwhile software packages because the kernel driver was incompatible with my version of the kernel, often by just a minor release number.

    I've done a lot of programming in C, but debugging kernel drivers is not one of my goals in life. And I think it's asking a lot of a developer, whether open source or proprietary, to maintain a version of the driver for every kernel release which comes down the pike.

  187. Think about it people, there is another solution by SloppyElvis · · Score: 1

    There should be more and updated standard hardware interfaces for things like wireless adapters, graphics adapters, etc. It works at the lowest levels, like monitors, CD-ROM drives, etc. Why not have a beefed up standard graphics adapter interface? Why not have a standard OpenGL driver interface implemented by the *hardware* itself? That way, the kernel is not in the way, there can be an open standard driver implementation, and the super secrets the hardware vender wants to hide can still be locked behind their own custom driver.

    Perhaps this is naive, but interfaces allow us do just about everything in life. All that is needed is some agreement between hardware vendors and kernel developers, or my laptop won't be capable of running Linux.

  188. What? Linux isn't Open Source!? by Anonymous Coward · · Score: 0

    I believe a binary driver interface would be a wonderful idea, and it was the first thing I simply couldn't understand when I first started to use Linux. Why is everything all in the kernel?

    The question is, why haven't we got one already? Linux is Open Source! Why hasn't someone branched!? Think XFree86 vs X.org...

    Another point which never ceases to amaze me is the number of Linux users who have never actually read any further than the digest in the GPL. You can link other programs against a GPL program if it could be said to be a different entity!

    "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."
      - GNU GPL v2, Section 2, Paragraph 2.

    I would love to see Linux mainstream, and binary drivers, simple and consistent installation of software, and a consistent user interface are the only I am going to see that happen.

  189. Re:As the article says, it's illegal, and a bad id by bheading · · Score: 1

    Is it more important to have control than it is to have hardware ?

  190. No ABI no fun! by br33d · · Score: 2, Insightful

    A few year ago I wrote and maintained the Aironet driver. The years of maintaining the driver and supporting users (I still support them) has illustrated to me the importance of an ABI. I didn't really notice it at first, but it hit me in stages.

    1) Experimental driver stage. I distributed the source and had online instructions, but you would be surprised at the large number of people that I had to walk through compiling their kernel with the correct .config. It was hell. It was something that neither I nor they wanted to go through. I figured the problem would go away once I was integrated with kernel source.

    2) Late experimental stage. I had all the problems of the previous stage, but now the kernel API was changing under me so I had to put #ifdefs in to deal with it. I figured the problem would go away once I was integrated with kernel source.

    3) In the kernel. Yeah I made it into the kernel. Okay first it was the pcmcia package and then the kernel. But now I had to strip out all the #ifdefs because we don't want that cruft in the kernel, but I still had to maintain the #ifdefs for other kernels. So now I had all the previous problems, but now I had to make patches with and without the #ifdefs. I figured the problem would go aways once everyone moved to the new kernel.

    4) Firmware changes. Oh no! Cisco changed the firmware which changed a bit the I/O interface. Oh and look they are still changing the API in the kernel. So I can patch the new kernel code to support the new firmware, but I can't expect everyone to upgrade kernel just for my driver. (I wouldn't even do that because the XXXX driver doesn't work so well in the latest kernel.) Now I have even more problems to deal with including everything from before.

    5) Throwing in the towel. It became just too much of a time sink. Both sides of my driver was changing like mad (the hardware and the kernel API) and the poor users that were trying to make it all work with kernels that they wanted to use. All my time was being sucked up in maintaining the status quo and I couldn't work on anything new, so I turn the driver over to good hands and moved on.

    Now imagine how nice would be if in the experimental phase I could release the source and a binary for everyone to use. I wouldn't have to tweak and recompile for every new kernel. Anyone would be able to just grab the binary and use it if they wanted to. (Kinda like Windows... Ironically I use ndiswrapper for my new laptop with a broadcom driver and it rocks! I've used the same windows driver in linux for the past year across many versions of the kernel. It sucks that the windows network driver ABI is the only driver ABI that linux has.) If the firmware changed, I or anyone else could fix it and everyone could use it.

    Whether or not we Linux allows closed source drivers is orthogonal to an ABI. Technically you can write closed source drivers now and if you want to, you can prohibit closed source drivers with your new ABI.

  191. and people defrauds it by diegocgteleline.es · · Score: 5, Informative

    Linux is actually much better at this than windows - you can see what the kernel does. Microsoft's test suite means nothing, as explained by a (great) microsoft programmer: http://blogs.msdn.com/oldnewthing/archive/2004/03/ 05/84469.aspx

    "In a comment to one of my earlier entries, someone mentioned a driver that bluescreened under normal conditions, but once you enabled the Driver Verifier (to try to catch the driver doing whatever bad thing it was doing), the problem went away. Another commenter bemoaned that WHQL certification didn't seem to improve the quality of the drivers.

    Video drivers will do anything to outdo their competition. Everybody knows that they cheat benchmarks, for example. I remember one driver that ran the DirectX "3D Tunnel" demonstration program extremely fast, demonstrating how totally awesome their video card is. Except that if you renamed TUNNEL.EXE to FUNNEL.EXE, it ran slow again.

    There was another one that checked if you were printing a specific string used by a popular benchmark program. If so, then it only drew the string a quarter of the time and merely returned without doing anything the other three quarters of the time. Bingo! Their benchmark numbers just quadrupled.

    Anyway, similar shenanigans are not unheard of when submitting a driver to WHQL for certification. Some unscrupulous drivers will detect that they are being run by WHQL and disable various features so they pass certification. Of course, they also run dog slow in the WHQL lab, but that's okay, because WHQL is interested in whether the driver contains any bugs, not whether the driver has the fastest triangle fill rate in the industry.

    The most common cheat I've seen is drivers which check for a secret "Enable Dubious Optimizations" switch in the registry or some other place external to the driver itself. They take the driver and put it in an installer which does not turn the switch on and submit it to WHQL. When WHQL runs the driver through all its tests, the driver is running in "safe but slow" mode and passes certification with flying colors.

    The vendor then takes that driver (now with the WHQL stamp of approval) and puts it inside an installer that enables the secret "Enable Dubious Optimizations" switch. Now the driver sees the switch enabled and performs all sorts of dubious optimizations, none of which were tested by WHQL.


    (IOW: it doesn't guarantee stability or quality at all. It's just a false sense of "stability")

    1. Re:and people defrauds it by Anonymous Coward · · Score: 0

      because WHQL is interested in whether the driver contains any bugs, not whether the driver has the fastest triangle fill rate in the industry.

      Well, actually if you submit sound drivers WHQL is interested in whether you obey all the restrictions imposed by the secure audio path -- and increasingly, certified GFX card drivers will do the same for stuff like HDTV... etc etc etc. big my ass.

    2. Re:and people defrauds it by Hal_Porter · · Score: 2, Insightful

      Have you actually read the HCT test spec?

      http://www.microsoft.com/whdc/whql/resources/specs .mspx

      E.g for one of a real time virus checkers that layer over filesystem, they test things obscure filesystem features like defragmentation support, and oplocks and reparse points. Plus there is a 14 day stress test. And they update the test to catch common bugs. Of course a decent company will do this sort of thing, but in practice most companies will release undertested code if they are under pressure.

      So the HQL certification means that you run these tests. Then you fix the test failures and submit the log and binary to Microsoft and they sign the binary.

      It's not perfect - as the Raymond Chen post says, but it's a lot better than nothing. But the cool thing is it doesn't really need to be perfect, if the drivers are visibly unstable, people will stop buying the hardware and the company will go bust. Both NVidia and ATI hardware is rock solid with the latest drivers, so who cares if they cheat a bit with 3dmark and HQL.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    3. Re:and people defrauds it by dnoyeb · · Score: 1

      I'd be terribly surprised if Microsoft would allow such a running to be considered certified.

    4. Re:and people defrauds it by diegocgteleline.es · · Score: 1

      Well, right, but my point is: Opensource drivers beat the microsoft "quality tests" at any time: You just can see what the driver is doing: while automated quality tests are nice, looking at what the driver is doing can help to identify the bugs (and fix them)

      if the drivers are visibly unstable, people will stop buying the hardware and the company will go bust. Both NVidia and ATI hardware is rock solid with the latest drivers

      Well, DUH. IIRC nvidia is know to be on the top 5 of "companies who make your box bluescren" according to some Microsoft MVP

    5. Re:and people defrauds it by Anonymous Coward · · Score: 0

      Microsoft's test suite means nothing

      It means you can sell PCs with a "Designed for Windows" sticker on them.

      I don't think people in the industry use it as a measure of quality.

    6. Re:and people defrauds it by Hal_Porter · · Score: 1


      Well, right, but my point is: Opensource drivers beat the microsoft "quality tests" at any time: You just can see what the driver is doing: while automated quality tests are nice, looking at what the driver is doing can help to identify the bugs (and fix them)


      My point was most of this stuff isn't the sort of thing you can see from looking at the code - it only happpens on some combination of hardware or some percentage of the time or both. Unless you run a an automated test that's written to catch the problem on the right hardware you won't catch it either of course.

      But you can stare at code forever and not see a timing problem, because it's not in the code, its in the combination of the code and some nasty hardware.


      IIRC nvidia is know to be on the top 5 of "companies who make your box bluescren" according to some Microsoft MVP


      That's not my experience at all - I have boxes with ATI and NVidia cards and the latest drivers, one of which hasn't gone through HQL yet, and they're both rock solid. So these guys do know what they are doing with respect to stability, even if they do some questionable stuff to get better benchmark results.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    7. Re:and people defrauds it by justins · · Score: 1
      (IOW: it doesn't guarantee stability or quality at all. It's just a false sense of "stability")

      FFS. Not everyone is cheating their testing system. There's a whole world of drivers where the optimizing for speed/optimizing for stability tradeoff does not even come into play and optimizing for stability is the obvious top priority.

      It's not perfect, perhaps not even that good, but windows drivers got a lot better thanks to WHQL. Or perhaps just coincidentally, around the same time WHQL came online, but that seems like a stretch.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  192. Re:As the article says, it's illegal, and a bad id by Anonymous Coward · · Score: 0

    So preach all you want. Very few people care.

    Just because you don't care, doesn't mean we will stop caring..

    You continue being plagued by spyware, adware, Sony rootkits and those NSA backdoors in Windows, etc, etc. The list is pretty long, but maybe we'll never know for sure..

    Leave computing to the experts. We care.

  193. Re:Stability like that leads to stagnation and dea by twiddlingbits · · Score: 1

    Gotcha..I can attest that they are alive and well. I start work for them next week :)

  194. Re:"Solid interface documentation" doesn't just do by syrjala · · Score: 1

    If you have an Intel gfx chip a framebuffer driver does exist:

    http://mail.directfb.org/pipermail/directfb-dev/20 05-July/000457.html

  195. The different viewpoints by Anonymous Coward · · Score: 0

    OK, all you folks against the binary driver interface: Let's assume ATI and nvidia never release source code drivers nor sufficient documentation for their hardware -- which is their right, by the way. Whose graphics hardware are you going to use in your linux boxes then? If you have a chance to select a powerful graphics board with binary driver only or a considerably slower and older one with "community" written drivers, what's it going to be?

    How about each of us making our own decision if we like to buy their hardware+software bundle or not. If you do not like their deal, don't buy their stuff. Buy something else.

  196. Why should I care about those things? by Medievalist · · Score: 1
    You people need to figure out exactly what you want, Linux for the masses (read: grandma, mom, etc) or an O/S where you have to spend valuable time just getting it to work with regular hardware.
    I'm not sure who "you people" are, but I don't care about any of that psychodrama.

    I just want to pay a fair price for a system that doesn't crash or force me to make "upgrades" that are not beneficial to me.

    Obviously, I need source code so vendors can't extort more money from me after the sale, or force me to load upgrades in order to obtain security fixes. You can't really have a fair and free market without source code.

    1. Re:Why should I care about those things? by wecker · · Score: 1

      You said, you need source code to fix the security holes yourself, good. But I wonder do you really know how to fix it at all? It is not a matter of difficult or not, it is just a matter of time. If you have all your time to do those fixing stuff or the like, then you don't have much time to do your job. Have you ever read the source code in the linux kernel? From my point of view, separating the kernel and drivers is good. Normal users like me can just download the driver and install it to have it work. Do you really think normal user can and want to compile the kernel?

    2. Re:Why should I care about those things? by Medievalist · · Score: 1

      I've got my own code running on about 40 servers (4 different operating systems) but none of it is kernel code. I'd rather stay out of the kernel and driver code so I can easily contract out support to my distro vendor, but I think I could do it if I had to (most likely I'd pay someone else to do it, just like I'd hire a helicopter pilot if I needed one (even though I think I could figure out how to fly one if I had to)).

      Even if I agree with you that you are a "normal user" (which I probably wouldn't if I actually knew you - normal people are rare on slashdot) that's really a straw man. Why does linux need to make an explicit effort to be for "normal users"? Why can't it just strive to be the most reliable and functional operating system and let "normal" adjust itself to suit?

      People built airplanes and automobiles even though "normal users" only knew how to use oxcarts and horses - and the "normal users" continued to define their own goals and work for them. For some, that meant continuing to use oxen and horses... we have a large community of Amish and Mennonites just down the road here.

    3. Re:Why should I care about those things? by justins · · Score: 1
      Obviously, I need source code so vendors can't extort more money from me after the sale, or force me to load upgrades in order to obtain security fixes.

      Ironically, that's exactly what not having a binary driver interface does to me, whenever I want to patch my kernel for security issues.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    4. Re:Why should I care about those things? by justins · · Score: 1
      Why does linux need to make an explicit effort to be for "normal users"? Why can't it just strive to be the most reliable and functional operating system and let "normal" adjust itself to suit?

      If that's the tradeoff you want to make, fine. The problem is that people often take that attitude and then wander around blindly, amazed that it isn't "the year of Linux on the desktop" yet.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  197. Laptop support by steve_l · · Score: 1

    Having worked in a laptop vendor, its a different problem. What laptop vendors want is the best laptop for a price point (like $799) in the shortest time. So someone out in Taipei (the ODM) gets to do the mainboard, selecting parts from the list of things that work on windows. And that is because "works on Linux" is not something that the customers push back on.

    The best way to get Linux support on drivers is for the vendors to demand it, which means that the customers want it. This is why it is good that (a) HP ships linux laptops, (b) Ubuntu are being really good at laptop-ready linux. I worry about the effects of IBM's exit from the laptop biz tho', and I don't see dell caring enough about Linux. Plus ACPI2.0 is coming out of MS and Intel, which leads to an even tighter OS/bios integration.

    This really matters. Out there in the office and the home, the desktop is over, the future is the laptop. And Linux lags in hardware support. But it is a lot more mobile that it was before, and with a faster dev cycle than windows, things can only get better.

    -steve

  198. Re:Stability like that leads to stagnation and dea by Taladar · · Score: 1

    I wasn't aware that the Linux Kernel now supported RPM. Where can I find more information about this?

  199. Free software fails until it shows up on TV by tepples · · Score: 1

    You really think the open source movement is failing?

    When even one major national PC maker puts a 30 second spot on national TV advertising a home PC loaded with Linspire or Ubuntu or FreeBSD or another operating system based on a Free kernel and a Free graphical operating environment, then free software has succeeded in displacing Microsoft software. It may be succeeding on the server, but until a Linux PC vendor starts advertising nationally, Linux is failing at the home desktop level.

    1. Re:Free software fails until it shows up on TV by msuarezalvarez · · Score: 1

      I understand now: you think it is failing because you think it is not successful in achieving a goal you seem to think the movement set out to achieve.

      Well: I have to say I could not care less about displacing Microsoft software. I honestly, seriously do not care about that. I do not measure success by counting formatted Windows partitions. Yet I am part of that movement.

  200. Re:As the article says, it's illegal, and a bad id by Taladar · · Score: 1

    Then let these few people use teh Free Software and let the others suffer through Windows. I take developer-friendly open systems over closed-source MS-hell any day even if I have to spend a whole hour before every hardware purchase to check if it runs with Linux.

  201. Donated hardware by tepples · · Score: 1

    I might agree with you if there were no hardware out there in most categories supported by Linux

    Many K-12 schools and other non-profit organizations, as well as home users who cannot find a job in this economy, rely on donated hardware. If Windows works better with the hardware donated to a given user than Linux does, then Windows is a better choice. The situation is similar for users switching to Linux without buying a new computer.

  202. s/has been through/requires/ by Anonymous Coward · · Score: 0

    you mean. linux dont need no such hard work in the first place..

  203. Hardware that I already own by tepples · · Score: 1

    If a device won't work in Linux for WHATEVER reason then I just won't buy it.

    Hypothetical: I'm trying to switch my home PC to Linux, or I run IT for a non-profit organization that receives lots of donated hardware. The problem is that hardware that I already own works better in Windows than in Linux.

    1. Re:Hardware that I already own by Medievalist · · Score: 1

      I frequently find hardware that won't work with some version of windows, and I frequently find hardware that won't work with some version of linux. There are more supported versions of linux available, but the latest version of windows is more likely to support the latest hardware than the latest version of linux.

      There's no appreciable difference here. Some tires don't fit trucks, some tires don't fit cars. Some tires will fit a subset of both groups (imagine a colorful Venn diagram).

      Use the combination of hardware and software that allows you (or your non-profit) to achieve your goals. You don't have to remake any of those three things (hardware/software/goals) to be anything they don't need to be.

      If that means you use all Microsoft products and all Gateway hardware, nobody "fails". A linux monoculture would be just as unhealthy as a Microsoft monoculture.

  204. Maintaining device drivers by Skapare · · Score: 2, Interesting

    Let's see here. Manufacturers want us to create a kernel than allows them to infect and interfere with its integrity, reliability, performance, and security, just so they don't have to keep maintaining that driver as the design of the kernel continues to be improved? They want us to stagnate the design of the kernel so they can let us use their stagnant device drivers? And they want us to have a system that is no longer viably supported by staff or consultants, while they are most likely not ever going to provide system support (if they can't keep the driver maintained, how the hell are they going to provide support for an old driver)?

    I'd just stay away from their hardware.

    --
    now we need to go OSS in diesel cars
    1. Re:Maintaining device drivers by cwsulliv · · Score: 1

      Hardware/firmware designs continue to be improved as well. It's not the easiest thing in the world to insure the "integrity, reliability, performance, and security" of a hardware-plus-driver product when you have to test it and possibly customize it with a zillion different versions of the kernel. I count 44 minor releases for the 2.4 and 2.6 kernels alone - thusfar!. (See http://www.kernel.org/pub/linux/kernel).

      Don't forget there are a lot of installations that have have been running reliably with older kernels for years, where the SysOps don't want to mess with a good thing. But hardware components do wear out and have to be replaced from time to time.

      A major problem faced by Detroit some years ago (and maybe even today) was that with the wide variety of optional features available on automobiles the number of interacting combinations of things that could go wrong was enormous, and it was literally _impossible_ to insure a quality product.

      Hardware manufacturers face a similar problem with Linux, and many decide to just ignore that market entirely.

    2. Re:Maintaining device drivers by Skapare · · Score: 1

      Why would they not face a similar problem with Windows? Or does every version of Windows since 95 have exactly the same driver API?

      I think the real problem is the manufacturers don't want to put the effort into Linux drivers. And this is made worse by having proprietary hardware-software interfaces, instead of making something simple at the interface, and putting their intellectual innovations in just the hardware.

      --
      now we need to go OSS in diesel cars
    3. Re:Maintaining device drivers by cwsulliv · · Score: 1

      With Windows you might be faced with maintaining 4 or 5 versions of a driver as opposed to a substantially greater number for Linux.

      You're right that many manufacturers don't want to put the effort into Linux drivers. But they'd have to allocate resources for this, which costs money, and the potential return may be negative based on Linux's small share of the market.

    4. Re:Maintaining device drivers by Skapare · · Score: 1

      Why would there be a substantially greater number for Linux? The kernel doesn't really change that often.

      --
      now we need to go OSS in diesel cars
    5. Re:Maintaining device drivers by cwsulliv · · Score: 1

      As I pointed out earlier in this thread, there have been 44 minor releases to date in the 2.4 and 2.6 kernels alone. And there's no assurance the driver interface hasn't changed between any one of them and the next. Once a driver makes it into the kernel source tree it's normally upgraded by the kernel developers along with the kernel, but it's a never-ending responsibility for third-party driver developers.

    6. Re:Maintaining device drivers by Skapare · · Score: 1
      And there's no assurance the driver interface hasn't changed between any one of them and the next.

      But there's no assurance that the driver interface has changed. What I'm referring to is the actual history of the changes, not what the most extreme possibility is.

      There are extremes. On the left hand some people might want to make interface changes at any time. On the right hand other people want the interface to never be changed. I think the kernel team is doing something pretty close to a fair compromise by not carving it into stone in a way that limits the ability for Linux to evolve and improve, but also not making such changes too often, either (that does mean a lot more work for others in the team, too).

      There could be some things that driver writers are using that perhaps shouldn't be used in a driver, and changes done there are not considering the impact on drivers (and shouldn't). We really can't tell for sure if those driver writers are releasing only binary. This is yet more reason to always have drivers in source code that can be compiled and linked to make an actual driver.

      I still don't buy the intellectual property issue regarding drivers. If they want the kernel to use standard interfaces, then maybe they should try using standard interfaces at the hardware level and stop using proprietary designs to try to lock people in their drivers. They should put all their innovation inside the hardware itself and to the extent possible use an existing standard interface to access that hardware. If there are new features (which should be selling points for the hardware, and not kept secret) that need special communications for the applications to configure how they are used, then perhaps something added on at the driver would be needed to communicate what parameters are to be passed to the hardware and what status to be passed back. Again, there is no reason for secrecy in the driver, and no reason not to release the source code. There is plenty of reason to do so because that just increases the poetntial market among Linux users.

      If companies that keep their drivers in closed binary form are finding that their hardware is not being used by very many people in the Linux community, maybe it is because of that closed binary driver. I know that's a big reason for me to dismiss ever buying that hardware. Another reason is the use of non-standard hardware interfaces.

      --
      now we need to go OSS in diesel cars
    7. Re:Maintaining device drivers by cwsulliv · · Score: 1

      It makes no difference that the driver interface may not have changed for a few iterations of the kernel. Without assurance that it _hasn't_ changed, the driver developer has to at least test his driver against every kernel version. And if changes/improvements are made to the driver, then run the testing all over again.

      You argue against "carving into stone" for the Linux driver interface, but then argue that device manufacturers should put all their innovations into the hardware, which is _really_ "carving into stone" (as well as being considerably more expensive).

      I think if Linux captured 25-30% of the market, device manufacturers would sit up and take notice. But for a measly 5% - poof, who cares. Don't get me wrong. I run almost exclusively under Linux and write FOSS software exclusively under Linux, but I can understand the device manufacturers' perspectives.

    8. Re:Maintaining device drivers by Skapare · · Score: 1

      It is not carving into stone if the next version of the hardware can do newer more innovative things. What carving into stone would mean is that no new innovations are allowed in even the next version of the hardware. But there is no real reason to have such limitations. For example a TV video output card could accept MPEG-2 in its first version, then accept both MPEG-2 and MPEG-4 in its second version. No driver change should even be needed for that. And certainly do even think of putting the MPEG decoding in the driver.

      I really do understand their position. I just think they are wrong. If they hadn't gotten themselves into this rut of backwards thinking in the first place by having worked on Microsoft (and other) products that encourage both closed source and embedding in software drivers that which should be in hardware, then we wouldn't even have had this Slashdot article in the first place. Instead, we'd have more interesting and more innovative hardware, and a lot fewer bugs (even in Windows).

      --
      now we need to go OSS in diesel cars
    9. Re:Maintaining device drivers by cwsulliv · · Score: 1

      You're saying it isn't "carved into stone" when all you need to do is buy another stone. :-)

      It certainly is carved into stone for the user who buys hardware version A and doesn't have the ready cash to later buy hardware version B and yet again later hardware version C.

      And more complexity in the hardware means a higher probability of a hardware bug, which can get pretty expensive in terms of warranty service if it can't be fixed with a firmware or driver upgrade.

      And finally (but probably most important) there's the issue of the higher cost of hardware solutions. It certainly isn't a Microsoft conspiracy that pre-assembled PC systems are almost invariably outfitted with cheap "winmodems" rather than hardware modems. Especially when the operation of the winmodem is perfectly satisfactory for the average (Windows) user.

    10. Re:Maintaining device drivers by Skapare · · Score: 1

      Then what the manufacturer should do is implement their buggy logic in firmware than can be loaded into the hardware by a means that an open source driver can perform (and also one that does not require an existant firmware to be present to accomplish firmware loading).

      If the hardware manufacturers want to include the growing Linux market, which in great part is there because of the security aspect of Linux, which is ruined by having binary drivers, then they need to bite the bullet and do things the right way ... the Linux way. That's what it's about. Trying to turn Linux into another Windows is the wrong way.

      One major reason I avoid Windows is to avoid this binary driver malarky. I sure as hell don't want to see this move into Linux. If it does, then I guess I have to move on to BSD or something.

      As for the winmodem thing, I don't know that Microsoft specifically encouraged it directly. But they certainly have encouraged binary only drivers. And they are most likely happy to see anything that only works on Windows.

      The lower cost hardware comes with a higher cost in terms of using CPU resources for what should have been hardware accelerator resources. You don't see high end graphics card manufacturers trying to move their graphics accelerators into the CPU.

      --
      now we need to go OSS in diesel cars
  205. Re:As the article says, it's illegal, and a bad id by SWroclawski · · Score: 1

    That's a flawed argument since we have working hardware.

  206. Even home PCs? by tepples · · Score: 1

    Linux is growing in popularity in every segment it's in.

    What about the segment "preloaded operating system on national-brand home PCs"?

    1. Re:Even home PCs? by poofyhairguy82 · · Score: 1
      What about the segment "preloaded operating system on national-brand home PCs"?

      Maybe you missed the memo. In every market it's in Linux use is growing. Is it always a lot of growth? No- but Linux is out there to be used, not to "win."

  207. A msg for HDS, NEC and Fujitsu, go for OpenSolaris by maitas · · Score: 1

    Friends from HDS, NEC and Fujitsu. If you want to write binary drivers for an Open Source OS go and write for Open Solaris...

  208. great idea....not by Geekboy(Wizard) · · Score: 1

    this is the worst idea I've heard in, well, about 10 minutes. hardware companies make mediocore hardware with worse drivers. give us the docs, and let us write quality drivers. that way, you don't have to support those users, nor bother writing the driver for that platform. you have the documentation anyways, thats how you made the windows drivers. your competitors can't use that to steal your secrets, since the actual magic is done in hardware, away from the driver.

    also, the whole world isn't windows on x86. these drivers won't work on amd64 machines. or on macppc. or sparc64.

  209. Hardware beggars can't be choosers by tepples · · Score: 1

    if being free (as in speech) and open provides a chilling effect for a company to contribute, and they don't contribute, then we didn't want them anyways.

    Imagine working in the IT department of a non-profit organization that receives substantial donations of hardware made by a company that chooses not to contribute. If you ask for a different make or model instead, you get "beggars can't be choosers" instead of compatible hardware. Trouble is that many of these non-profit organizations are the schools who are teaching our children to use Windows and Windows only.

    1. Re:Hardware beggars can't be choosers by Krach42 · · Score: 1

      Trouble is that many of these non-profit organizations are the schools who are teaching our children to use Windows and Windows only.

      So make it so the beggars can be choosers. Donate time, support, and money to them so that they can use Linux. Otherwise you're just talking.

      I personally don't care about what any particular person or group is using or not using. As long as Linux has its Freedom, then that's alright by me.

      It's hard to imagine that at one point the US wasn't this massive super-power, and that all of these monarchial governments were looking at us and laughing saying we were a bunch of nut jobs... and we were! because we dared to place Freedom above efficiency of government.

      Now, many of the same countries that laughed at us, now stand in positions relatively similar to ours, and hold to Freedom above all else. Some better, some worse, but they all see a fundamental need for Freedom as priority number one.

      --

      I am unamerican, and proud of it!
  210. Why a stable DKI is good for everyone. by MROD · · Score: 1

    Firstly, I'm not going to talk about anything to do with commercial drivers, it's just too much of a religious war and no-one will listen to the arguments either way...

    Instead, I can show why having a stable, backwardly compatible and well engineered* driver kernel interface, be it binary or not, is good for everyone, even those hard working open source driver developers:-

    *Note: I use the word "engineered" purposefully. Anyone can design something, such as a bridge, but it doesn't mean that it will work. Engineering is a rigorous process with only a small part beinf design, the major part is proving the design works and is the correct one.

    (1) A constantly metamorphosing DKI means that everyone has to run to stand still.

    Just think of the number of man hours which has to go into modifying every single little device driver when the kernel interface changes. Just think of the number of times the interface has changed in the 2.6 "stable" series. Just think how many man hours could have gone into making the drivers better instead.

    (2) A constantly metamorphosing DKI means that drivers get orphaned.

    If a driver maintainer gives up or the company which made the hardware and maintained a driver goes under or is taken over then it won't be very long until the change in the kernel interface makes the driver unusable. There are many drivers in the current kernel which are still lurking, unloved and uncompilable at the moment, such as the Advansys SCSI driver. One of the great cries as to why Linux was so great was that it supported all that old, lovely hardware that the manufacturers forgot about. Well, it seems that because of the supersonic DKI Linux has as well.

    (3) Separating the kernel totally from the drivers means both can concentrate on what they do best.

    OK, so what would separating logically the driver and the kernel mean?

    Well, firstly, with a fully engineered interface the kernel can interface with all the drivers in a sane and virtual way. The drivers are a black box, the kernel doesn't know and shouldn't know how a disk drive works, just that every disk drive looks like any other disk drive. In that way the kernel developers can stop worrying about those trivia and worry more about how they may optimise moving data around the kernel better or scheduling the reads etc. Why should the kernel care if it's an IDE disk on its own motherboard or a virtual disk held on a server the other side of the world as long as when it requests something to happen it happens?

    Secondly, if the kernel is a black box to the device driver author then he/she doesn't need to care what the kernel does, as long as it performs to the tight specification and the driver is written to that specification then it will work. If it doesn't then there's a bug in the driver code and he/she knows that they have to fix it. It also means that the kernel can vet the arguments and data it's given to make sure that the driver isn't insane and trying to do nasty things to it.

    (4) But we need supersonic goal posts because we need to be flexible and make things better!

    How many times have I heard that one? Far too many.

    If a kernel/driver interface is properly engineered there should never be a need to change it other than to maybe add functionality in a structured and backwardly compatible fashion for new types of device which were not envisioned when the original specification was produced.

    ie. if the specification has to be changed incompatibily then whoever engineered the original needs a kick up the backside for not doing his/her job.

    The problem with trying to produce such an interface specification is that it takes a great deal of effort and thought for somerthing which in the short term will only produce pain. Most developers of free software are unlikely to either put the effort in or have the political power to make it happen in the first place.

    --

    Agrajag: "Oh no, not again!"
  211. In Solvat Russia... by Anonymous Coward · · Score: 0

    Binary Kernel Driver Layer has you!

  212. Re:Realistic result of this... by Omniscientist · · Score: 1

    Fred Palowakski, is that you?

  213. Re:Stability like that leads to stagnation and dea by elmegil · · Score: 1

    Been here 10 years, actually. Drop a line to my nick at gmail when you start.

    --
    7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  214. Apple's KPI. Why not? by Stalin · · Score: 2, Interesting

    This is a legitimate question I have. Why not support a system like Apple introduced with their kernel in OS 10.4? When it comes to operating systems, I am just a user. I don't hack on them. So, I could be missing something in the whole "the drivers must be open source so that they can be included in the kernel and updated along with it" thing. I would like a clear explanation why doing things the current way is better than implementing a new system that supports binary drivers in a clean way.

    If you are not familiar with the "KPI" thing, here is a short summary from http://arstechnica.com/reviews/os/macosx-10.4.ars/ 4. I think it is a rather neat solution:

    "With Tiger, Apple is finally ready to put some kernel interface stakes in the ground. For the first time, there are stable, officially supported kernel programming interfaces (KPIs). Even better, there's an interface versioning mechanism and migration policy in place that will ensure that the pre-Tiger situation never happens again.

    From Tiger forward, kernel extensions will link against KPIs, rather than directly against the kernel. The KPIs have been broken down into smaller modules, so kexts can link against only the interfaces that they actually need to use.

    Each KPI has a well-defined life cycle made up of the following stages.

            * Supported - The KPI is source and binary compatible from release to release.
            * Deprecated - The interface may be removed in the following major release. Compiler warnings are generated on use.
            * Obsolete - It's no longer possible to build new kernel extensions using this KPI, but binary compatibility for existing kexts that use this KPI is still assured.
            * Unsupported - Kexts using this KPI will no longer work, period.

    The most significant part of this new system is that the kernel itself can and will change behind the scenes. KPIs will descend towards the "unsupported" end of the life cycle only as kernel changes absolutely demand.

    Best of all, multiple versions of a KPI can coexist on the same system. This allows a KPI to move forward with new abilities and a changed interface without breaking kernel extensions that link to the older version of the KPI. The expectation is that the kernel can undergo a heck of a lot of changes while still supporting all of the KPIs."

  215. Crossbar? by Anonymous Coward · · Score: 0

    If the fecking *driver* needs to know about the crossbar controller, things are seriously fucked up.

    I suspect that the driver interface has bugger all to do with technology like that - the driver says "do this" and the GPU decides how to handle memory.

    1. Re:Crossbar? by DavidTC · · Score: 1
      I, personally, find it astonishing how much it's asserted that video drivers contain proprietary software, when video cards are basically the other CPU in a computer, and actually faster for many things.

      Why the hell aren't they running this stuff out of fireware on their GPU? What exactly is going on here? Why do they need a 1 meg binary blob loaded into kernel space to manage a damn processor? Can't they have that processor manage video stuff?

      --
      If corporations are people, aren't stockholders guilty of slavery?
    2. Re:Crossbar? by Rezonant · · Score: 1

      Interesting how a slashdotter with such a low user ID has such a weak grasp on how GPU:s work. They are VERY different from CPU:s and the interface to access them from software is incredibly complicated because of all their specialized features. They can not run generic code, only short snippets called shaders.

    3. Re:Crossbar? by AKAImBatman · · Score: 1

      You know what I think? I think you should actually TRY designing a CPU. You may not find things to be as cut and dry as you think. Here's some great tools to get you started. Hope you have a good grasp on the parallelism of circuit design, and understand microcode, instruction decoders, on-chip cache, and pipelining. When you're ready to put your masterpiece in fabric, go grab an FPGA and check to see if you made efficient enough use of silicon to make it fit.

      When you're done, show us your design and we'll show you how the existing stuff has been done better.

    4. Re:Crossbar? by DavidTC · · Score: 1
      What the hell are you talking about? I wasn't complaining about GPUs or CPUs.

      I was complaining about the big proprietary blob of software running on the CPU that does nothing but talk to the GPU. That makes sense for, say, a Winmodem. It doesn't make sense when the thing you are talking to is also a processor. In theory, it could be a single port that the driver crams all requests and data into and the GPU does whatever it wants and hands any return data back on a second port, although there are obvious thoroughput problems there.

      And, before you ask, I do indeed program, although admittedly it's been a decade since any assembly language.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    5. Re:Crossbar? by DavidTC · · Score: 1
      They can not run generic code, only short snippets called shaders.

      And this comment is why I have the low ID and you don't, except it doesn't work that way.

      GPUs, nowdays, are Turing-complete. They can run any damn software they want. They can sit there and emulate an X-Box or a z80 calculator or ENIAC, although obviously they'd be too slow to be an X-Box.

      They are extremely crappy at many things a CPU is extremely good at, and vis versa. However, this does not logically lead to 'And, hence, we need propietary software running on the CPU.'. All that software does is talk to the GPU. How do I know?

      Because if it did anything to manipulate the data by itself, competitors could rather trivially see what it was doing, and thus it wouldn't be very 'secret'.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    6. Re:Crossbar? by AKAImBatman · · Score: 2, Informative

      In theory, it could be a single port that the driver crams all requests and data into and the GPU does whatever it wants and hands any return data back on a second port, although there are obvious thoroughput problems there.

      Oh Lord. Save me from the ignorant. Hardware systems are NOT that easy to design. The GPU doesn't do JACK other than crunch some numbers, and it's already one of the most complicated devices in existence! (Primarily thanks to the complex pipeline designs, the number of parallel pipelines, and the microcode space and execution hardware carried on chip and intertwined with each pipeline.) ALL the real work is in the software. The hardware just executes its instructions. If you tried to cram all the work the software is doing into the hardware, you'd have something more complex than the latest Pentium and NVidia GPU combined. Not to mention that you'd never be able to increase performance through driver updates.

      And you need to be careful with your concepts of Ports. Bus design is tricky business and can easily bottle up the entire computing platform if you're not careful. Many commands on one bus is something you see more of in general purpose computing where the raw performance isn't an issue. In the case of a GPU, raw performance IS an issue, and the software directly controls the entire bus + the GPU.

      What the hell are you talking about? I wasn't complaining about GPUs or CPUs.

      That's because you have no idea what you're talking about. The hardware doesn't do video processing. I don't know how many times I'm going to have to repeat that. It's all software, and it's all trying to compile the instructions, reorder them, JIT microcode, parallelize the data, and do other complex optimizations that will actually feed the computations into the GPU. The GPU spits out an answer that ends up in VRAM. How nice.

      And, before you ask, I do indeed program, although admittedly it's been a decade since any assembly language.

      No offense, but ASM is way off in left field. We're talking hardware design here. And the only way to truly understand hardware (including the software that drives it and WHY it drives it that way) is to go design some yourself. Unlike yourself, I've actually taken the time to do so, and now understand why things are the way they are. I'm not sure how I can get this through your skull, but complex hardware is HARD and EXPENSIVE. It never makes sense to use hardware when software will do the job just as effectively (or in this case, more so).

      When it does make sense is when you're trying to accelerate very specific and abstract mathematical operations. e.g. Matrix math can be easily accelerated in hardware. Drawing a line on the screen? Not so much. If you want to accelerate something like drawing a line, you'll want to use Microcode. Microcode is tiny software that loads up and executes on the CPU itself. Microcode is pretty micro though, so it can only go so far. To do something more complex, (say, draw a shape with those lines) you want to bump it up to software. The on-chip cache will keep the code running smoothly inside the chip so that the software isn't constantly crossing the bus during the operations. Thus you end up with software that drives the hardware.

      Now imagine that you had software that waited until you had drawn all the objects with lines, then sorted them to figure out which ones get drawn in what order, removes any lines that are hidden, checks which lines can be drawn in parallel because they don't cross, then does a final reordering of the line drawing commands so that the hardware can draw four lines simultanousously (complicated by the fact that some lines are shorter than others, and will take fewer cycles to complete). That is what your big blob of "useless" software is doing.

      If you think there's a better way this stuff can work, then by all means. Go design some hardware and show the world. (It's not that hard to get started. Really.) In the meantime, though, just be quiet. You're making yourself look bad.

    7. Re:Crossbar? by DavidTC · · Score: 1

      If it's doing that much work in the software, and can't be reasonably done on the GPU, they should just put a damn CPU on the graphic card.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    8. Re:Crossbar? by AKAImBatman · · Score: 1

      If it's doing that much work in the software, and can't be reasonably done on the GPU, they should just put a damn CPU on the graphic card.

      To what end? You've got a perfectly good CPU sitting inside your computer, and it's generally not doing anything anyway. Plus you've got memory galore for all those complex transformations. Why stick yet another computer onto the VidCard?

    9. Re:Crossbar? by DavidTC · · Score: 1

      Well, you can write code explicitly for that processor, for one thing. Instead of the many different added instructions that x86 processors have, and the timing differences between processors.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    10. Re:Crossbar? by AKAImBatman · · Score: 1

      Well, you can write code explicitly for that processor, for one thing.

      And double the cost of the Video Card. Your competitors will then use your computer's CPU to undercut your cost.

      Instead of the many different added instructions that x86 processors have, and the timing differences between processors.

      Much easier to simply recompile the drivers for another platform. Or if necessary, port the code. Software maintenece like that doesn't cost that much, and easily gets lost in the cost of normal operating expenses.

  216. Comparison with userspace libraries by AlXtreme · · Score: 1
    Lets, just for the fun of it, compare our beloved kernel with a non-stable ABI to a userspace library like glibc.

    We've been through the whole libc5->glibc transition years ago, and for distributions offering binaries (Debian?) these transitions have always been a pain. Thankfully they don't happen very often, and there are numerous ways how userland libraries provide space for future API-expansion. If I choose to use binary applications, I can do so, but it's my choice to forgo the freedom-of-source, not that of the library developers. Now how would you like to recompile all your binaries each time a new version of glibc comes out? Because this is what we've been having to do with device drivers every new kernel release. It just isn't necessary.

    Essentially what driver developers get is a moving target. A driver working today can be broken tomorrow, no guarentees. Naturally, your precious kernelspace ivory tower can not be compared to us lowly userland developers, but as I see it the kernel developers are treating this as a moral problem, not as a technical one.

    So, instead of one proper ABI, we get companies creating compatibility layers, of which they know the interface doesn't change (as they wrote it themselves). Look at what nvidia has done. You are not stopping people from using non-free 'illegal' drivers, you are merely making it harder for companies to develop for linux and for us users to use. Does this change the result? We still have non-free drivers floating around, your choices thankfully can't stop them (for they give us more freedom!). And instead of having easy-to-use repositories of device drivers, we have to recompile all of them every time we want to upgrade our kernel a notch.

    Freedom is good. So is the freedom of making decisions that are not your own. Grow up, and give us users our freedom.

    --
    This sig is intentionally left blank
  217. OSDL is Linus' Employer by Anonymous Coward · · Score: 0

    Can he ignore his employers? Closed source kernel next?

  218. The nonsense of o stable kernel ABI nonsense by sergstesh · · Score: 1

    I have carefully read what Linus and others wrote about practical impossibility
    to implelement stable kernel ABI and sounds to me like nonsense - to the extent I'd
    like to write a document which disproves their point.

    If I ever do it, the document will be based on the ideas discussed in

    debuggability of ALSA

    thread I started. The thread started as

    http://sourceforge.net/mailarchive/message.php?msg _id=13588670

    , an ABI proposal of mine is

    http://sourceforge.net/mailarchive/message.php?msg _id=13609229
    .

    The kernel developers' argument about different versions of compilers and
    different ways they map data is nonsense because drivers should be statically
    linked and not depend on any external library, they should be executable memory
    image.

  219. MOD PARENT UP by nutshell42 · · Score: 1

    I just bought a new graphics card and the reason I didn't even consider ATI is that a friend of mine had one (just replaced it too =) and I've seen what ATI calls "driver support" for linux.

    --
    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage
  220. What kind of drive? by Grendel+Drago · · Score: 1

    What sort of drive does the Indy use? A 1GB drive runs $30; from what I can google up, it uses a plain Fast SCSI drive... hmm, want one mailed to you? There's a computer used-parts store near here that carries that sort of thing.

    Heck, it'd be the least I could do to encourage kernel development, y'know? Not that I have an Indy or anything, but it's the principle of the thing.

    --
    Laws do not persuade just because they threaten. --Seneca
  221. Boy It Would Sure Be Easier... by Anonymous Coward · · Score: 0

    ...if there was a stable driver API. But, it would sure open us up for all those security problems that plague Windows.

    Linus and the "Linux Community" set out to produce a fun project that would work liike Unix, be stable, run on a 80386 platform, and be open for all to see and modify. These simple, high and lofty goals have guided the community since its inception.

    One of the protections that I have come to rely on is that the code is open for many eyes to see. This helps to keep out the cracker riff-raff and the NAZI-like over zealous corporate types (not all, just some...) from spying on me or using my computer for unethical purposes.

    Alowing a closed-source hardware driver in at a level that has kernel access, can filter my keystrokes, or somesuch nonesense without the opportunity for peer review to catch unethical (or simply unwise coding) behavior is stupid.

    Yes, opening up a standard API would attract more hardware vendors, but at what price? It makes more sense to have a more modular API to begin with, but have the hardware vendor supply an API specification for their hardware; not what would reveal their secret internals, just how to properly communicate with it.

    It wouldn't hurt Linux to have a slower adoption rate. We're fine right now. As the community grows and matures, however, more vendors will simplyy learn to play by our rules. No fight is necessary. This will be won by simply sticking to principles and allowing hardware vendors to fade into the "I should have ported to Linux" sunset.

    In 10 to 15 years, I can see 4 or 5 OSs owning 90% to 95% of the market in a somewhat even tug-of-war. Linux will be one of them. Windows, if Microsoft still exists as a software company, will have less than 5%. That's not to say that Microsoft can't come out with a new, great OS that will be one of these 4 or 5 top OSs. It's just that Windows is losing out. Too much baggage.

  222. Programming for Linux by Anonymous Coward · · Score: 0

    I really love The Art of Unix Programming. http://www.faqs.org/docs/artu/ Maybe the simplicity of the kernel confuses them. What they are probably looking for is a driver development kit. http://www.jungo.com/linux.html This is nice, but what about all the new features that are added to the kernel. Plus, what about different architectures? You can run linux on an Xbox now. Do the companies think about that? Open source would be nice, but only shows half the picture. I vote for full documentation of hardware and half written software. Have a relaxed use policy where the documentation can only be used to create drivers. The company could use code words in the driver that confuse people, but they still release the source code. The function printk could be renamed to eaksdjfkasd and it could still work, but it is more difficult to understand.

    One rant of mine is restricted use of products. Who says I can't use a screwdriver as a hammer? Why can I use a piece of software in any (legal) way I want? Pencil and pen companies don't bother writers about wanting a share of the profits.

    WE WANT AND NEED FULL DOCUMENTATION and k.i.s.s.

    frank
    fsuarez2005@yahoo.com

  223. Re:As the article says, it's illegal, and a bad id by Phurd+Phlegm · · Score: 1
    These companies want a binary layer so they can build binary drivers.
    I keep hearing everyone say that, but it doesn't sound that hard to distribute binary-only drivers anyway. You just write wrappers for the kernel interfaces you want to use and distribute their source along with your binary-only driver. Users recompile the wrappers and link the whole fershlugginer mess to get a "new" binary-only module.

    Now that that's out of the way, is there still a reason we can't have a stable kernel ABI? I don't see that there is any way to make the "your module is a derived work" argument that really makes sense in this case. But of course, legal phantasy should be left to legal minds, and mine isn't one (thankfully).

  224. API NOW! by Eli+Gottlieb · · Score: 1

    As someone who has personally had to tweak the source code of his WLAN driver in order to get it running on 2.6 kernels by changing one line of C and 12 of shell script utility, I can say that we need to find a way to keep drivers working across kernel versions. Come on people, this was the open source linux-wlan-ng driver. The lack of a standard interface is holding back open source drivers as well as proprietary.

    I was without net access for 3 days just because I switched to Gentoo! I had to download local copies of the linux-wlan-ng drivers in Windoze, hack their source and then spend another day figuring out how to use the accompanying shell scripts to start the network interface wlan0 without crashing the driver due to an unneeded firmware upload. This has got to stop, it is inane and idiotic that I must do this on every distro switch or major kernel upgrade.

  225. easy ways around this by Chirs · · Score: 1

    "one of the main problems for getting device manufacturers to support linux is the fact that they either have to release a new version of their driver every time the linux kernel changes some esoteric internal API, or be badmouthed for not having good linux support."

    Um, no.

    There are two easy ways around this:

    1) Publish the hardware specs and let the community write the driver.
    2) Get the driver into mainline and let others take over maintenance of it for you.

  226. Your Premise is Flawed by poofyhairguy82 · · Score: 1
    Are we so zealous that we want to keep these pieces of hardware from working with Linux?

    I think the answer you would hear from those that contribute to Linux rather than just use it is "yes!"

    How exactly does that help the adoptation of Linux on the desktop?

    The policy doesn't help Linux on the Desktop, but the Linux Desktop does not matter anyway. Its a novelty- the desktop war was fought a while ago and everything not called Windows lost.

    Linux matters on embedded devices, servers, and super computers- thats its biggest market. In each of those markets having binary drivers is not a big deal. In fact, for a super admin, having something they can't mess with in a server is a possible security risk.

    Linux gets in people lives through TiVo's, cell phones, wireless hubs and free google use- not the desktop. Thats where it matters.

  227. Maybe the end justifies the means by quinnharris · · Score: 1

    Joe sixpack does not care if a driver is binary or open source, he wants it to work. So do we care about joe sixpack? I hate to say, I do. I have to help people with their Windows computers and I find it exceedingly frustrating that I actually have more years of Window experience but much less of an ability to actually fix problems on Windows than Linux, let alone get Windows to do anything outside of that small box Microsoft has prescribed. It would be great if the systems I need to support could run an operating system that doesn't make me hate IT work. But it takes a bit of time to learn a new OS and I can only expect that a user will only switch if the expected value of the switch is greater than the cost. Hardware that doesn't work will quickly make the cost appear high.

    I would like to see linux distributions that target the average user and provide at least the same ease of use as Windows. I think Ubuntu, Xandros, Linspire, etc are seeking this end. Enabling proprietary drivers to just work in many cases will drasticly improve the users experience with a these linux distributions.

    I understand the kernel developers desire to not be tied down to a fixed interface. But why not declare a kernel binary stable on a predictable time table (e.g. every year) and let binary driver developers target that kernel? That kernel will likely not get any updates short of something extremely critical. Distributions that would gain from binary compatibility by default would use these binary stable kernels. Might not get the latest and greatest features, but I expect a years worth of kernel features would be of less value to most people than hardware that actually works.

    I also think for the most part binary drivers are assinine. But I don't see that anyone will convince companies like nVidia of this anytime soon. So why not work with them to make these drivers just work but clearly inform the user that they are using binary drivers and the problems with binary drivers.

    Making more hardware just work with Linux can only encourage its use. Allowing binary drivers in the short term could encourage more open source drivers (and binary ones) in the long term.

    If open source drivers really provide a substantial technical advantage (stability, working properly, lower cost) I would like to think with a little time those companies producing endorsing open source drivers would find a competitive advantage over their proprietary counterparts.

    Is the goal to rid the world of binary drivers or to empower the users/developers?

  228. The desktop does not matter by poofyhairguy82 · · Score: 1
    It may be succeeding on the server, but until a Linux PC vendor starts advertising nationally, Linux is failing at the home desktop level.

    Who cares? The Linux Desktop does not matter anyway. Its a novelty- the desktop war was fought a while ago and everything not called Windows lost.

    Linux matters on embedded devices, servers, and super computers- thats its biggest market. In each of those markets having binary drivers is not a big deal. In fact, for a super admin, having something they can't mess with in a server is a possible security risk.

    Linux gets in people lives through TiVo's, cell phones, wireless hubs and free google use- not the desktop. Thats where it matters.

    Linux should not and will never change itself to compete in a market in which it can't win. Who cares if Linux is not a wild success on the desktop? Desktop users are usually not developers, so they cannot help Linux with its true goal- to be better software. Linux wasn't made to win popularity contests.

    1. Re:The desktop does not matter by cyphercell · · Score: 1

      Couldn't agree more Linux is already successful. If people want a desktop then they should write the code for it. Meaning why don't the hardware companies that want an ABI get together and write one, that way it can be included in desktop systems and leave the kernel alone. It has already been said that nVidia uses something like this.

      I use Linux as a desktop, but I use it because of the server software not the pretty GUI, I use it for development. It is quite obvious that the Linux Desktop is a by-product of the Linux Server. I do not want Linux to be jaded by a million users asking for feature "x" and forcing the people who want feature "x" to develop feature "x" is the only way of keeping Linux at a higher quality.

      --
      Under the influence of Post-Cyberpunk Gonzo Journalism
  229. Change the methodology and fork by FishandChips · · Score: 1

    As an ordinary end-user (Debian, Ubuntu and SUSE) I feel ground down by all the rowing and politics in and around Linux. Most of it is utterly immature and some of it is Utopian enough to make an anticapitalist rioter look like Gordon Gecko. You can be as open source as you like, but unless you produce an operating system that does what people want, in a way that suits them, then no one will use it and they'd be mugs if they did.

    Most of us want something that "Just Works" and have no wish to live in a permanent building site because developers are so blinded by politics and squabbles they cannot ever see the finished building. I guess there isn't much hope for desktop Linux unless a fairly powerful outfit moves in, forks the kernel if necessary and focuses ruthlessly on delivering what the end user wants, not what a clutch of devs decide an end-user "should" want or must be made to want in a politically correct world. And if that means a very different model of kernel development and a binary driver api, so be it. Ironcially, if either Steve Jobs or Bill Gates were running a big Linux distro this is very likely the approach they would take, I would guess, and no one can accuse either of being unsuccessful.

    --
    Las qué passoun
    tournoun pas maï
    1. Re:Change the methodology and fork by ylikone · · Score: 1
      "Ironcially, if either Steve Jobs or Bill Gates were running a big Linux distro this is very likely the approach they would take"

      And also ironically, the linux kernel would no longer be an open source project. Really, Linux is open source, first and foremost. If you don't want to play by the open source rules, you are free to start your own OS project... or just use Windows. I don't want to see Linux change it's philosophy... and I hardly think it will.

      --
      Meh.
    2. Re:Change the methodology and fork by FishandChips · · Score: 1

      I think you've missed the point I was trying to make which is that folks like Gates or Jobs would focus on end-user needs and do their best to introduce some sanity to the building site and rubble side of Linux. That has nothing to do with making something closed source. It has all to do with making tough decisions that some main lights of the open source movement seem unable or unwilling to make. Sooner or later, I think they will have to face them, or face having those decisions made for them. That might well include forking the kernel if - hypothetically - a cabal of nutty Utopians was felt to be holding the Linux project to ransom.

      --
      Las qué passoun
      tournoun pas maï
  230. Then Let Them by poofyhairguy82 · · Score: 1
    If Windows works better with the hardware donated to a given user than Linux does, then Windows is a better choice. The situation is similar for users switching to Linux without buying a new computer.

    Then let them use Windows. Its not like at Microsoft where every time a competitor is used then Linux loses a sale. Its not like "The Linux Company" benefits from greater desktop use.

    Use what fits. Use what software works best. If Linux does not work for you or someone else they have options.

    Linux is about quality software, not winning some silly desktop war.

  231. this is disapointing for users by fikx · · Score: 1

    I'm a linux user myelf. Wouldn't mind being more for it, but right now it's probably for the common good to keep me out of the code :) The hardware situation is pretty diappointing right now due to the driver problem. The thing is...I'm disapointed in the hardware vendors, not Linux or kernel devs. That's where the blame goes. I'm reading all these people saying, basically, binary drivers are how it works, linux coders shouldg et with the program. Sorry, try again. The reason it's not there is because the people who want the most of of there computer know that old model DOESN'T WORK.
    The crap everyone is used to is not the best solution. Maybe open source isn't either, but at least it's an improvemnet. The way Linux works now, the system gets better by donation from every direction (you know, anyone who can code or help). How can locking out that possibility make anything better?? Yeah, I'm ranting. all these replies saying for Linux to "get with the times" is just annoying. How about the vendors get with the times instead.

    --
    AB HOC POSSUM VIDERE DOMUM TUUM
  232. Well,.... by radiojock · · Score: 1

    I have been on the inside of several large companies who shall remain nameless...

    It is not so that they can have a "stable" or "easy to write" driver, it's so they don't have to release under the GPL. Remeber, if it hooks in the kernel it is supposed to be released GPL. I attended several classes on how to write for linux, and not have to publish under the GPL. These large companies want to protect thier IP.

  233. Re:As the article says, it's illegal, and a bad id by Anonymous Coward · · Score: 0

    Have their cake without giving back to the community? More drivers (binary or not) = more hardware support = more users = more companies release drivers = more users = ... sounds like giving back to the community to me.

  234. API doesn't exclude refactoring by chris_7d0h · · Score: 1
    I kind of understand what you are trying to convey.
    When I write a program for myself or in a team with just a few developers who know how every aspect of the solution works, it's nice to change stuff at a whim. Since the team is small, everyone monitors each cvs-update for changes and talks to each other frequently to keeps abreast of what has changed. However, for projects spanning more than just a handful people, specs quickly becomes essential as a communication tool.

    An API is just that, a communication instrument (or protocol) which is intended to describe the exposed interfaces, their purpose, what they do when used in various ways etc. Essential information for using a component. This is information any user of the component would need to know anyway in order to use it properly.

    Now, when you mentioned refactoring being sacrificed if interfaces (APIs) are published (which is what I interpreted your text to say), I completely failed to see the underlying reasoning.

    Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.
    (reference). What this seems to say is that the whole point of refactoring is to keep the code from decaying while not changing the interfaces!

    If you require new features / behaviors, why not simply create new function signatures and deprecate old ones? What's so difficult or bad with that approach to changes?
    --
    In a society that believes in nothing, fear becomes the only agenda ~ Bill Durodié
    1. Re:API doesn't exclude refactoring by Anonymous Coward · · Score: 0

      That is essential what is done, the real problem is that on the binary side it doesn't work as easily as on the software side. So there are next to philosophical also very practical reasons for wanting the source code really. That way you avoid the problems between different hardware architectures and different compilers, thus allowing the hardware to be used on any platform that supports the required hardware interface (ie PCI). Also it seems like there are more chances of getting rid of annoying bugs via the source and getting better written drivers in the first place.

      I won't claim this is all ideal right now though, some improvements could most likely be thought of, perhaps you could create an organisation that focuses on writing kernel drivers? I think if as many possible interested parties chipped in a bit that you could seriously expand the array of supported hardware like that.

  235. LHQL / Driver development costs by bandannarama · · Score: 4, Insightful
    This is about cost. The manufacturers' request is perfectly reasonable, given their costs, and the kernel developers' concerns are perfectly valid given their costs.

    Initial costs associated with a manufacturer-supported driver:

    • Initial development against a specific kernel version. This is the item of least concern to the manufacturers.
    • Initial testing against some specific subset of officially supported distributions. Tweaks or rewrites to handle additional kernel versions. This is where the costs start to go up.
    • Corresponding documentation, release notes, etc.
    • Make driver available on company website (ongoing cost).
    • Put driver on the CD in the box (include documentation on which releases it was tested against)

    Ongoing costs associated with a manufacturer-supported driver:

    • Development and test resources to check compatibility with subsequent kernel versions.
    • Test resources to check compatibility with subsequent specific officially supported distributions.
    • Update documentation for any changes.
    • Update website with updated versions. Handle support calls from confused users.
    • Slipstream CD in the box with updated versions.

    These costs exist even if a version of the driver is merged into the mainline kernel. The only problem solved by such source-level merging is compatibility with the latest kernel version. It is not acceptable to the manufacturers' customers to be required to update to the latest kernel/distribution to be able to use the device.

    Here's the key point: If there is no binary interface between the driver and the kernel, all of the above costs skyrocket. You have M kernel versions against N distributions, with the total increasing over the life of the product. If there is a binary interface guarantee from the kernel development team to change only very slowly and only extremely rarely breaking compatibility -- like the guarantee Windows provides -- then the incremental costs are containable. It is reasonable to expect that 95% of their testing on 2.6.5 is valid on 2.6.14.

    The perfectly reasonable response from kernel developers is that with closed-source drivers they get stuck debugging problems that are't kernel-related (I don't hold ideology to be economically significant so I'll ignore it here, without insult to people's strong opinions on the subject). Their proposed solution is to require the driver's source before they'll help with the debugging.

    From the manufacturers' point of view that's a very draconian requirement. They are justifiably concerned about intellectual property (availability of the source makes it much easier for competitors to reverse-engineer the hardware/firmware). Surely there must be a middle ground. Is there some way to have a relationship between the device manufacturers and the kernel developers that minimizes everyone's costs?

    I think there is. Note that all of the above costs and issues are just as valid in the Windows world as in the Linux world. Microsoft doesn't want to deal with bad drivers crashing their systems, costing them both development/debugging time and reduced perceived stability (--> lower sales). Their solution is the Windows Hardware Quality Lab (WHQL).

    The WHQL is a separate entity from Microsoft. Device manufacturers are required to submit their driver source (effectively under NDA) along with their device. The WHQL staff runs the driver through a battery of tests, probably mostly automated. If the device and driver meet stability standards set by Microsoft, the driver is signed by WHQL. Windows checks for this signature at installation time and warns the administrator if it is not present. Microsoft can reasonably refuse to support non-WHQL-signed drivers when crashes occur, for exactly the same reasons that Linux kernel developers refuse to support drivers without the source. This system has been the single most important factor in Windows' significan

    --
    Bandannarama
  236. No, the Free Software movement puts the user first by mrchaotica · · Score: 1

    The most important thing to realize about Free Software is the idea that the user should have complete control over his system. With non-Free software, this cannot happen. The user would just be a serf, opressed by bugs and viruses and rootkits and DRM and all the other "fun" things that come with black-box systems like Windows.

    I care about Free Software because I want my system to work for ME, not the other way around!

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  237. The GPL isn't a law by roystgnr · · Score: 1

    The GPL is a license. If you don't agree to that license, you aren't committing any crime.

    Now, if you redistribute copyrighted software without a license to do so, that would be committing a crime... but how many hardware developers redistribute the Linux kernel? Put the ".h" files corresponding to this new ABI in the public domain, and those will be the only code that driver authors need to redistribute derived works of. Give them a restricted license, and it just means that driver authors will have to rewrite them. (no, SCO apologists, you can't copyright an interface)

    Binary Linux drivers don't have to be in user land to be legal - there's a reason why kernel developers have added a "tainted" flag to help them sort out bug reports, rather than just sueing Nvidia.

    Finally: The slippery slope started long ago, with ABIs for applications that allow binary compatibility and closed source software. Other than bad bug reports, every one of your arguments applies to applications running on Linux as much as to drivers running on Linux, and that experience might be instructive. Would Netscape have gone open source immediately just to get their apps running on Linux? Or do we have an open source Mozilla/Firefox application today because of those developers' experience writing closed source apps for open source platforms a decade ago? Closed source software on my Linux drives at work and home right now includes Flash, Acrobat Reader, Doom 3, Neverwinter Nights, GMV, SimCity 3000, Enemy Territory, Matlab, Cubit, Intel's compilers, Tecplot, and of course Nvidia's video drivers. Other than Doom 3 (several years from now), how many of these programs would have a Linux version at all if they were required to be open source first?

    In fact, I suspect we have *more* open source software today because of the decision to allow closed source software: giving people the ability to use more software gives us "control over our computers" in a practical sense, a sense that attracts more users. I don't know of any closed source software whose authors would rather release source code than stop supporting Linux, but I do know of open source developers who would be Windows developers if they were forced to stop using closed source software on Linux, and I know of Windows users who would be Linux users if they were able to use all their hardware on Linux.

  238. Please inform me. by koreaman · · Score: 0

    I don't really know much about the workings of Linux (but don't talk down to me and rest assured that I know what is being discussed here.) Could someone please explain to me why a consistent binary driver API would lead to a lack of stability?

  239. out of touch linux kernel critics by Anonymous Coward · · Score: 0
    Your arguments don't stand up.

    ... I have never worked for a company that willingly said, ok lets open source the drivers we spend thousands of dollars writing and optimizing.

    So what? You expect to be able to get the benefits of Linux for free and not contribute something in return?

    Oh, and for people who don't [actually] work for hardware companies that ship drivers, driver development is often times an expensive process, not because the software engineers are expensive, but because the hardware and software needs to be tested and certified in particular enviroments. There are orders of magnitude more linux distributions this makes it cost orders of magnitude more to test and support than a half dozen windows enviroments
    This extra cost is your own fault. As GregKH makes very clear in his postings, if you released the source code of your driver, you wouldn't need to individually certify it for all those Linux distributions. The Linux hacker community would do much of the work for you. In short, it's hard to feel sympathy for your position at all.
  240. Hurd by McGiraf · · Score: 1

    well this could solved easily, just use the Hurd instead of the monolithic Linux kernel, driver are in user space, oh, wait ... wait ... wait ... wait... wait... wait... wait... wait... wait... wait... wait

  241. No it they are as good as X nvidia by dindi · · Score: 1

    I just got out two nvidia geforce cards out of my main desktop box because I could not work.

    I am not a newbie to linux, but a happy user since 94 and while not a kernel or X hacker I have some knowledge of troubleshooting servers or desktops with linux.

    The nvidia cards work just fine in windows (where they did not lock-up or misbehave in the last 14 days, but under X i had all kinds of weird problems.

    I just dropped in an old MGA 450 matrox with 16 megs and I am the happiest X user on earth.
    I won't play quake a lot, but can work without the whole crap collapsing on me, or my pointer disappearing without an error in the log, forcing me to angrily smash ctrl-alt-backslash with a curse in hungarian-spanglish with a bleeding nose

    Now what does that mean?

    With all respect to Nvidia, maker of kickass chips, if they would open their driver source so people with more X knowledge could look at it would make thousands a happy user of their cards ....

    If binary kernel development starts, that means one thing for me: no hardware that needs a binary driver in my servers, and unless it is some "better than anything" coold hardware I cannot live without - not even on my desktop.

    I respect kernel maintainers a lot, and trust them, even that some drivers cause problems or they completely suck.

    I do not trust big-evil-corporation that cannot give a decent OPEN SOURCE driver with their "make 200% at least profit a chip" hardware.

    Make money on your hardware, I pay for it, but gimme the opportunity to have the developers inspect and improve that damn driver so I can actually use the hardware, instead of replacing it and shoving it under the table where my dog can piss on it.

  242. I've always wanted to know... by web_boyo_in_sac · · Score: 1

    why do hardware vendors so secretly guard their driver code?

    I mean it's not like it contains their corporate credit card number in the source.

    I've written drivers before (college, not since, just PoC, but still...) and it wasn't some huge horrible task using ultra powerful genius level insightful code, it was mainly just a lot of hacks a kludging and worked as stable as needed, but good lord it was fairly routine code.

    I'd wager the apache2 hybrid multi-process/thread code is ten times as complex as the NIC driver I'm using right now, and it's open source.

    But to get to a point, I do agree to a point that a binary driver api would be useful as all hell for those shallow minded groups out there that think their driver code is made up of something that might hurt national security or somesuch crap, but they better damned well start actually making drivers, I mean the knife we've had to crank into nVidia's back since the days of quake3 to get viable linux drivers has taken it's toll and they now release linux drivers almost as religiously as they release windows drivers, and I'll be the first to admit that I don't want to sit through a compile of a driver as large as nVidia's, but the 30 seconds it'll take to compile the driver for my 3com nic I can live with.

    And I do still want some control over the driver, a "health check" if you will, something I can run the driver through that will spit out all the I/O the driver will do, the memory it will register, basically GDB on steroids, if I can't see the source, I can atleast see every single thing the driver will or can do.

    But I'd honestly rather have open source drivers.
    We have open source because a single piece of code is only as good as the people who have looked at it, and if only 1 person has ever looked at it, well...
    but if thousands have looked at it, just look at the stability of the kernel now (or BSD, not to start a religious war but christ man we have some work to do in the kernel cause BSD really IS beating us when it comes to a couple of big factors, and I'm kind of ashamed of it being the kernel jockey around my enterprise)

  243. Hmm. Hard one. by wasabii · · Score: 1

    This is a hard one. At one side I see what Linus is trying to do. He's trying to make it HARD to maintain binary drivers, and for good reason. He likes the stability it offers, and frankly, it forces the FOSS hand.

    But on the other hand, I can see how a stable binary interface would be good for FOSS driver developers too. There are a lot of instances where I think a open source driver would be better maintained outside of the standard tree. Different development cycles, etc.

    But no, I don't want to give binary drivers a free pass. It's bad enough the situation we have with NVidia and ATI. I don't want that with my NIC or with my sound card.

  244. What!?? by ink · · Score: 1
    How on earth would a ukernel alleviate any of these problems?

    Say you're writing a sensor for a new CPU thermal ic, and you want to export it via a pseudofile (eg, /proc). How is it going to help your cause to have several subsystems that may or may not be present at very high levels (eg, the UNIX subsystem, the filesystem subsystem, etc.)?

    In fact, a ukernel could protenally make it much more difficult to design something like that, especially if you can't guarantee that subsystems are present or that they can go up/down (gee, the filesystem subsystem went away, what do I do now?!?) In practice, it's a beautiful cathedral and not a funcational bazar.

    I would also point to MacOS X, which makes some use of a ukernel (although most of the system I/O completely bypasses it for efficiency reasons -- nothing like a slow disk eh?); practically every device driver written for it needs to be re-written for new versions (ProTools being the example I'm most familiar with). Many of them use kernel extensions that do not gracefully upgrade.

    --
    The wheel is turning, but the hamster is dead.
  245. Freedom more important to devs than user whinging by zooblethorpe · · Score: 1

    This is not about preaching. This is not about pushing ideology. This is about developers maintaining creative control over the kernel, the kernel that they themselves have been building. Exactly what is your problem with this?

    You say here that 'not only do users not care about "Free", but they will actively dislike "Free".' While regrettable, that is fine -- that is the users' prerogative. I sincerely expect they will think more highly of "Free" the tighter the IP and DRM restrictions become, but these related issues have been discussed to better effect in many other threads.

    The trouble with your argument here is that the folks building and maintaining the Linux kernel (and most of the rest of userland Linux software too) are precisely the people who are concerned with this "Free" that you apparently couldn't give a rat's ass about. This has nothing to do with wanting 'to push their ideoligy [sic] on others', and everything to do with wanting to stay in control. As A nonymous Coward noted, building an unchanging driver API for the convenience of corporates does nothing for the kernel:

    A "stable" binary API removes the possibility of keeping everything up to date and would dramatically show down the adoption of new features and general improvements.

    Again, this has nothing to do with pushing ideology. This has to do with developers maintaining control over their own project, a project that has been provided to you as a courtesy out of the strong moral belief of many in the OSS community that the tools we use to get our work done should be freely available.

    Furthermore, given the significant number of websites devoted to OSS usability concerns (over 17,000 at last count), I think we can safely regard as invalidated your claim that '"Free" software people ... don't care about makeing [sic] functional easy to use systems.' They would indeed seem to care, but specifically within the scope of making free software -- i.e., they are not interested in kowtowing to your whinging demands that they gut their principles solely to make something passably usable right this very moment, and shackle themselves with a rigid driver API that hampers kernel development far into the future and threatens to scuttle years of effort to make a fully-usable computer system that is not beholden to secret vested interests.

    You, sir, appear to be crying out that consumer convenience is more important than freedom. This is much in tune with the prevailing cultural trends in the United States. I find this deeply ironic -- "Give me liberty or give me death" has been turned into "give me convenience or I shall whinge", while "the land of the free and the home of the brave" has become "the land of the sheep and the home of the enslaved". While I understand the frustration apparent in your posting regarding when things do not work, I cannot agree with your sentiment. Some things, sir, are more important than instant gratification. I am deeply sorry that you do not appear able to recognize this.

    --
    "What in the name of Fats Waller is that?"
    "A four-foot prune."
  246. wrap the kernel in a compatibility blanket? by a1291762 · · Score: 1

    I wonder sometimes why someone can't just create an insulating layer that connects some standard interface to the kernel. Driver writers target the standard interface and the user installs the kernel interface for their kernel + the driver.

    ok, so it's not as simple as having a stable interface in the kernel but don't you think distros would love something like this? It doesn't matter if it's not in the main kernel because the average joe user doesn't use that one.

    All it would take is a few of those companies/people that want to have a stable API to "port" the compatibility blanket to each new kernel version.

  247. Is your business selling hardware or drivers? by dbIII · · Score: 1
    A question to the above poster who points out we are out of touch: Is your business selling hardware or drivers?

    Every company does expensive stuff they get no immediate return on but is required to get the company to function enough for the client to pay money to get what they want. It is important to consider this before criticising those that released their source code as out of touch.

  248. Just say no by Anonymous Coward · · Score: 0

    NO!

  249. Forcing their hand by POds · · Score: 1

    If the linux adoption continues to grow, companies will be forced to make the changes. The balls in our court people. We have a chance to change how certain aspects of industry (the world) operation. And perhaps its not fair to dictate in this manner, but if it does end consumers the world of good, then it can't be bad can it?

    Lets keep doing what we're currently doing. Lets change the world!

    --


    Giving IE users a taste of their own medicine since 2005 - http://pods.-is-a-geek.net/
  250. So let them do it and watch the fireworks! by OoSync · · Score: 1

    The thing that always (not really, though) mystifies me is that the people complaining about a stable interface could just do it themselves. Maybe not J. Random Hacker, but the big companies could do so. I mean, nVidia does just such a thing, seperating the in-kernel part from the driver proper.

    So, why don't these folks just make their own driver API out-of-tree and provide a patch for the vanilla kernel and popular vendor branches? Then they get to write their ABI or API compatible drivers and only port the interface between in-branch kernel releases. Boom, they write easy drivers, stay legal (debateable, but likely), and don't even have to answer to the mainline kernel developers. They won't get a lot of mainline help, but heh, it makes writing their drivers easier.

    Answer: they don't want to do it. They simply don't value having ABI or API stable drivers enough to do the work themselves. That's it, simple. They can't or won't provide or partner with other players to provide such an interface. Its too much work, for too little gain.

    Funny, that's also the story from the mainline kernel devs! Ironic how that works out, no?

    --

    I always get the shakes before a drop.
  251. Well, by StarKruzr · · Score: 1

    Not that Mr. T. and I aren't tight, and not that I don't believe in OSS or anything, but one of the great things about the GPL is that everyone is quite free to say "hey! FUCK Linus! We want a binary kernel driver API!" And so it would be, if enough people decided it would be a good idea to fork the kernel for this purpose.

    --

    +++ATH0
  252. Hrm. by StarKruzr · · Score: 1

    Isn't this usually done through firmware on the card rather than the software of a driver?

    It seems a bit silly to me to allow features on a graphics card to be switchable by drivers.

    --

    +++ATH0
  253. Free = Freedom; dump gpl by kentsin · · Score: 0

    as subject.

  254. MOD PARENT (ZONK) FLAMEBAIT by jnadke · · Score: 1

    Get 'yer panties back on.

    A presentation was released at his followup post (the one the submitter omitted). The companies made the following points:

    1. They wanted the API to be optional
    2. They wanted the API to be GPL'ed
    3. They wanted the API to be incompatible with binary drivers
    4. They wanted a stable development platform

    This covers every discussion on this topic (above this post).

  255. Cultural Aspects of this by Majik · · Score: 1

    The author posted a followup entry on his blog...

    After reading that, it sounds like this was a non-issue. Sounds like typical business in Japan, and that Greg got caught up in the mix of things. Japanese will always defer to the senpai. And in this case, that's what he is.

    --
    Nick Lange nick.lange@SPAMTASTIC.hushmail.com
  256. Re:Binary Drivers = Maint. Nightmare + Security Wo by RzUpAnmsCwrds · · Score: 1

    All of these complaints are frankly bull. Microsoft somehow manages to release security patches without breaking the driver model. They manage to make major changes to the kernel, like the numerous changes to the memory manager in Windows XP, NX support in XP-SP2, or the many changes in Windows Vista, without breaking the driver model.

    It's not either-or. Yes, you have to tread lightly when you have a specification to follow. But that's the point. Imagine if IEEE refused to standardize 802.11b because they need to be able to update it for "future security fixes".

  257. What OSS is all about!!! by mabhatter654 · · Score: 2, Informative
    Lest we forget the history of the GPL, you'd understand that the whole reason RMS helped start the FSF was because of proprietary drivers!!! His pivotal moment came when he was a professor and wanted code for a mainframe printer that was "obsoleted" by the manufacturer. He had a perfectly good printer, but the server was upgraded and the company wanted them to buy a new one rather than support it.. so much that they wouldn't offer the source code to an MIT professor!!

    Open Source drivers are the cornerstone of OSS... because if you can't see how something works, or even HOW to make it work then you have nothing but a plastic box on your desk. The point is that you paid for the device, printer, video card, cpu, so you should have to have anybody's permission telling you how or when you can use it.

    While I'd like proprietary drivers too, some stuff is patented or secret and they don't want to share it, offically it will never happen... Linus's view is that he can't fix things if he can't see them.. and he's not going to sign a bunch of NDAs just for drivers, he's too busy. Nor, can he gaurantee what the kernel is doing if you're running a bunch of "secret" stuff that could be doing "god-knows-what" behind your back!

    1. Re:What OSS is all about!!! by Anonymous Coward · · Score: 0

      Stallman was never a Professor. He was a systems programmer for the computer lab. There is a difference between faculty and support staff.

  258. Tangent by everphilski · · Score: 1

    You're going off on a tangent. I was saying there are two big issues that people keep coming back to, and this would address one of them. I happen to agree with you about the desktop.

    Linux is about quality software.

    And theres nothing about a binary kernel driver layer that would preclude that.

    -everphilski-

  259. You by everphilski · · Score: 1

    and "you" account for what.... 1% of users? He won't complain. But by making it easy for the developer to make drivers for Linux, you make it easier for people to use linux with their existing hardware you raise your market penetration.

    -everphilski-

    1. Re:You by frogstar_robot · · Score: 1

      I've already experienced scanners, printers, and other sundry items that failed to work during the shift from 98 to XP. Oddly enough, some of those devices had maintained Linux drivers. At least if I have something that works in Linux then there is some assurance that it will stay working....even if the manufacturer loses interest in that model of device. The reason why I have that assurance is that the driver isn't a black block at the mercy of the vendor.

      Closed source drivers will necessitate the endless maintenance of cruft that can't be fixed even if a deeply rooted flaw can't be found. It also isn't in the kernel devs interests to have more and more and more and more (see where I'm going with this) troubleshooting paths tracing into more and more and more (ya know) black box binary drivers.

      I have some influence over server purchases. Newer (expensive) equipment that uses Adaptec SCSI devices are off the list. I doubt I'm the only one rejecting Adaptec on that basis either. And the server purchases of Linux in many markets can be measured with more than single digit percentages.

      Allowing closed source drivers would very convienient in the short term. In the long term the effect on the kernel's quality can't help but be negative. The Linux kernel devs (and the OpenBSD devs for that matter) are taking the correct position on this.

    2. Re:You by Anonymous Coward · · Score: 0
      Newer (expensive) equipment that uses Adaptec SCSI devices are off the list. I doubt I'm the only one rejecting Adaptec on that basis either.
      I'm actually planning to switch nearly 50 servers off of Dell hardware for exactly this reason. I would happily continue to buy from Dell if they weren't putting Adaptec SCSI on their motherboards.

      From just my shop alone, that's at least $750,000 USD annually that Dell will lose to their competition because Adaptec can't seem to provide sane linux support.

      How many customers like me does it take to make a difference to Dell?

      How many Dells does it take to make a difference to LSI?

      I think we are going to find out!
  260. Intel by poofyhairguy82 · · Score: 1
    So you're saying you don't have an nVidia or ATI card in your machine? Bullshit.

    Intel sells the most video cards.

  261. It wasn't Commodore by SilverspurG · · Score: 1

    It was Berkeley Softworks

    You can verify this spelling of KERNAL on a GEOS page. Feel free to Google for other pages relevant to "GEOS 1.3" or "GEOS 2.0".

    Of interest to note is that the Amiga Kickstart OS numbering followed the GEOS pattern. After 1.3 we recieved 2.0x.

    --
    fast as fast can be. you'll never catch me.
  262. Short and Long term issues by Anonymous Coward · · Score: 0

    Yes it is in having a free choice, compromising your ideology to get some more 'choice' in hardware, is only a short term gain and doesn't really help you long term in being better off. As for them not opening the documentation to there drivers, well that can't be helped, it is there hardware. If they wish to insist on not being compatible with open source methodologies there is no way to force them. Personally I'm just a bit disappointed with them really and if more proper alternatives appear I will obviously take those instead.

    PS I believe Soundblaster Live was an example of the documentation being opened, so it isn't a surprise the drivers are so good. And I think it indeed also proves the point that drivers is better writeen by people with experience with the kernel than hardware makers with little. Really, they could save themselves quite some money with this. Not like they can hide anything anyway, competition will just buy one of the cards and backwards engineer everything.

  263. Untrusted computing by mattr · · Score: 1

    If you add a binary layer you will get trusted computing. Simultaneously you will be giving up any chance of exponential growth a la open source in the realm of drivers which it could be argued, really need the kind of exponentially fast growth and reusability of open source.

    It would have been nice to have for my Brother MFC-410CN multiprinter. I waited over 6 months for linux drivers and they were binary apps, often questionable how to get them working and there are functions I doubt are implemented (ethernet connectivity, PC faxing, full scanning capabilities, ultra-high res., ...). If they just opened up an API and source code they would have had lots of help.

    1. Re:Untrusted computing by ardor · · Score: 2, Insightful

      Then tell us how they should solve IP issues connected with the knowledge resting in the driver. Tell us how ATI and nVidia should handle this. More and more functionality is in the driver nowadays, and the IP in there is littered with patents, royalties, licenses.... and there is also the fact that the drivers often contain company secrets, so better forget about the idea of companies putting their stuff as open source.

      --
      This sig does not contain any SCO code.
    2. Re:Untrusted computing by mattr · · Score: 1
      You are correct and I suppose if confronted with the choice of using the latest graphics card or not I would take the plunge, if it is that important to the system performance.

      But this will welcome the sony rootkit and all kinds of drm that require you to be complicit. In other words, drm requires you to hold your hands behind your back so they can slip the handcuffs over them, you are putting yourself in irons willfully.

      Personally I abhor this and one of the major reasons I use open source is the pleasant feeling I have using it.. this feeling is a direct consequence of a system entirely built on GPL and the mindset of the system's founding individuals who also are against binary code in the kernel.

      So my answer would have to be that they must keep their binary crap in their own hardware, which currently does not fall under the "linked code" tripwire in the GPL, not yet at least.

      You may be correct about the secrets in code bit, but I need more proof to be swayed by it.

      Put it this way. If I'm willing to shell out top dollar for the fastest graphics card or to buy a printer from a manufacturer I like, I wouldn't mind a binary driver if absolutely necessary. But I would definitely not buy it if it required adding a whole core layer that attacks the security of my system. I recently made a printer purchase based on my expectation of linux code (should have picked a different one, but it turned out correct in the end). I do not want to have my linux laptop able to spy on me, and I think this is all a slippery slope. The manufacturers have enough bucks to build the hardware, they can put some effort into solving these problems and guess what?


      I bet they could make some headway at doing so if they really needed to do so. My uninformed guess is that the software driver is not in fact the most important part of their system, and that they will sell a lot more units if they and everyone else use open source drivers.
      Graphics cards can be the thin side of a wedge if we allow binary kernel drivers and while I tend to think "whatever solves the problem" from an engineering perspective if "I want it now", this viewpoint places a zero value on the other aspects of an open source system and I think it is worth more than that.

  264. Re:Think about it people, there is another solutio by daverabbitz · · Score: 0

    I had the exact same thought.
    Another Example, is some usb devices, mass storage and hid for example, most usb hardware supports standard interfaces, and then you get plain
    retarded hardware like a few early memory card readers, and some stupid Tablets, and webcams.
    Surely for example a webcam should be able to specify the output framerate, frame format, and any controls it has, and work like every other
    webcam. It does it on the software API side anyway, so why not have a standard hardware interface, then we would only need one USB webcam driver, one USB scanner driver, etc.
    Maybe we can hope for better with the release of the "next fantastic bus".

    --
    What could be better than a jet powered motorcycle? http://www.youtube.com/watch?v=u8l6GTHLSWE
  265. Allow Binary and the Source will Follow... by Slicker · · Score: 1

    Provide a stable (across kernel versions) API for binary drivers (Is compatibility with the Windows driver API possible?), BUT.....

                ---Ensure those drivers do not run in Kernel mode---

    Reasons:
    (1) You must protect the stability of the overall kernel
    (2) We really need all those drivers for oodles of old and new hardware..
    (3) Hardware manufacturers will find a great deal of competitive advantage in providing source drivers.....hopefully enough to outdo any perceived competitive advantage in keeping them proprietary.

    Matthew C. Tedder

  266. I think this is the opposite way to go by Ambassador+Kosh · · Score: 1

    Given my experience with hardware that follows a common spec compared to those that need their own drivers I prefer the ones that follow a common spec. I can print to a postscript printer without anything but a general postscript driver instead of a device specific driver. I would prefer that the driver was part of the device and it just presented a common interface to the os. You would flash the device or something like that if the driver had to be updated but the os would not have a specific driver per se. Just like at one point we could just use vesa to connect to a video card and not a video card specific driver. Now a days it seems that the video card could just have an opengl and directx interface as part of the card, a sound card could do openal or something like that and so on and so forth. We actually have this kind of thing for a lot of other devices. Look at the usb situation where we have 3 drivers total to run all ofthem (ehci, uhci, ohci). Or how about SATA where is there is a spec now for that, or usb mass storage devices etc. I can install a zip drive, fuji camera, usb flash drive etc with no drivers at all.

    Putting a custom driver for every hardware type into the os is just a larger waste of time. You have a lot more software that has to be written and debugged on all sides. Putting the driver in the hardware and presenting a common interface or set of interfaces to the os would make it easier for people like ati and nvidia since they would not have anything to protect. They don't need to provide jack for documenation other then how to send the opengl, directx etc commands to it.

    --
    Computer modeling for biotech drug manufacturing is HARD! :)
  267. Nonsense. by Some+Random+Username · · Score: 1

    There is no IP in docs. Tons of companies release docs. Just because a few companies are trying to protect their deceit, and make up bullshit IP excuses to justify their behaviour, doesn't mean you need to be a good corporate bitch and retell their lies endlessly.

  268. Businessism plagues the discussion. by jbn-o · · Score: 1

    This discussion is weakened by moving along the framing of the open source movement. That movement says nothing about software freedom, in fact it was built in part to talk about much the same software as the older free software movement minus the ethical discussion. This is a serious philosophical difference between the two movements and it has practical consequences--do users get freedom to run, inspect, share, and modify any time they want for whatever reason they want? Some of the choices the open source movement has made indicate that the answer is of secondary interest to whatever a business wants.

  269. Failure to achieve what, exactly? by jbn-o · · Score: 1

    The open source movement has made their name quite popular but I doubt you'll be able to find people who understand what it actually means. The FSF wrote about this in their essay on the differences between the two movements.

  270. Re:As the article says, it's illegal, and a bad id by BillyBlaze · · Score: 1
    The disk drives, SCSI controllers, and to a lesser extent, BIOSes, conform to standards. Thus it really doesn't matter as much whether they are interally open source, closed source, or operated entirely by trained hamsters. As long as their interfacees are standard and open, it's easy to write open source code that works with them. And if it doesn't work, you can at least point to the problem, even if you can't fix it.

    The bigger problem is when the interfaces are not publicly described at all. This tends to go hand-in-hand with binary drivers, because it's a result of a similar mindset, but it causes more problems. If the interfaces are proprietary, it's very hard to make a good quality open source driver.

  271. where you miss by ImaLamer · · Score: 3, Interesting

    There is one thing you all keep leaving out about certified drivers:

    Without them you aren't guaranteed support from Microsoft.

    If you are running machines with all certified drivers and WMI/MSI installed applications then Microsoft will be right there with you until the problem is solved. You won't find it written anywhere but Microsoft gurantees that you're machine will not crash (BSOD) if you use certified drivers and MSI installed software. At home this isn't possible, but in some environments it is possible (and a good idea in other places).

    In a way you are locked in to what Microsoft has approved, but if they've approved it then the problem is theirs to fix - not yours. Good luck meeting those two requirements, but if you can: hold them to it.

    1. Re:where you miss by ozmanjusri · · Score: 1

      Without them you aren't guaranteed support from Microsoft.

      Exactly, yet even as recently as Tuesday, Jason Matusow from Microsoft was complaining that Linux was not open enough because vendors like Red Hat and Novell would not support customisations.

      http://linux.slashdot.org/article.pl?sid=05/11/07/ 2258241&tid=109

      I even got modded Troll by some Microsoftie for pointing out exactly this issue.

      --
      "I've got more toys than Teruhisa Kitahara."
    2. Re:where you miss by justasecond · · Score: 1

      You won't find it written anywhere but Microsoft gurantees that you're machine will not crash (BSOD) if you use certified drivers and MSI installed software.

      "You won't find it written anywhere but Microsoft guarantees"??? WTF kind of guarantee is that, the double-secret Microsoft-patented guarantee? If it isn't written anywhere, how do you know about it?

      So who do I call if my computer BSODs and I'm using all certified drivers?

    3. Re:where you miss by ImaLamer · · Score: 1

      So who do I call if my computer BSODs and I'm using all certified drivers?

      Really, how many times does your XP, 2000 or 2003 computer blue screen. I'm no fanboy but I know how to handle my computer. The thing that you, and everyone else, fails to see is that you not only must use 100% certified drivers but you must also use software that uses the MSI installation process. I assume that their definition of supported software only comes from the top (and oldest) developers (Symantec, Microsoft themselves, others). This however is why you see some hardware developers distributing drivers with MSI packages that install additional software - for better compliance.

      Trust me, the third thing you installed likely violated this agreement. Some Microsoft software even violates this protocol. Using codecs that aren't kosher will even violate this rule.

      Even still, how are you blue screening 2000 or XP? They are not the greatest thing since sliced bread but you have to be an idiot to be breaking them today. I sure do crash a lot of programs and lock up the computer(s) from time to time but have had a retail XP home machine blue screen free since I bought it more than a year and a half ago. I don't get how people are being forced to re-install every six months or year. I've been using this "budget" PC for all this time how it shipped from the factory (with their crap) and about hundreds of applications installed since, with many being removed over time and plenty of updates; in some cases multiple versions of the same program have been installed when needed. CYGWIN, and plenty of other GPL or otherwise "free" software and lots of cheap hardware (ATI TV Wonder!) to boot. I've run VMWare with BSD and Linux inside, swapped out and replaced a few things and still no problems. (Knock on wood of course, but it isn't all luck).

      Sometimes the solution is to go back to typewriters, calculators, newspapers, radio and mail service.

  272. GNU is not open source. GNU is free software. by jbn-o · · Score: 1

    GNU has nothing to do with open source. The GNU Project predates the open source movement by over a decade and started the free software movement, a movement with a different philosophy than the open source movement. RMS has spent a lot of time in his talks and essays explaining that the work he has done for the past two decades was not done in the name of open source.

    One particular example of this came up recently. Lots of people miscredit GCC, the GNU Compiler Collection, as an "open source" compiler. RMS, the initial author of GCC, has said quite clearly that GCC is a free software compiler. RMS gently but forthrightly corrected CNet.com writer Stephen Shankland on this issue, but Shankland still got it wrong a few months later. Hopefully CNet can bring themselves to mention the phrase "free software" in the proper context as often as they mention "open source" in the proper context.

  273. Proprietary hardware... by Heretik · · Score: 1

    ... will be the death of the free operating system.

    We need to be doing everything possible to keep our computers our computers. Making life easier for manufacturers to turn Linux into Yet Another Windows is counter-productive at best.

  274. Backwards / Forwards Compatability, Protection by thebiss · · Score: 1

    That arguement breaks for source-driven drivers as well. Can you use a driver for a 2.0 or 2.1 kernel with the 2.6 kernel? Maybe. Maybe not. Just because it's source-based doesn't mean that there's a guarantee it will build.

    Using an abstracted binary driver interface means that newer kernels could guarantee backwards compatability, by supporting prior versions of the binary driver interface. The older interfaces might not allow the driver to use the latest-and-greatest features, but at least it would work as it used to.

    An added benefit of putting drivers in a "box": recovery. Binary driver interfaces could be configured to validate parameters, logging and restarting drivers that attempt to do bad things before the driver can damage the rest of the system. My Windows XP ATI Catalyst drivers do that now...

    --
    Beware: I believe all are created equal, and have the right to life, liberty, and the pursuit of happiness.
  275. Source compatibility is much more important to me by jmkrtyuio · · Score: 1

    Lets face it, saying put them into the kernel isnt good enough for two reasons

    1 - The kernel team usually makes it fairly difficult to get them in

    2 - Users arent neccessarily happy about their kernel getting massive updates in a "stable" series

    In short, it would be nice, but its not realistic.

    Unfortunately, this means that tons of open soure kernel modules are always lagging behind the released kernel, and the effort involved in maintaining it (for the developer) and installing/using it (for the end user) is much larger than it should be.

    Doing anything to lengthen the time that external modules could be expected to work would be a Very Good idea.

    All of us, developers, sysadmins, users have gone through the

    upgrade my kernel
    recompile alll my non included open source modules
    see which ones break
    try to update them
    recompile ....

    Its a real pain and something should be done to cushion it.

  276. Re:GNU is not open source. GNU is free software. by jbolden · · Score: 1

    RMS uses the term "open source" primarily to refer to Eric Raymond's attacks on RMS's overall leadership of the non commercial unixy software movement. No question Eric has a different philosophy than RMS. However the world at large has not accepted RMS's definitions of the terms "free software" and "open source". In general they've continued to use:

    free software = free of cost (java would qualify here)
    open source = ability to modify and redistribute source code (QT under the old "non commercial license" would qualify here).
    gpl = free software in the RMS sense (including non GPLed code under things like the X license).

    Clearly RMS's definitions are "better" for his purposes. But I'm not sure his definitions don't assume you accept his idealogy. In any case my point to the original poster was that the goals of the open source movements (as they existed) 10 years ago have been met.

  277. no recompile needed by NuShrike · · Score: 1

    Alternatively, it could be just a driver that wasn't included in the XP cd but it was compiled for the same stable API such as NDIS many years ago.

    All you then have to do is install the driver and you're done. There's no recompiling, no attempting to see if the driver is for the correct kernel version number x.x.x.x, no reinstall ing/rebuilding all the drivers just because you went from a 2.4 kernel to a 2.6 kernel.

    That's the advantage of a stable ABI.

    At my work, we're forced to upgrade to FC4 from the very stable RH8 install just because the RH8 CD won't install on the newer vendor hardware due to these specific driver issues where nothing carries over. And nobody makes updated install CDs... I know I know..

  278. I don't think refactoring is what you think it is by NuShrike · · Score: 1

    Sure it's the bazaar way to have multiple threads toward a common goal, and choose the best one.

    But continual means you have no frelling idea what you're doing because you're just making a half-ass design that doesn't work, and then switching to another one, and another one instead of stepping back and designing it right in the first place.

    Is that what you're saying Linux is? A work by amateurs for amateurs who are just dicking around like millions of monekys on a typewriter and hoping to come out with Shakespeare?

    There's nothing wrong with having multiple revisions of an ABI and still having one. Look at OpenGL, or even DirectX.

  279. Re:GNU is not open source. GNU is free software. by jbn-o · · Score: 1

    RMS did not define "open source", the Open Source Initiative did that with their 10-part definition. Anyone who understands "GPL" to mean all free software is sorely mistaken and does not understand licensing; this misunderstanding has nothing to do with advancing or agreeing with RMS' argument justifying a user's software freedom. Finally, there's plenty commercial about the GNU Project. Not long after RMS wrote some of the earliest GNU programs, RMS himself was distributing copies of GNU software for a fee—a commercial endeavor—and later large and small businesses have enhanced and distributed free software for a fee.

    I notice that your explanation of terms doesn't come with any pointers to back up your claims. I'd like to read instances of these terms being used as you say they're being used, in particular by those who know what these terms mean—RMS using the term "open source" to refer to ESR's attacks, for instance.

  280. Standardization by Anonymous Coward · · Score: 0

    Of course, sticking to the steering wheel and gas pedal interface has not, in fact, hindered cars in any way... imagine a world where every year the control system for your car was tweaked for reasons byzantine and senseless to you, as a user?

  281. What I mean(t) by A+nonymous+Coward · · Score: 1

    If you implement a "stable" binary module API, the binary driver people will want that API frozen for all of eternity. You won't be able to come up with a better solution in three months or a year. Whereas if you have the source, even if you don't understand the finest details of every last line in it, you can usually understand it well enough to track API changes. Anybody can; if someone comes up with a better internal interface to timers, or memory allocators, it's not that hard to change code they have never seen before.

    It's one thing to have a stable system call interface between the kernel and userland. But an internal API needs to be flexible.

  282. drivers in userspace? by drago · · Score: 1

    Maybe a stable driver API inside the kernel is not the real McCoy here, but maybe something completely different should be done: I suggest moving parts of the driver API to the userspace. Sure, that would have some performance impact but as I see it the requirements of a stable API could be fulfilled much easier there, and even without losing any flexibility inside the kernel. I know, suggesting something non-monolithic or even a more microkernel-like system to the Linux community is like begging to be stoned to death, but I do believe in the idea.. ;-)

  283. Linux (and others!) should embrace Project UDI... by Deven · · Score: 2, Interesting

    I'm glad I'm not the only one who recognizes that Project UDI would benefit Linux and free software developers in general. Isn't it obvious that every time someone successfully standardizes open interfaces, major leaps in productivity follow?

    Without open standards, the Internet would not exist. Various proprietary networking standards (Novell Netware, IBM channel architecture, Banyan Vines, etc.) used to work in their own isolated worlds, rarely speaking to each other. And people generally thought that was okay, because that's how it had always had been, and look how well each one works in its own little world! Similarly, email systems were proprietary and incompatible. Then along comes TCP/IP, SMTP and other open Internet protocols, and the world is transformed. Suddenly, everything can talk to everything, and with the 20/20 benefit of hindsight, it's clear to all how much better it is with the Internet than it was with all those proprietary islands.

    Many implementations of the Internet protocols were proprietary and it didn't matter. There were always both free and proprietary implementations of the Internet protocols, but the important thing was that they all agreed on the same standards and (more or less) followed them, which bridged all those little proprietary islands into this wondrous whole we have today, where virtually any networked device is capable of communicating with any other. What mattered was that the standard was open, no matter how many of the implementations were proprietary. (And, of course, natural evolution tends to favor the extinction of most of the proprietary systems in favor of free software whenever such competition occurred, especially since vendor lock-in fails when customers demand conformance with open standards.)

    The computer industry is starting to realize that XML, like TCP/IP, can bridge proprietary islands. Look at the number of legacy systems, interfaces, protocols and file formats which are being interfaced with XML to achieve at the application level what TCP/IP achieved at the networking level. Legacy systems, proprietary systems and even free systems, each with its own way of doing things, can suddenly be made to talk to each other in a robust, loosely-coupled fashion which was unfathomable just a decade or two ago. This process appears to be well on the way to revolutionizing the computer industry yet again.

    Operating systems and device drivers are full of proprietary islands just waiting to be bridged, and it could revolutionize operating systems as much as TCP/IP revolutionized computer networking. Not all of these proprietary islands are "proprietary" in the closed-source sense -- many are also free-software islands which are "proprietary" in the "only works with this system" sense. Just in the domain of free software, there are countless little proprietary islands between various versions of Linux, FreeBSD, OpenBSD, NetBSD, Dragonfly BSD, Darwin, HURD, etc. These aren't "proprietary" as Stallman uses the term, but just try to take a random device driver from one of these random islands and dump it on another at random and see how likely it is to work without changes. Then, of course, there are also the truly proprietary systems such as Windows.

    Bridging all those islands would benefit free software immensely, regardless of whether or not proprietary closed-source vendors jump on the bandwagon. Imagine if every device driver only needed to be implemented once to a common API, and it worked without source code changes on every operating system that supports that API? That's exactly the promise that Project UDI holds for operating systems and device drivers, and it's as revolutionary as the promise of TCP/IP.

    The Internet wouldn't be where it is today without free software, yet free software wouldn't be where it is today without the Internet! This seems like a conundrum -- a chicken-and-egg problem. Actually, it's a truly symbiotic relationship, and it

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  284. Its time to change and innovate. by managedcode · · Score: 1

    I read few postings on how binary drivers are a bottleneck and why API can't be given. Their are two ways to argue. One is Kernel devs/Linus is forcing to open source for your driver so that they can integrate the driver into kernel and as it its said in Greg's email Simple, get your kernel driver into the main kernel tree (remember we are talking about GPL released drivers here, if your code doesn't fall under this category, good luck, you are on your own here, you leech .If your driver is in the tree, and a kernel interface changes, it will be fixed up by the person who did the kernel change in the first place. This ensures that your driver is always buildable, and works over time, with very little effort on your part.
    Some are valid points like the discussion of how USB interface changed 3 times. This is the way Open Source works. What is the need of the hour is a software engineering process that can bridge the gap between open source developers and companies who want to support linux without investing lot of resources.
    Just like how GOOGLE came and killed big monopolies, some company will come and change this to ultimately benefit the consumer. I am glad vendors now have an open mind to support Linux.
    Don't even dream to kill the evil empire with such an attitude. Change and Innovate, else stop whinning about the evil folks, you are no better

  285. Re:As the article says, it's illegal, and a bad id by ookaze · · Score: 1

    Tell me, what BIOS do you run ?

    The kernel can boot from it for now, and take over then, so we have control. And there is at least one free BIOS project under way.

    Do you have the source to the firmware in your IDE disk drive ?

    No, but it has to obey a standard to have a chance to communicate with the motherboard and the OS without special drivers. These drivers are all in the kernel, so we have control.

    In your CD-ROM/DVD-ROM drive ?

    They have to obey some standard too (ATAPI at least), so we have control.

    Do you have the source to your SCSI controller's firmware ?

    No, but we have the source of the driver. This is actually the only problematic hardware among those you listed. Some people spend time analysing how to circumvent hindrances in these firmwares (mostly zone change count for DVD). I still have to choose carefully a DVD drive for which I can find a firmware not crippled.

    If you think you have control over your computer you are suffering under a delusion.

    I don't think so.

  286. WHQL is just a cash cow by darkonc · · Score: 1
    WHQL just means that the manufacturer is giving Microsoft as much as $10/unit so that users don't get a nasty message saying that their driver may blow up their screen and make their children infertile (or something like that).

    To justify this payment, microsoft has to do some sort of testing, but (as many people have pointed out) there are all sorts of ways to game the test. == and: No. Microsoft doesn't take responsibility for any of this... Read your EULA.

    Ultimately, Microsoft certification means Microsoft got their money, and digitally signed it. The rest is just PR foddeer (although it sometimes actually catches real bugs, that's just a pleasant side effect).

    WHQL certification might also be how Microsoft prevents manufacturers from releasing their specs to the Open Source community -- If you release your specs, It may mysteriously take an extra 6 months to get your certification as they add test cases seemingly almost designed to break your unit during testing.

    --
    Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  287. Re:GNU is not open source. GNU is free software. by jbolden · · Score: 1

    A good pointer is your own post. You use the word "open source" to refer to the OSI (Eric Raymond's organization). The term predates OSI by many many years. For example in the 1960s IBM had two classes of software:

    "Open Source" which was software which came bundled with your system and you could do whatever you wanted with it (unclear in today's terms what kind of license this would be)

    "Licensed" which were cost add-ons where things like redistribution were clearly illegal.

    And this is my point. RMS choose to have the OSI's definition be the definition for "open source" since it responded to RMS's ideas and not a more neutral definition.

    As for "know what the terms means" you are begging the question. The point in dispute is what those terms mean.

  288. Why it'll never happen... by ledow · · Score: 1

    The primary reasons for my Linux switch:

    1) I now know what my computer does and when. I know when it loads a driver, I can exclude a driver (even one of the base OS drivers, such as filesystems), I know what drivers crash or don't mix and can easily exclude them. I can MAKE CERTAIN that when I boot from my hard drive, it doesn't write to the disk in any way... perfect for diagnostics and advanced troubleshooting. I also know that drivers can't be loaded into the kernel without my permission.

    2) I can still boot 10-year-old versions of Linux (kernel, apps etc.) if necessary, without having to lose my current settings (using chroots, kernels, initrds). I can still run 10-year-old Linux apps and be pretty much assured that they will run (even if it does mean a recompile).

    3) 99% of my hardware "just works" and the 1% I really don't care about. I've always bought hardware that was "real" hardware, not some fake winmodem rubbish, and therefore have not had any problems with the stuff that I've bought. So far, 1 non-supported parallel/USB scanner out of the four I have and 1 cheapy soundcard out of 6 that didn't give the performance I would like. I see it as the hardware manufacturer's fault if something does not work... they designed it, they should have stuck to standards, made the design simple enough to implement or, at worst, got off their backsides and maintained a driver for it. Why should ANYONE have to reverse-engineer their network/sound/video card to make it work?

    4) When Windows decides to throw a wobbler, go into a reboot loop, give stop errors on boot, there's not much I can do to bring it back but restore from a ghost image (if I have one and if it's fairly recent). When (if) linux goes, I get USEFUL error messages, I can narrow it down to kernel or userspace. Kernel can be upgraded/downgraded, userspace can be changed. Userspace can be backed up to a tar file, not some fancy format, there's no registry to worry about and at worst reinstalling the problem app (be it bash or KDE) will fix the problem.

    5) All my apps are self-contained in packages (be they slackware tgz's, RPM's, deb's). That means that so long as I back them, /home and /etc up, reinstalling the machine takes about two-three hours at worst compared to days of trying to get settings back to how they were. I don't need to worry about registries, programs storing their own preferences elsewhere. The packages are freely downloadable and therefore I can afford *not* to back them up if I ever needed to. It also means software management is so simple it's hardly worth mentioning. Upgrades can be trusted to happen automatically via things like swaret as you know that two commands gets you back to where you were.

    6) I have all of my data in a format that can be read off my disks using a single floppy, I can read it in some of the most ancient of kernels, I can read it from a small Windows driver. I can even have a stab at trying to fix the filesystem manually because it's in a semi-sensible format.

    7) I know that my computer is not spying on me, not "checking" that I have the right numbers typed in, not constantly accusing me of possibly being a pirate because I want to reinstall an OS.

    8) Upgrades are a dream. I can, for example, go from a 2.4 kernel KDE 3.2 system to a 2.6 kernel KDE 3.4 without losing any functionality. (the equivalent of a 2K-XP upgrade or similar) Functionality losses (if any) are CLEARLY advertised in changelogs, readme's etc. and I can choose to just stay where I am if I want.

    9) The damn computer finally does what I tell it to. Technically speaking it has always done what it was told to, but that was by a combination of me, MS and applications. It would do what you told it to even though that might be crash or break or format my disk, but now it FEELS like I have control. Sometimes I screw up and things get complicated but in the end I can see WHY things happened (I removed the library, upgraded the wrong file, d

  289. Re:As the article says, it's illegal, and a bad id by Anonymous Coward · · Score: 0

    With the current movement towards digital restriction management and things like the a'hole bill proposal, I'd say yes. No control means no working hardware in the long run.

  290. Re:Source compatibility is much more important to by Mind+Booster+Noori · · Score: 1
    1 - The kernel team usually makes it fairly difficult to get them in
    And we're glad it's that hard to put things into the main kernel. It's a question of quality, safety, stability and reliability. We don't need a driver into the kernel intrusive enough to blow our machine down. If you want an Operating System that can't get decent uptimes, choose another.
    2 - Users arent neccessarily happy about their kernel getting massive updates in a "stable" series
    Exactly. See, you're also glad that there's a revision process before your code goes into the main kernel.
    In short, it would be nice, but its not realistic.
    What would be nice? To violate the GPL of the code in existance nowadays in the kernel or to have a system crashing all the time?
    Unfortunately, this means that tons of open soure kernel modules are always lagging behind the released kernel, and the effort involved in maintaining it (for the developer) and installing/using it (for the end user) is much larger than it should be.
    No, that means that you can have standard API's that turns driver developers work easier, specially after their first version included in the stable kernel.
    Doing anything to lengthen the time that external modules could be expected to work would be a Very Good idea.
    Doing anything to turn those modules into internal modules would be excelent.
    All of us, developers, sysadmins, users have gone through the upgrade my kernel recompile alll my non included open source modules see which ones break try to update them recompile .... Its a real pain and something should be done to cushion it.
    Speak for yourself, I don't use non-open source modules.
  291. Re:This is why I don't write device drivers for Li by justins · · Score: 2, Insightful
    Note that Windows pulls the same sort of API changing crap that Linux does.

    No, they don't, unless you are putting Windows XP and Windows 95 in the same category. Just about any Windows 2000 driver will work on any version through service pack 4, but with Linux I need to recompile my drivers whenever a minor version number changes. Joy.
    --
    Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  292. Userspace v. kernelspace. by Grendel+Drago · · Score: 2, Informative

    Why do we still have to have a user program (X) with device drivers in it? (Would anybody think it's a good idea if the Linux kernel didn't have any sound drivers, and required gstreamer to implement its own?)

    That's not exactly a legit comparison. gstreamer is an application; X may run in userspace, but it's part of the system in the same way udev is; it's not in the kernel because it doesn't have to be.

    It seems we have two competing driver models in Linux: some are in the kernel, and provide a consistent interface (sound cards, SCSI/IDE/... cards, network cards), and some aren't in the kernel at all, but expose them at a low level and rely on userspace programs to provide actual drivers (X11 for video cards, CUPS for printers).

    Not exactly. For instance, CUPS may have printer drivers, but it relies on the USB, parport or network communications exported by the printer. There's no compelling reason for it to be in the kernel, since those drivers don't talk directly to the hardware in the same sense that the port drivers do.

    Or consider gphoto. The port drivers are part of the kernel, but the camera drivers are in userspace--because there's no compelling reason to put them in the kernel, since there's nothing in there they need.

    So that's my understanding of why X or CUPS or gphoto have their drivers in userspace, while sound drivers and port drivers are in the kernel.

    --
    Laws do not persuade just because they threaten. --Seneca
    1. Re:Userspace v. kernelspace. by Anonymous Coward · · Score: 0

      That's not exactly a legit comparison. gstreamer is an application; X may run in userspace, but it's part of the system in the same way udev is; it's not in the kernel because it doesn't have to be.

      That's not fair, either: gstreamer is *not* an application. It's a framework that lets applications do nifty things with the sound device, without having to do a bunch of low-level crap by hand ... much in the same way that X does for graphics.

      I'm not saying X11 should be part of the kernel: X11 is a graphics-network protocol. You probably wouldn't put NAS in the kernel, either. But just because NAS isn't in the kernel, is no excuse to make NAS responsible for sound card drivers.

      Or consider gphoto. The port drivers are part of the kernel, but the camera drivers are in userspace--because there's no compelling reason to put them in the kernel, since there's nothing in there they need.

      That's fair. But for people who have used microkernels, we see no compelling reason to put just about *anything* in the kernel, including device drivers. Why put a filesystem in the kernel? Why put network protocols in the kernel?

  293. Sure by Hard_Code · · Score: 1

    The issue, more than a stable ABI/API, is stable semantics, no? If the ABI/API is changed, but *semantics are preserved* then venders can simply add an adapter/translation abstraction layer. In fact, they could all get together and agree on one, completely separately from the Linux core developers (and in fact they probably SHOULD do this anyway). It would be nice to have more drivers, but it's also nice for the kernel to advance. So it's just a matter of who has to do more work: the kernel develepors to adapt the kernel to a fixed ABI/API, or the driver developers to adapt their drivest to a non-fixed ABI/API.

    --

    It's 10 PM. Do you know if you're un-American?
  294. FFS by justins · · Score: 1
    Driver certification means just that Microsoft received the driver, and agreed to confirm that the driver comes from one of its business partners, and not from a suspicious open-source hacker. You don't even have a guarantee that the driver is free from rootkits.

    You're obviously not much of a Windows user. Driver quality has improved markedly since WHQL came online, and there haven't been any rootkits in the drivers.

    The company isn't really interested in fixing any issues with the drivers

    Oh, they're quite invested in making sure that drivers are decent. It's no fun for anyone concerned for Microsoft to provide a driver via windows update and for that driver to make a system unbootable or otherwise hosed.
    --
    Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    1. Re:FFS by Com2Kid · · Score: 1

      You're obviously not much of a Windows user. Driver quality has improved markedly since WHQL came online


      Yes that that one time I downloaded the NVIDIA WHQL certified driver from Windows Update and it turned my entire OS interface into French!

      That was adorably high quality. ...

      (Admittedly this was 4 or so years ago, and it hasn't happened since. Though I also haven't installed any drivers from Windows Update since then either!)
    2. Re:FFS by justins · · Score: 1
      Admittedly this was 4 or so years ago, and it hasn't happened since.

      Windows update had some problems there for a few months. Drivers that would lock up a system, occasional mishaps. What people on Slashdot tend to lose sight of is that Microsoft software invariably gets better, and in some cases gets pretty good.

      I don't think WU will update a driver automatically in any case, although maybe it does and I just haven't seen it yet. Most of the time the driver updates are optional. You can usually read release notes to see if you need the update. The system works fairly well.
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
  295. ATI takes a different tack. by Grendel+Drago · · Score: 1

    On the contrary, I believe there would be incentive. A hardware vendor wants to sell hardware, but not support hardware as support costs money. It wouldn't be long before hardware vendors realized that they could save some significant green by allowing th community to take care of itself, or perhaps provide some basic skeletal framework for a driver and allowing the community to roll their own.

    Actually, I think ATI does that now. They don't write drivers for most of their newer cards; they let the board manufacturers who use the ATI graphics cores do it. ATI also has some open source drivers, I think, but that's unrelated.

    --
    Laws do not persuade just because they threaten. --Seneca
  296. Re:GNU is not open source. GNU is free software. by jbn-o · · Score: 1

    Where is the post from RMS you mentioned? What's your source for the IBM usage? No citation was given. I'm familiar with IBM mainframe OS software being shared and modified, but this was the norm then and therefore there was no social movement to defend this way of doing things on the computer.

    There is nothing "neutral" about the distinction you describe. Any software that cannot be redistributed leaves users helpless to build a community by sharing copies of programs even if they are allowed to improve the software. This is oppressive.

    RMS did not choose for the open source movement to begin at all. He had already started his movement, a social movement he called the free software movement. In reading the OSI's website, it seems that it was part of their purpose to remove any discussion of ethics from their framing of issues before business because they believed that ethical discussion made people uncomfortable.

    It seems remarkably one-sided that so many in the business press are reluctant to mention free software at all (despite the term being used for the better part of 20 years and an important body of work being done in that movement's name), and didn't mention open source until the OSI popularized the term (despite the OSI not being around as long). This clearly conveys the impression that they stand with the open source movement, not the free software movement. Which would be fine if they were describing software written in the name of that movement; people and organizations should be able to choose their affiliation. But to describe software written explicitly for software freedom and credit it to the movement that never talks about software freedom strikes me as disrespectful at the least.

  297. Re:Linux (and others!) should embrace Project UDI. by Eli+Gottlieb · · Score: 1

    I hereby pledge that my hobby operating system will support Project UDI Core Spec version 1.01 from the very beginning.

  298. Good point. by Medievalist · · Score: 1
    The problem is that people often take that attitude and then wander around blindly, amazed that it isn't "the year of Linux on the desktop" yet.
    Yeah, that amazes me too. I think it's related to the mindset that says "I have to destroy my competition" instead of "I have to get enough market share to pay for whatever I'm going to do next". They seem to think that for one thing to succeed, all alternatives must be eliminated, and some of them are so fanatical they can't even acknowledge the existence of an obvious bug in whatever fetish they are championing.

    Those people need to get over themselves, and understand that there will never be a single tool appropriate for all levels of skill unless we dumb everyone down to the level of the most mentally handicapped individual (and if we do that, the tool will be a rubber nipple, or possibly a spork, not an OS).

    I think it's just fine that people like Miguel de Icaza are building a user-friendly interface to linux. But it's not really important to me like Ted T'so's work on capabilities is.
  299. Well that sucks by Medievalist · · Score: 1


    Though you haven't supplied any details, I suspect you're focusing too tightly - it's more than just a lack of a binary interface driver that has put you in such a frustrating situation.

  300. Re:Binary Drivers = Maint. Nightmare + Security Wo by Alioth · · Score: 1

    It's not just binary drivers.

    I use some open source drivers that are not in my kernel yet (the CentOS kernels), and won't be in this release. However, each time I get a kernel update, I have to rebuild the open source FUSE drivers and reinstall them. It's a pain in the ass.

    If there is one thing I would fix about Linux is the development model. A 'stable' kernel series (say, 2.6) would have a stable API for kernel modules. So if you build a module for 2.6.0, it still works with 2.6.9. 2.6 would be bug fixes only - no new features in the kernel. You wouldn't need to put new features in a stable kernel series if it was done this way, because distros and end users can build modules and have a reasonable chance of them working for the entire kernel series without needing a rebuild.

    Alternately, a method to automatically rebuild all 3rd party or add-on kernel modules as part of an upgrade could be made by a distribution maker, so you install the module as source, and distribution tools build them, then rebuild them for each kernel.

    Manufacturers can _already_ use binary drivers, (nVidia already does) by providing their own abstraction layer, so this argument is a complete red herring. A stable kernel ABI helps _end users_ the most.

  301. Re:GNU is not open source. GNU is free software. by jbolden · · Score: 1

    It wasn't a post from RMS it was a post from you. I was asserting that you were conflating the words "open source" and the OSI (which continued to do in the parent to this post). As for RMS http://www.gnu.org/philosophy/free-software-for-fr eedom.html. Note in particular:

    1) He talks about the "open source movement" not about open source

    As for IBM if you agree that IBM had open source software that what are you disagreeing with? That they used the term? Go to www.share.org the IBM users group (1955).

    As for software written in the name of the movement this goes back to the old GNU/Linux debate. TeX, X, most shells, most window managers, etc... were not explicitly written as part of the GNU movement; and may have had goals hostile to GNU. KDE for example uses the LGPL/GPL but has had a long history of hostile relations with RMS. Linus uses the GPL but considers himself part of the open source movement (he works for OSDL and is on the board of OSI). Apache explicitly rejected the GNU goals. That's why the mainstream business press rejects RMS's description of this as "free software", rather what is in common is a belief in code sharing and community.

  302. Just do it by rfisher · · Score: 1

    This is the beauty of Linux. Anyone can do anything they want with it, except distribute your changes without source or forcing your changes on everyone.

    Just do it. If you do it well & it solves real problems, others will adopt it & even help you make it better. Some of us, however, will be happy to not use it, & that's just fine.

  303. Re:Linux (and others!) should embrace Project UDI. by Deven · · Score: 1

    I hereby pledge that my hobby operating system will support Project UDI Core Spec version 1.01 from the very beginning.

    Hopefully that wasn't sarcastic. I know, for my part, if I ever get around to writing a hobby operating system of my own (as I've long wanted to), I'd like to have UDI as the native driver interface. Of course, I never find any time to work on such things, but in principle that would be my goal.

    I would hope every fringe OS developer would see the benefits of UDI and adopt it fully -- but the pool of resources represented by such projects is small compared to Linux or the major BSD systems. Maybe enough of the one-man OS projects could break the chicken-and-egg stalemate and make UDI more enticing for the larger players, but it would be so much better if a major OS would adopt UDI and start porting drivers...

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  304. Finally somebody with a clue by ex-geek · · Score: 1

    The kernel developers could simply ban closed source drivers by stating that in their licence, or rather declaring that the requirements of the GPL are also meant to apply to drivers. Likewise all closed source user space applications could be banned.

    An unstable ABI does discourage the development of drivers in general, not just of closed source drivers.

  305. Is it really that bad? by RAMMS+EIN · · Score: 0

    ``The vendor then takes that driver (now with the WHQL stamp of approval) and puts it inside an installer that enables the secret "Enable Dubious Optimizations" switch. Now the driver sees the switch enabled and performs all sorts of dubious optimizations, none of which were tested by WHQL.''

    Isn't the idea that Microsoft cryptographically signs the drivers they approve? Then how come vendors can ship a different package without losing the signature? Is the signature flawed? Does it apply only to part of the package? In both cases, this whole thing is incredibly stupid and harmful; you think you get a tested and certified driver, but, actually, you don't. It's like the SSL implementation in your web browser telling you you're really communicating with your bank's site, but actually you're communicating with a different site - worse than giving no indication at all.

    --
    Please correct me if I got my facts wrong.
  306. Re:Freedom more important to devs than user whingi by merdark · · Score: 1

    As far as I am concerned, a stable API is simply good software engineer practise. It would make it easier for other groups to maintian and build drivers, regardless of their development model. The API is not stable for *political* reasons, not technical ones. The kernel team does not want binary drivers, despite the fact that the availability of such drivers does *nothing* to "take control away from the developers".

    The GPL is not about keeping source open. It is about forcing OTHERS to keep their addtions open. The same is true of the kernel binary API. They want to discourage others from making closed source software. So it is very much about pushing idiologies on others.

    Additionally, you "Free" people really need to get a reality check. The purpose of computers is to provide functionality for *users*. Developers are really a small fraction of computer users. I'm not saying open source is bad. I've created open source software myself, and contributed patches to open source projects. But the open source has become so mired in the false sense of holy rightousness that is "Free" software that they seem to have forgotten that purpose of software in the first place!

    Finally, DRM has nothing to do with open source. You can easily have DRM-free closed source software. Besides, DRM is not the issue really. It is just reflecting current copyright and IP law, which of course is the source of the problem. DRM is just enforcing current laws.

    But if you want to be more concerned with some silly idiology than with real issues, that's fine. Open source will continue to lose out to closed source.

  307. Guarantees? by metamatic · · Score: 1
    You won't find it written anywhere but Microsoft gurantees that you're machine will not crash (BSOD) if you use certified drivers and MSI installed software.

    So on the one hand, we have you claiming that there's a secret unwritten guarantee that Windows won't crash if you use all-certified drivers.

    And on the other hand, we have the Windows XP EULA, which explicitly says in writing that:

    Any supplements or updates to the Software, including without limitation, any (if any) service packs or hot fixes provided to you after the expiration of the ninety day Limited Warranty period are not covered by any warranty or condition, express, implied or statutory.

    So, shall I believe you that Microsoft guarantees certified drivers won't crash? Or shall I believe the written license that tells me installed drivers, certified or not, are never covered by any kind of warranty?

    Gosh, that's a tough one.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    1. Re:Guarantees? by ImaLamer · · Score: 1
      This:
      Any supplements or updates to the Software, including without limitation, any (if any) service packs or hot fixes provided to you after the expiration of the ninety day Limited Warranty period are not covered by any warranty or condition, express, implied or statutory.

      Doesn't say anything about certified drivers, or any drivers. They are covering their asses in case of Windows Update fucks a home user but if you've got a support agreement with Microsoft (likely for Windows 2003 at this point only) you are covered.

      Don't forget that this includes approved software that uses MSI to install software and not any other process. I wish someone who has worked at Microsoft or someone who has actually used Windows 200x server products in a critical environment could back me up... but this *is* Slashdot.
    2. Re:Guarantees? by metamatic · · Score: 1

      The way I read it, an installed device driver is a supplement to the Windows XP software.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  308. We should all be supporting Project UDI. (summary) by Deven · · Score: 2, Insightful
    That's why hardware manufacturers would like to see specifications like UDI and NDIS followed. Unfortunately, those wonderful software people who are apparently so much better at this stuff have decided that they don't need anything as passe as a cross-platform driver API. Mr. Stallman is leading the charge on this one. Personally, I think he's stuck on stupid, but that's just me.
    Isn't it obvious that every time someone successfully standardizes open interfaces, major leaps in productivity follow?

    • Without open standards, the Internet would not exist.
    • Many implementations of the Internet protocols were proprietary and it didn't matter.
    • The computer industry is starting to realize that XML, like TCP/IP, can bridge proprietary islands.
    • Operating systems and device drivers are full of proprietary islands just waiting to be bridged, and it could revolutionize operating systems as much as TCP/IP revolutionized computer networking.
    • Bridging all those islands would benefit free software immensely, regardless of whether or not proprietary closed-source vendors jump on the bandwagon.
    • The Internet wouldn't be where it is today without free software, yet free software wouldn't be where it is today without the Internet!
    • Project UDI could revolutionize free operating systems, but only if it is adopted as thoroughly as the Internet was.
    • Vendor-supplied UDI drivers would probably be less likely to be closed-source than people fear.
    • UDI drivers could (and should) be developed and distributed independently of OS kernels.
    • Adopting UDI would eliminate massive duplications of effort.
    • UDI is the best hope for the HURD, and would stimulate innovative competition between developers of various free operating systems.
    • The free software community should broadly adopt and embrace UDI out of self-interest, without regard to the behavior of proprietary companies.
    • This is a situation that calls for vision and foresight, not hindsight.
    • We've already lost years of the potential benefits of UDI -- let's not lose them entirely!
    • Ironically, this would be a perfect opportunity to turn the tables on the proprietary companies and benefit from their efforts!
    • The member companies of Project UDI should not be viewed as parasites in this matter.
    • Microsoft does not stand to benefit from Project UDI.
    • We should all be supporting Project UDI.

    See the long version of this post for expanded discussion of these points...

    [By the way -- AKAImBatman, please send me some email, I'd like to chat with you further about Project UDI...]
    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  309. Re:GNU is not open source. GNU is free software. by jbn-o · · Score: 1

    I visited www.share.org and I couldn't find any document from the 1950's indicating the use of the term "open source". Is there a specific document you can point me to? I'm willing to try to be more careful in my use of the term if I can see evidence of the unbroken line of usage you're talking about.

    Regarding Shankland and CNet News' unwillingness to call GCC a free software compiler instead of an open source compiler: I'm not talking about TeX, X, most shells, or window managers. I wrote about a specific program—GCC—and how RMS kindly explained why he would like the program to be called free software. What should matter here is not reflecting the desire of the reporter or their news organization, but respecting the wishes of the programmer. People extend this courtesy to Linus Torvalds when describing the Linux kernel, I think fairness demands the same for RMS.

    Finally, if "what is in common is a belief in code sharing and community", then there are some strange bedfellows in this group. Linus Torvalds recently stopped using Bitkeeper, the proprietary revision tracking software. For quite some time he was happy to endorse the proprietary program for other Linux kernel hackers in word and deed. At about the time Torvalds' Bitkeeper license was pulled, it became known that Andrew Tridgell was working on what was described as a free software program to get data from Bitkeeper repositories. Tridgell reverse engineered the proprietary Bitkeeper protocol as part of the work to write this program, and Torvalds reportedly disagreed with this and defended a software proprietor. Communities are denied the ability to do code sharing when proprietary software is involved. Torvalds strikes me as a pragmatist—he'll use whatever software is convenient to get the job done, apparently he's not someone who shares the aforementioned belief in code sharing or community if it is inconvenient or a challenge to a proprietor.

  310. Really? Doesn't work for me by phorm · · Score: 1

    Really? Could have fooled me... Windows can still run DOS and Windows applications from 20 years ago, linux can still run application from 10 years ago. When an API is created, usually there are hooks for extending it in the future. I wouldn't say either one has stagnated, over the course of the last 10 years. If that were the case windows wouldn't run on my quad 64-bit athlon.

    Really? Because I've had a heck of a time getting XP to run most of my old DOS games, and quite a few of my 9x ones. Not to mention the scanner that won't work because there isn't a driver for XP to run the SCSI card it uses (not supported by the vender, binary-only... buy a new scanner), and just for shits and giggles why not try using a gameport MICROSOFT sidewinder joystick in XP (hint: it doesn't work, it's not supported!).

    The point being given is that when binary drivers die, nobody can continue them. When a company doesn't see profit in a product, they discontinue binary drivers. I've plenty of old hardware that does not work in windows to prove it, but quite often it still works in 'nix with the Reverse-engineered Open-Source drivers. Go figure...

  311. Re:Linux (and others!) should embrace Project UDI. by Eli+Gottlieb · · Score: 1

    My comment was in no way sarcastic. My OS WILL have UDI built-in as its native driver interface right from the start.

  312. MOD UP PARENT by Anonymous Coward · · Score: 0

    Lots of good points

  313. Re:Linux (and others!) should embrace Project UDI. by Deven · · Score: 1

    My comment was in no way sarcastic. My OS WILL have UDI built-in as its native driver interface right from the start.

    Good to hear. We need more UDI-native operating systems...

    Hey, send me some email so we can still discuss this when this thread is dead and gone!

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  314. Re: PLEASE give us a stable driver interface! by Grishnakh · · Score: 1

    I'm a professional Linux driver developer in training, and I'm a little confused by your post. Why are you having to fix your driver for every single version change?

    If you're distributing the driver as a separate tarball, it's simple: you only distribute it for specific kernel versions. Anything else is unsupported. Just pick the kernel versions you want to support (maybe coinciding with certain distributions), and that's it. Add newer versions as you have time or it becomes apparent that customers are tired of being stuck with a very old kernel version.

    In my job, the driver we provide has two versions, one for kernel 2.4.20 and one for kernel 2.6.13 (maybe 14; it's not released yet). If someone doesn't like that they have to use 2.4.20, too bad. They can get the source and modify it themselves, or they can just use the older version until we're ready to port it to a newer kernel.

    What's so hard about that?

    Don't let your customers push you around. State clearly what you provide and what you support, and forget the rest.

  315. Huh? by Grendel+Drago · · Score: 1

    Can you name some things that make Linux special? Like the ability for the end user to become educated and modify the system, or the right to fork? And then, can you explain how widespread adoption of Linux will change these things?

    --
    Laws do not persuade just because they threaten. --Seneca
  316. GPL by Luke-Jr · · Score: 1

    *Any* linking is enough to require GPL. The only reason binary modules are possible at all is because Linux is not licensed under simply the GPL, but includes an exception making it licensed under a modified version of the GPL.

    --
    Luke-Jr