Stallman Calls For Action on Free BIOS 487
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."
Re:Liability problems? (Score:5, Informative)
LinuxBIOS isn't a BIOS (Score:5, Informative)
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.
Re:Flashing up is hard to do (Score:4, Informative)
Re:Does Anyone KNow (Score:4, Informative)
Due to the low-level nature of a BIOS, they would expose lots of hardware details. It's the same reason why many hardware manufacturers are reluctant to release open source drivers (or to provide OSS community with hardware specs).
Re:Motherboard support (Score:5, Informative)
That's what OpenBIOS [openbios.info] are doing!
Re:What? (Score:4, Informative)
diego@estel ~/kernel # grep -i @intel.com MAINTAINERS | wc -l
11
Re:LinuxBIOS isn't a BIOS (Score:3, Informative)
Not exactly. It's actually a BIOS. It replaces your PC BIOS. And last I checeked, it could boot and run Windows 2000, Linux and OpenBSD. It's not as standardized as other BIOSes, but it's still a well functioning BIOS.
Re:It makes sense (Score:3, Informative)
Open Firmware (IEEE-1275) (Score:1, Informative)
See http://playground.sun.com/pub/p1275/ [sun.com] or http://bananajr6000.apple.com/1275/home.html [apple.com] for more information.
Re:"minus all the Hurd parts" (Score:5, Informative)
Contrary to popular opinion, Stallman is the last person in the entire Free Software/Open Source movement that I would expect doing something due to an ego issue. Listen to his speeches, read his writings, hell, email the man himself [mailto] and ask him if this is due to Hurd. He just wants to see people not chained by thier own technology.
Re:What? (Score:4, Informative)
They might have some great people working on linux but the company in general just doesn't care.
It took intel a full year before they had even half decent support for their wireless chipset despite promisses that they would support it when promoting it.
They refuse to release proper specs on their video chipsets in order to let X use the proper panel size on a laptop.
Jeroen
Re:Flashing up is hard to do (Score:3, Informative)
Re:Liability problems? (Score:3, Informative)
Re:It makes sense (Score:2, Informative)
Re:It's my flashBIOS chip... (Score:3, Informative)
One reason is that you cannot fix it.
Let me give an example. I bought some old IBM thinkpads, that I wanted to run from a PCMCIA Flash disk, without a harddisk, floppy or CD-drive.
The TP365XD boots fine from PCMCIA CFlash.
The TP770 BIOS does have a setting for booting from PCMCIA, but it does not boot from my PCMCIA CFlash cards. I do not know if it is a bug, if it only boots from some kinds of PCMCIA drives, and I cannot fix it.
The BIOS has a lot of functionaly I do not need (e.g. the animated hummingbird cursor) so if it was OS I could certainly make it boot from my CFlash card.
I made it boot from a floppy with the CFlash as root fs device
(http://freshmeat.net/projects/pcmciaroot
I would also like to make a network boot on my wireless network. But the wlan is encrypted, so I would like to store the key in the BIOS of the laptop.
Re:Paranoia? (Score:3, Informative)
Nevertheless, it is a distraction.
Re:It's my flashBIOS chip... (Score:3, Informative)
Re:It makes sense (Score:3, Informative)
Re:It makes sense (Score:5, Informative)
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.
Re:Show us the code (Score:3, Informative)
He's done some very good things, but his goals may not all be relevant to me - and I said show us the code because results are often more relevant than goals. Simple proof of concept stuff says a lot more than ranting - I should have just left it as "show us the code" instead of putting in my own rant.
I really don't think RMS slamming Intel is going to acheive anything positive at all. RMS setting up some sort of BIOS group instead of just slamming Intel would acheive something.
GPL and your scenario made simple: (Score:3, Informative)
If this code is all purely internal, and you're not distributing it outside the company, then you can do essentially whatever you want. The GPL only really covers distribution in that respect. It does have some words about modification of GPL'd code, but nothing there requires you to release or distribute your modifications to other people.
The above assumes someone else wrote 'b' and 'c'. How would the scenario change if I wrote 'b' and 'c'? Would it then be possible to keep management happy, and if so what would the licensing structure be?
If you wrote B and C, and don't have some clause where all your work is owned by the company, then it's a different matter. You own the copyright, so you can do essentially whatever the hell you want. If the company owns the copyright, then you'd have to convince them to release B and C as GPL instead.
But essentially, the owner of a piece of code can do anything they damn well please. The only catch here is in accepting patches back from other people. If you release a piece of code as GPL and somebody makes a patch, then they have created a derivative work and it's under the GPL now with respect to you. So you can't take those patches and then shove them back into something you're doing. Oh, you can if the ABC software is only distributed internally, you just can't relicense those patches under any other type of licensing scheme.
The point here is that if ABC is something you only use internally anyway, then it makes little difference what the licensing scheme on the code is. You just can't come back and distribute ABC later. If distributing ABC as a whole is a possibility, then licensing matters, but assuming all of ABC was written by people in the company or by you or what have you, then it doesn't matter all that much. You're hardly likely to sue yourself for violation of your license.
The only case where you have to watch it is when you release GPL'd code and accept patches back. You don't own those patches, and they are GPL'd to you. Accepting patches is a problem if you want to distribute ABC later.
Here it is (Score:3, Informative)
Re:Motherboard support (Score:3, Informative)
Re:You can't eliminate companies (Score:4, Informative)
Not (commodity) driver software.
I would STILL buy hardware -- in fact I require that any hardware
I buy be supported by open systems. No support == no sale.
I really, truly, don't want the hardware vendor writing drivers.
(except as an example of how the hardware is EXPECTED to be used).
Take Intel as an example. Intel supplies some proto-code to illustrated
how protected mode works. But Intel does NOT supply Windows, BSD, Linux
etc with the processor chip.
Does the GPL hurt at all under these rules? Perhaps a company is afraid
that simply having access to the register specs is going to allow
a competitor to build a compatible chip and sell it for less money.
Figure 6 months to tape out, test, write documentation, market -- and
think about the cycle on existing chips! It won't make any difference,
unless the original chip is SO simple that it is trivial and not worth
the purchase price.
Also, patents on chip algo implementations can be obtained (I even
have some, so it 'aint that difficult!)
Perhaps you want me to believe that Intel can compete whilst opening
a register spec on the processor itself, while NVIDIA and ATI can't compete?
I'll even grant you that... but, personally, I only use open drivers.
(more secure, crashes can be dealt with, and have a future). Even if the
open driver solution costs WAY more.
For example, I use the DLink 800+ Ethernet to Wireless Bridge, rather than
a closed-source 802.11b solution. Cost? $20 vs. $100. Benefit? The open
solution will work with any platform (PC, SPARC, Windows, Solaris, BSD,
Oh, and the software within the 800 isn't even `GPL'! Its simply a bridge
from 802.11b standard and Ethernet standard.
As to software - low level OS and driver and commodity software must
be open source. Specific applications may be distributed in a more rigid
manner (although I STILL prefer source distribution, not knowing if the
vendor is going out of business, or what her plans are -- escrow would
work as well).
Ratboy
Re:Why the BIOS will never be Open Source (Score:3, Informative)
Open Source BIOS not workable (Score:1, Informative)
Not to mention that the hardware implementations are usually different. SMBUS lines are not always hooked up to the same chip. These same lines are used for configuring memory, system and bus clocks, configuring USB chipsets, and system monitoring. Otherwise, a computer is pretty generic and one pretty much like another.
Laptops are even worse about this. A while back, Intel tried to drive forward a generic laptop motherboard formfactor. It never took off since every manufacturer tries to distinguish itself by form factor, weight, and features. The agressive mechanical design of a laptop often drives how it is designed electrically.
BIOS update methods are obscured (security through obscurity) mainly so as to prevent crackers from reprogramming or even deleteing your BIOS. Reverse engineering this type of hardware security is A LOT more difficult than software types. It requires some rather sophisticated equipment. All said, the method is actually rather simple but can differ from maker-to-maker and machine-to-machine.
BIOS programmers usually work from a source tree and configure to particular machines. The source trees are bloated and filled with old code. Some old code is actually required for backwards compatibility and legacy.
Hey! Mr. Computer Maker! If you actually want to get away from legacy, then QUIT SHIPPING LEGACY DEVICES. My company just bought a bunch of desktops and you shipped them with PS/2 type keyboards and mice. Stop that. You'll never get rid of the legacy ports if you keep providing the devices that use them.
Since the value-add protions of the hardware are proprietary, no manufacturer is going to open source their value-added hardware and give advantage to those designers that come late to the table.
There are several ways to make an open source BIOS work:
1) Standardize the hardware interfaces to the critical components. That is, the or-else-it-won't-boot features such as memory configuration should always be in the same place. Corporate folks would still be able to implement their proprietary features but allow for the possibility of an open source BIOS. Creating a standard interface to critical components would require a standards body. The problem is that you would wind up paying for hardware you CAN'T use if you use an open source BIOS.
2) Create a generic GNU-type computer design with no value add features. All other features would be through add-in cards. This class of computer would be dirt cheap, truly bring computing to the masses, and be perfect for developing nations, education, and hardware hacking. Since schematics and BIOS source code would be available it might result in a renewed interest engineering akin to the early days of computing. Open Source design tools are already available.
In either case, there needs to be some form of security or authentication process to prevent the undesired alteration of a system's BIOS.
Documentation of many features of a PC type BIOS are available from various chipset manufacturers and SIGs. Intel has a stack of books for each CPU and chipset. SMBIOS is available freely. Super I/O chip manufacturers have plenty of documentation... for each SIO chip. PXE (BIS - Boot Integrity Services) is available online at Sourceforge. All we need is a standardized hardware interface to make it work generically.
Re:What? (Score:3, Informative)
> X use the proper panel size on a laptop.
There's a patch out there that gets this working. Google for 1280patch. Yes, I work for a company that puts Linux on laptops [emperorlinux.com]. =)