Slashdot Mirror


Stallman Calls For Action on Free BIOS

Dolda2000 writes "Seeking to achieve 100% software freedom, RMS is now calling for action for a free BIOS. From the article: "The most uncooperative company is Intel, which has started a sham 'open source' BIOS project. The software consists of all the unimportant parts of of a BIOS, minus the hard parts. It won't run, and doesn't bring us any closer to a BIOS that does. It is just a distraction. By contrast, AMD cooperates pretty well." For reference, there are currently two projects for a free BIOS that I know of: LinuxBIOS and OpenBIOS."

14 of 487 comments (clear)

  1. Oi boy am I going to get moderated down for this.. by sandstorming · · Score: 5, Funny

    Sounds like bias in bios

  2. It's my flashBIOS chip... by Amnenth · · Score: 5, Insightful

    An open-source BIOS is something I'd really appreciate having, especially with the big corporations moving towards their big 'Trusted Computing' platform. It's MY hardware and I'll runn whatever the hell I want on it, not what some mega-corporate conglomerate decides I should.

    1. Re:It's my flashBIOS chip... by Mmm+coffee · · Score: 5, Insightful

      How do I know that there isn't spyware code in my bios revealing information about me without my knowledge? How do I know that the lowest level components of my system will perform without any "Trusted Computing" quirks? If I for some reason need to modify my bios to gain a function (to make boot time clustering easier, for example), how could I do that with a non-Free BIOS? As a student, what if I wanted to study the code to my BIOS so I know how my computer _really_ works, on all levels?

      Saying "The license to your BIOS doesn't matter as long as you can run stuff on it" is like saying "The fact that my car's engine is sealed in a lead black box doesn't matter as long as I can still drive." Yeah, on the surface it's true but when you think of the subject with any actual depth it just doesn't make sense.

  3. Eat your own dog food.... by Gopal.V · · Score: 5, Interesting
    What ever you say about RMS - he does eat his own dog food. I heard about the pains the FreeBIOS team had in converting RMS's personal laptop to FreeBIOS sometime back. But all that said, I am NOT going to flash this thing onto my boxes. This is what I'll do -

    You can help our campaign by buying AMD CPU chips and not buying Intel, and by publishing statements about what you're doing. Likewise, buy motherboards that support free BIOS.

    According to the FreeBIOS website, Acer , Via and SiS support it . And it will probably see a LOT of Bochs in testing too. So I might opt for an Acer laptopt finally (it's cheap too)
  4. Motherboard support by lisaparratt · · Score: 5, Insightful

    The problem with a motherboard BIOS is that it's tailored to the motherboard. Could the open source fratenity actually produce a workable product across a large number of motherboards? Would they produce something that works properly on all of them, instead of having modules that have been got to a state where they're good enough for the hacker creating them, but not Joe average on the street.

    To be honest, if it's just a BIOS clone, I won't be interested anyway - wake me up when someone recreates OpenFirmware for the PC.

  5. LinuxBIOS isn't a BIOS by hpa · · Score: 5, Informative

    LinuxBIOS is not a BIOS, it's a non-standard firmware interface.

    This is pretty much OK for embedded use, but for anything where you need standard BIOS functionality, it's useless. Worse, the name "LinuxBIOS" implies that it is BIOS functionality, which causes people to try to use it in inappropriate situations.

  6. The problem is, "what do you mean by BIOS?" by wowbagger · · Score: 5, Interesting

    The problem with a statement like "We need a Free BIOS" is exactly what you mean by "BIOS".

    There are two extremes to the schools of thought on this.

    The first is the minimalist: The BIOS is just enough code to put the machine into a state where it can load the real OS, and once the real OS is loaded the BIOS is no longer relevant. At a minimum this code would just set up the basics of the machine, and then load some section of the hard disk into memory and jump to it.

    The second is the maximalist: The BIOS should provide abstract access to all hardware so that the OS does not have to have drivers. The BIOS would provide routines for the disk controller, video, human interface systems (mouse/keyboard/etc.), memory control, system control, you name it. The OS would never get its hands dirty accessing real hardware.

    Both of these approaches have problems. The Minimalist approach means the OS has to support all hardware - which is the lament those of us who don't run Microsoft operating systems will sometimes have. If your OS does not know about your shiny new FooCard then you are out of luck. In the ideal Maximalist case, the BIOS would supply routines to access all the functions of the FooCard and your OS would Just Work no matter what.

    However, the problem with the ideal Maximalist approach is that desiging a BIOS API that will work with all operating systems is HARD . Your BIOS has to have a means of calling back into the OS (since real, non-trivial drivers need to have things like semaphores, queues, interrupt handlers, rescheduling points, etc.), but then you have to insure that all operating systems supply all those APIs with the same semantics.

    Now, ask yourself, if you designed a BIOS callback API around the Windows semantics (drivers cannot block, drivers must schedule a deferred procedure call if they cannot complete, drivers cannot cause a page fault to swap) how different it would be from a Unix-y style callback (drivers can block, drivers can pagefault from swap, drivers run til they are done).

    The current thoughts are "The OS knows best what to do, let the OS have the drivers".

    Now, in the context of a Free driver, you have to decide where between the Minimalist and the Maximalist you want to draw the line. Do you want to force the OS to have the code to set up the memory handlers and PCI bridges, for example? If the OS can handle reprogramming the PCI bridges it sure makes PCI hotplugging a great deal easier!

    If you look at the LinuxBIOS approach, it is more of a maximalist approach targeting the Linux kernel. This is great if you run Linux, but what if you want to run *BSD, or Windows, or CP/M-86?

    It would be possible, barely, to do like my old Multia did - provide BOTH a Windows friendly BIOS and a *nix friendly BIOS, and a means to switch between them. But now you've just doubled (actually more than doubled) the work for a system manufacturer - he has to write a BIOS for Windows, a BIOS for Linux, an BIOS for NetBSD....

    "Just publish the specs, and we will write the driver!"

    Again, publishing all the specs is hard - there's always that little "Oh yeah, we found that if the temp is less than 5C you have to wait an additional 50uS for this part to respond to a query - it's not intended behavior but it is observed behavior, Charlie found that out."

    And even if you can completely document all the specs, there is still the little issue of "How do I, the end user, get the BIOS for *my* OS flashed onto this board?" - if you think the manufacturers are going to flash boards with seventeen different BIOSes depending upon the customers whims... I have some oceanfront property in Goddard, KS to sell you.

    Then there is the issue of add-in cards - how do you integrate any BIOS they may have on them into the BIOS on your motherboard?

    Now, I know somebody will point out OpenFirmware - the idea that the cards provide drivers in a bytecoded language targeting an API

  7. Re:How would "cooperating"..... by thejam · · Score: 5, Insightful

    Stop whining? RMS not only instilled in us the ideal of free software but also provided gobs of it and with excellent quality yet! Move on? You mean accept the situation. You mean define what _we_ desire in terms of other's interests? Especially if those interests can hurt us all? I say respect yourself more and value your freedom.

  8. Re:It makes sense by Anonymous Coward · · Score: 5, Insightful

    Do you think your processor should contain open microcode as well? Even if you install free software on your mainboard BIOS, what about the firmware on your drives and graphics card?

    While a wholly open-source machine would be great, it won't be a reality until we have technology that breaks the electronics mass production bottleneck (perhaps nanoassemblers). In the mean time you just have to decide which companies you're prepared to trust.

  9. Re:It makes sense by Anonymous Coward · · Score: 5, Insightful

    free-software religion aside, there are serious practical considerations to having closed bios code.

    Bios support is an ongoing issue. Newer CPUs, RAM modules, hard drives, video cards are always coming out, as are bugs. With a closed source bios, support is cut after a certain length of time, and it is tough luck if any bios limitations exist after then. Oftentimes they don't address all the issues even while they're still making updates.

    How many people are stuck with a motherboard they can't put a hard drive into, or can't do this or that, or are being bitten by a bug because of the bios. This happens all the time.

    Also, bios setup screens are consistantly poorly designed, excessively limited, and written in "somebody set us up the bios" Engrish.

  10. Re:It makes sense by Anonymous Coward · · Score: 5, Insightful
    BSD style licenses allow me to get recognition (not much I haven't written a lot of Open Source) and allow me to re-use that software in my commercial projects, which benefits me and Open Source as it allows me to get buy-in from management.

    GPL licenses do not. Essentialy I write GPL software and I cannot use it in any commercial projects.

    First of all, thank you for any and all Free Software you have written, under any Free Software license, copyleft or not.

    Second, please don't conflate "commercial" and "proprietary"; many people make a living selling development of Free Software and support for Free Software, and confusing those two terms makes it more difficult for those people, just as you have encountered difficulty from managers that fear Free Software due to copyleft. Please have some sympathy for those people, and ensure that your statements do not undermine their use of GPLed software to make a living.

    Finally, note that if you write a piece of software, you hold the copyright on that software; you may release it under the GPL, and you may also use it in proprietary products. You are in no way restricted by the license on a piece of software wholly written by you. The GPL simply prevents others from taking your software and making it proprietary, and prevents you from taking other people's GPLed software proprietary.
  11. Wrong implicit assumption! by PontifexPrimus · · Score: 5, Insightful

    I'm sorry, but you're making a wrong assumption: this is not a zero-sum game. A zsg would require a situation where every gain on your opponent's side is a loss for you. Software development doesn't work that way. If you "invest" in creating new software that's freely shared you increase the pie, so to speak. By allowing other people to use your work and not requiring them to re-invent the wheel there is a net gain for the community, including you, since you benefit from others. This is a principle that might be hard to understand for someone who accepts the tenets of capitalism as the only ones possible (I do not wish to insult you, but many Americans seem terribly narrow-minded and uninformed in that respect, having been tought from childhood that everything related to communism is "bad" without ever going into detail).

    --
    -- Language is a virus from outer space.
  12. Re:It makes sense by AlXtreme · · Score: 5, Informative
    GPL licenses do not. Essentialy I write GPL software and I cannot use it in any commercial projects.
    Wrong Wrong Wrong. If you write software, you can use it for whatever you want. You can relicense it. You can throw it in public domain. You can perform ritualistic burnings with it. Even if it is licensed under the GPL, if the copyright lies with you or your company.

    Using _someone elses_ GPL'ed code in a non-GPL distributed software project is not allowed. With the LGPL you may use _someone elses_ libraries in a non-GPL/LGPL distributed software project. In no way do they limit your right to use your own code in a non-GPL project. If you take _someone elses_ GPL'ed project and modify it, then you must also distribute the modifications. The GPL ensures the freedom of any modifications made by the non-copyrightholders of a project.

    How often do we have to beat on this drum? The GPL doesn't take away your freedom to your own code: it gives others (limited) freedom to use it. If management doesn't get it, they shouldn't be herding programmers.

    --
    This sig is intentionally left blank
  13. Re:It makes sense by Aim+Here · · Score: 5, Insightful

    Re: the abc program - there is no compulsion for a user of GPLed software to distribute anything at all. You are allowed, for your own personal (or internal company) use, to glue proprietary and GPLed code together in any combination you see fit - the only restrictions are on distribution of the code.
    However if you plan to distribute someone else's GPLed code to any third parties, then all the code in there would have to be GPLed and the source code would have to be made available.

    If YOU wrote all of b and c, then things are easier. Just put your code out under multiple licenses. You can GPL b and c and put it on a website AND license the same code to your company under a proprietary license for use in 'abc' - some companies, like Trolltech, actually make a living by producing GPLed code, and selling proprietary software companies the right to make derivative works of the same software under non-GPLed terms.

    Hope this helps.