decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Stallman Calls for Action on Free BIOS
Monday, February 28 2005 @ 12:18 AM EST


Stallman calls for action on Free BIOS

FOSDEM - Brussels, Belgium - Saturday February 26, 2005. Speech by FSF President Richard Stallman
The Free Software Foundation's Campaign for Free BIOS

In 1984 the GNU Project set out to make it possible to operate a computer in freedom--to operate it without any non-free software that would deny the user's freedom.

At the time, the obstacle to this was simply the operating system. A computer won't run without an operating system, but all the modern operating systems of 1983 were proprietary, user-subjugating software. There was no way to use modern computers in freedom. So we launched a campaign to change the situation by developing a free software operating system, called GNU.

When the kernel Linux became free software in 1992, it filled the last gap in GNU. The combined GNU/Linux operating system achieved our goal: you could install it in a bare PC, and run the computer without any installed non-free software.

Strictly speaking, there was a non-free program in that computer: the BIOS. But that was impossible to replace, and by the same token, it didn't count.

The BIOS was impossible to replace because it was stored in ROM: the only way to to put in a different BIOS was by replacing part of the hardware. In effect, the BIOS was itself hardware--and therefore didn't really count as software. It was like the program that (we can suppose) exists in the computer that (we can suppose) runs your watch or your microwave oven: since you can't install software on it, it may as well be circuits, not a computer at all.

The ethical issues of free software arise because users obtain programs and install them in computers; they don't really apply to hidden embedded computers, or the BIOS burned in a ROM, or the microcode inside a processor chip, or the firmware that is wired into a processor in an I/O device. In aspects that relate to their design, those things are software; but as regards copying and modification, they may as well be hardware. The BIOS in ROM was, indeed, not a problem.

In the decade since that time, the situation has changed. Today the BIOS is no longer burned in ROM; it is stored in nonvolatile writable memory that users can rewrite. Today the BIOS sits square on the edge of the line. It comes prewritten in our computers, and normally we never install another. So far, that is just barely enough to excuse treating it as hardware. But once in a while the manufacturer suggests installing another BIOS, which is available only as an executable. This, clearly, is installing a non-free program--it is just as bad as installing Microsoft Windows, or Adobe Photoshop, or Sun's Java Platform. As the unethical practice of installing another BIOS executable becomes common, the version delivered inside the computer starts to raise an ethical problem issue as well.

The way to solve the problem is to run a free BIOS. And our community has developed free BIOSes--for instance, LinuxBIOS, which is a modified version of the kernel, Linux. However, few computers can run them. Whereas "PC clones" were and are quite similar, and fully-documented as regards what the kernel and user-space programs need to know, the commands that the BIOS must execute in order to initialize the machine are varied, and in most cases secret. How to install a new BIOS is also secret on many machines. And so far, most manufacturers have not given us the necessary cooperation of providing these specifications. Some desktop machines can run a free BIOS, but we don't know of any laptop that can do so.

The FSF uses laptops donated by IBM over the past few years. This was one among several ways IBM cooperated with the GNU Project. But the cooperation is incomplete: when I asked for the specifications necessary to make LinuxBIOS run on these laptops, IBM refused—citing, as the reason, the enforcement of "trusted computing" http://www.gnu.org/philosophy/can-you-trust.html Treacherous computing is, itself, an attack on our freedom; it is also, it seems, a motivation to obstruct our freedom in other ways.

Not all of our community perceives the non-free BIOS as an acute problem. Much of our community supports the open source philosophy, which says that the issue at stake is choosing a development model that produces powerful, reliable software. The open source philosophy doesn't say that "closed source" software is unethical, only that it is likely not to be as reliable. People who hold those views might not care about the loss of freedom imposed by a non-free BIOS, because in their philosophy, freedom is not the issue. For us in the free software movement, freedom is the main issue; we have to solve this problem, whether they help or not.

Our quiet requests for manufacturers' cooperation have not solved the problem, so another approach is needed. Now we are asking you to help.

For instance, simply installing a new BIOS in the machine is a substantial challenge. Most manufacturers don't publish the information on how to do this. If you can figure this out for some recent model, especially a laptop, that would be a substantial contribution.

How to initialize the graphics is also a hard problem, which has not yet been solved for any model of machine. If you can figure this out for any one recent model, that would be a very important contribution.

Cooperation from the manufacturers would make these problems easy. However, to gain cooperation we need to press for it.

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.

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. See http://www.fsf.org/campaigns/free-bios.html for information on which companies cooperate and which models and motherboards are supported.

When you do this, tell your friends and your coworkers. And please tell us, too--please write to bios@gnu.org to tell us that you have chosen what to buy because it supports a free BIOS.

You can also help our campaign by writing to manufacturers such as Intel, expressing your criticism. Please send a copy of your message to bios@gnu.org, so we can monitor the support. Calm but strong disapproval with an intention to take action accordingly is more effective than rage.

We would like to offer positive inducements as well as pressure. Our idea is to endorse, for a period of time, the first manufacturer in a given category of machine (for instance, laptops) that cooperates fully with free BIOS. To make this offer effective, we would like to collect a long list of people who say they intend to make their choices according to our endorsements. See http://www.fsf.org/campaigns/free-bios.html for how to add your name to this campaign.

Once this campaign has built up strength, we will publicize offers of endorsements and begin inviting manufacturers to accept them. We will ask for your help at every step.


Copyright © 2004, 2005 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.


  


Stallman Calls for Action on Free BIOS | 179 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Stallman Calls for Action on Free BIOS
Authored by: Anonymous on Monday, February 28 2005 @ 12:33 AM EST
with the current flash roms it should be relatively easy. chipsets will
determine what/how it needs to do. sbh

[ Reply to This | # ]

Corrections Here Please
Authored by: iceworm on Monday, February 28 2005 @ 12:34 AM EST
Just the facts, please.

iceworm

[ Reply to This | # ]

LinuxBIOS
Authored by: Jack Hughes on Monday, February 28 2005 @ 01:04 AM EST
LinuxBIOS is _the_ freebios project (freebios is a predecessor, and openbios (If I get the name right) is a relative).

It is reasonably mature and is capable of booting a variety of systems with various operating systems - not just Linux

However, it has hard. You need hardware specs for various bits - which often aren't available or as comprehensive as they need to be. You need hardware specs for a lots of different components - especially video components. Also, the programming environment is hard - you have to be able to run a program before things like memory have been initialised. Debugging is also harder - it's relatively easy to burn a working bios into a flash memory chip. But if you burn a non-working lump of code - it makes things a little bit harder when you find that your machine doesn't work any more.

The area which has been driving LinuxBIOS development the most is in the area of High Performance Clustered Computing. When you have several thousand PCs in a cluster - you don't want to have to wheel a keyboard and screen round to every machine whenever you want to reboot. And you don't want it to take 24hrs to reboot the cluster. So a BIOS console which works over a network connection, rather than a VGA screen, and only takes a second or three to run is required.

Interestingly, from a Groklaw audience point of view, one of the main developers of LinuxBIOS works for (and is paid to work on the project by) LinuxNetworx. This company specialises in Linux Clusters. And is a Canopy company. And is doing very well out of writing GPL software..

[ Reply to This | # ]

OT here please
Authored by: whoever57 on Monday, February 28 2005 @ 01:06 AM EST
Code links as:
<a href="www.example.com"> Link description </a>

[ Reply to This | # ]

not a stable method but still a method
Authored by: Anonymous on Monday, February 28 2005 @ 01:08 AM EST
I know what people will say, but still. it works. and might be worth studying.

the "chernobyl" virus is one of many examples of computer viruses that
actually "flash" the BIOS. If the virus can do it, there is no reason
a legitimate software program can too.

there was an old one called "anti-exe" but that was for CMOS, still...
might help.

it should be easy enough to "Reverse-engineer" the code the companies
use - take a look at the assembly language, and then build something that does
something similar.
first step is to learn how, next step is to try and emulate it.
yeah DCMA and DRM and all that crap on reverse engineering. blah blah.

but what's next? open source micro-code ? that would be cool!
how about open-source code for cpus in cars or microwave ovens and the like?

i think we're seeing the beginning of a revolution (one that a certain groklaw
user predicted when groklaw first started btw !)

[ Reply to This | # ]

Stallman Calls for Action on Free BIOS
Authored by: darkonc on Monday, February 28 2005 @ 02:40 AM EST
4 days too late.
On Wednesday I ordered a new box. It arrived on Thursday. I did order an AMD CPU, (among other thingss, because they seem a bit more open-source friendly) but the board doesn't seem to be LinuxBios compatible (EliteGroup 741gx-m). I don't buy boxes very often (every few years).

---
Powerful, committed communication. Touching the jewel within each person and bringing it to life..

[ Reply to This | # ]

*Stallman* Calls for Action on Free BIOS
Authored by: Anonymous on Monday, February 28 2005 @ 02:52 AM EST
Whilst reading this, I thought: "Wow!, PJ has gotten radical..." (eg
...the unethical practice of installing another BIOS...), then I realized it was
RMS's words, though it is not clearly attributed. This currently reads as an
opinion piece from PJ.

Perhaps a ':' is required after the 'Stallman calls for action on Free BIOS' or
a '~Richard Stallman' somewhere.

[ Reply to This | # ]

BIOS flashing
Authored by: Anonymous on Monday, February 28 2005 @ 03:25 AM EST
I think the BIOS flashing procedure is not very difficult. I've found the specs
of various EEPROM chips that explained how to flash it (it is very possible that
more recent ones have no specsheet available). Now, what is really difficult is
to find the specs of the various chips on the motherboards and how to initialize
them.

Loïc

[ Reply to This | # ]

Definitely Non-Trivial
Authored by: Anonymous on Monday, February 28 2005 @ 03:35 AM EST
Just as a data point, consider the IPL process from IBM's System/360 machines
dating back 40 years (going from memory)...

You dialed in a channel and unit address (cuu) on the front panel and the hit
the "IPL" button. The system would then read 24 bytes from the first
logical record of that device (cyl 0, head 0, record 0 for a disk drive). It
would execute a channel command using the second set of 8 bytes as a channel
command word (ccw). On completion of the channel command process (you could
link ccws together, and the the third set of 8 bytes was normaly a second ccw),
the first 8 bytes were loaded as a program status word (psw). At that point,
there had better be runnable code located at address indicated in the psw for
the next instuction.

I once wrote, hand assembled and hand punched a 2-card object deck loader, where
the first card was an IPL record and the second card was the load program.

[ Reply to This | # ]

broken link.
Authored by: rusty0101 on Monday, February 28 2005 @ 03:51 AM EST
In the article there is a link, ostnesibly to a list of manufacturers and boards
that support free bios, http://www.fsf.org/campaigns/free-bios.html

I am not going to wrap these in html, you should be able to find that link in
the article yourself.

Following that link takes you to this same article on www.fsf.org. Ok, it's the
same article, lets find the link again, and follow it from there. Ah, there it
is, http://fsf.org/free-bios/

Now it just might be my proxy server having problems, but for whatever reason it
does not resolve fsf.org to an address, and simply punching www.fsf.org in its
place takes me back to http://www.fsf.org/campaigns/free-bios.html, the article
again.

i.e. there does not appear to be a workable link to the list of manufactureres
and motherboards which support free bios.

As I say, this might be a flaw in my system. Anyone else find something
different? Do you have an IP address hardcoded for fsf.org by any chance?
Attempting to ping it from my computer ends up with an 'unknown host' error.

~Rusty

[ Reply to This | # ]

What about embedded GNU/Linux devices?
Authored by: Anonymous on Monday, February 28 2005 @ 04:43 AM EST

When you consider the number of mobile phones/PDA's/discrete devices that are
now using Linux, there could be a large basis for manufacturer pressure. If the
makers of these devices know that you are choosing them because of the OS
choice, then they would have the incentive ( and the monetary clout ) to
"persuade" the chipmakers/boardmakers to follow this.

Sig. Measure Twice

[ Reply to This | # ]

If Intel won't play, and AMD drag their feet ...
Authored by: Anonymous on Monday, February 28 2005 @ 04:44 AM EST
Can one get a motherboard at similar cost & quality with a Power chip or
hopefully, soon, a Cell chip - and using industry-standard bus & component
interconnects such as PCI, PCI express, AGP, SATA, USB2 and IDE ?

I hear rumors of IBM thinking of a Cell product with superior perfomance to dual
Xeons but at 1/3rd the price. Maybe we can have that with an open BIOS?

I have also heard tell of an Open 3D graphics card project.

With a bit of luck and enthusiasm in the right directions, maybe the Wintel
desktop lock-in can be broken.

[ Reply to This | # ]

RMS biting the hand that feeds him again?
Authored by: Anonymous on Monday, February 28 2005 @ 05:04 AM EST
It must be a month with an 'r' in it.

It's just occurred to me that RMS is probably the single biggest influence in
keeping BSD development going.

[ Reply to This | # ]

It would be nice to win one battle before starting another
Authored by: Anonymous on Monday, February 28 2005 @ 06:25 AM EST
so if this same code was burned into ROM's that meant that you had to throw the
device away and buy another one when an update was needed you would be happy,
but becouse the vendor gives you a way to change the software inside the flash
you now demand it's full source and specs as well

way to go, you are undercutting people who are still trying to get the API specs
to write device drivers to talk to the device at all. demands like this just
convince the reluctant manufacturers that nothing that they do will ever satify
people, so why should they try in the first place.

remember that nowdays even your CPU has software on it (the microcode for Intel
and AMD, a whole lot more for transmeta).

now the 'trusted computing inicitive' is a target worth fighting against, but
the way to fight that isn't to work to replace it yourself, it's to convince
people that it's a bad idea to start with, otherwise you may be running a free
system, but nobody else in the world will be and you will need 5 years of
development work to get any new system you buy to work.

[ Reply to This | # ]

LinuxBIOS
Authored by: Stumbles on Monday, February 28 2005 @ 07:36 AM EST
The LinuxBIOS Home Page webpage for more particulars.

---
You can tune a piano but you can't tune a fish.

[ Reply to This | # ]

BIOS Flashing - I Don't get it
Authored by: Anonymous on Monday, February 28 2005 @ 07:46 AM EST
As someone who flash's BIOS's fairly often it is not a big deal. It used to be
a matter of booting to floppy and running the program. Now it can sometimes be
done from within the OS. The programs used to do the loading a pretty generic
based on "download xxx.exe and use it to load upgrade.dat" type
instructions. That tells me that it should not be very hard to figure out how
a company loads the BIOS. What is in the BIOS is another story. ;-)

[ Reply to This | # ]

Off the Mark
Authored by: Anonymous on Monday, February 28 2005 @ 08:13 AM EST
I think this is conceptually off-the-mark. While I like the idea of a free BIOS
that can be used on hardware, fundamentally firmware has more in common with
hardware than with software. The only reason to update BIOS code anymore is if
you are actually having significant problems that are resolved by a new level of
such code.

Basically, the BIOS/firmware is just a layer of code that gives the software a
standardized way to talk to the hardware without having to write individualized
machine code into the software to do so. It is no accident that said
BIOS/firmware is housed on a chip. The only reason manufacturers started making
it so end users could flash the ROM at all was so they could speed their
equipment to market, then send out bug fixes afterwards.

As a technician myself, I can understand why manufacturers aren't exactly
jumping to provide these specs. "Oh, I flashed my BIOS with 'Bobs BIOS
Booter', and now my machine doesn't work. Replace the motherboard, please,
since that's the only way to fix it." Response: "I'm sorry, sir.
That's billable." "WHAT!?!?!?!?!" Basically, for manufacturers,
the BIOS is still hardware, not software.

Note, I actually support the idea of a free and open BIOS. However, PC hardware
is so standardized at this point, perhaps it isn't the right battle to fight at
this particular moment, at least not until headway on the computer desktop is
made to getting rid of proprietary-lockin and disgusting EULAs.

Sincerely,
Brian

[ Reply to This | # ]

Warranty issues?
Authored by: tiger99 on Monday, February 28 2005 @ 08:25 AM EST
Part of the problem is that no motherboard manufacturer wants to have to cope with warranty difficulties and teh inevitable disputes which will occur when some people attempt unsuccessfully to upgrade their BIOS, which is typically in flash memory. In the majority of cases, that will leave the machine unbootable, the only fix, assuming the BIOS is socketed, is to replace it, or copy a known good one from an identical motherboard using an external programmer, which few people have.

Some machines have a dual BIOS (Gigabyte if I remember correctly, I have two such machines at home) which removes most of the risk. Some keep the vital part of the boot loader in a protected area, so only the bits relating no peripherals not essential to the boot process can be rewritten, but in most cases something as simple as a power interruption during BIOS rewriting will trash your motherboard. The cost of swapping a soldered BIOS will usually make a new motherboard more viable.

I remember one supposedly smart person at work some years ago who arrived on Monday morning, and asked me why his almost new home computer, containing vital data, would no longer boot. Of course the activation date of the Chernobyl virus had been at the weekend, he had no backups whatsoever, nor any anti-virus precautions, and needed a new motherboard, as well as being unable to recover data from the disk, which needed to be reformatted. An expensive lesson.

Much the same thing (as far as the motherboard is concerned) will become commonplace if people start updating their bIOS for no good reason. So, the manufacturers have reasonable grounds for withholding information in this case.

However, I do see the need for a better BIOS which is in fact a proper OS in itself, so can be used to do data recovery and restoration from backups, when the main OS has trashed itself, as some inferior ones do (we all know which!). I notice that Sun use a thing called OpenBoot, which is not very sophisticated (and my experience of it is so far limited) but does allow you to do certain things without an OS. That seems to be heading in the right direction, but only on SPARC machines, not PCs.

Another reason why manufacturers wil be unwilling to divulge information on teh motherboard chipset is that it will inevitably be used by stupid overclockers to overstress their hardware even more, so yet more warranty claims. It may be difficult to prove that premature failure was caused by overclocking.

On an ancient PC/AT for example, the BIOS code was contained in the Technical Reference Manual, available at modest cost from IBM. Of course it was copyright, so you could look, and find out how the hardware worked, but not of course create a derivative work. But in any case the hardware functionality could be inferred from the circuit diagram and Intel data book, so it was quite feasible to make your own BIOS for special purposes.

The issue now is simply that the motherboard and its chipset are in general not documented properly, and such documentation as is available is generally very limited and often incorrect. So engineers who know what they are doing, and really need a different BIOS, perhaps for a safety-critical application, or one with no disks, are in much teh same position as FOSS developers. It is not satisfactory, but due to the potential for warranty problems, I don't really expect that it will change any time soon.

But meanwhile, if AMD provide better documentation, the choice is obvious. In my opinion their hardware is better too, and certainly cheaper.

But the real answer is a FOSS motherboard design, although due to the impracticality of developing complex silicon, its developers would still be at the mercy of the chipset manufacturers. But at least some aspects of the design could be done the way we want it, such as maybe 32MB or more of BIOS memory to accomodate decent-sized programs. Others will have different features that they would want too.

[ Reply to This | # ]

No 64-bit Free Bios
Authored by: Anonymous on Monday, February 28 2005 @ 08:38 AM EST
There will be no 64-bit "free" BIOS. Intel learned its lesson with the
current 32-bit instruction sets. To prevent cloning, both Intel and IBM have
patented the new 64-bit instructions added into the current instruction sets.
You can't even write a compiler that doesn't violate their patents on the new
generation of CPUs.

[ Reply to This | # ]

Or maybe start from scratch ...
Authored by: mikeprotts on Monday, February 28 2005 @ 08:42 AM EST

Maybe we should be thinking in terms of an RFC with a reference design for an open and free boot environment.

This may be possible to implement with some existing hardware, but equally it might be better to start with something that would be able to support current hardware in 'legacy' mode, and have a cleaner design for future. With systems such as bochs, simh and simics, there must be something we could use as a starting point.

The nearest I could find to an open specification is the Simputer (http://www.simputer.org/) - not entirely free, but looks interesting.

Cheers
Mike

[ Reply to This | # ]

I see a new war starting
Authored by: Prototrm on Monday, February 28 2005 @ 09:11 AM EST
Imagine what will happen once people can easily flash an open BIOS into their
computers. The computer companies will find ways to prevent a replacement BIOS
from working (or even from being installed), in an effort to support the Trusted
Computing initiative. And bypassing this mechanism will be against the law in
the US, thanks to the DMCA. In fact, a smart lawyer might be able to argue
successfully that the current efforts to replace the BIOS are against the law
today, but this would definitely be the case should some sort of DRM be added to
it. And let's not get into the possibility of patents.

Even if the law is not involved, however, we face the possibility of a Code War,
as the companies fight to secure the BIOS, while others fight to keep it open.
Whichever side wins this war, I can see innocent bodies left in its wake:
users.

Is an open BIOS a good idea? Yes. Is it practical? Maybe. Is it without bad
consequences? I don't think so.

One thing's for sure. Computer companies need to prevent viruses from making
changes to the BIOS. In doing so, they may well view an open BIOS as just
another threat to the system. How would the system know the difference?
Co-operation, rather than reverse engineering, may be more difficult to do, but
it is a better solution than war.

[ Reply to This | # ]

Stallman Calls for Action on Free BIOS
Authored by: philc on Monday, February 28 2005 @ 10:51 AM EST
The BIOS is really more HW than SW. It provides a common programming API to the
HW. Updating a BIOS image to flash is possible on a number of systems but that
is a minor comfort. The real problem is creating a BIOS that works.

Each architecture has its own approach. The common x86 architecture is still not
all that common when you take a close look. The idea of an independently created
BIOS is interesting because many systems depend on the same chips and reference
designs. It is possible to guess and come up with a BIOS that almost works.

The problems come when a vendor deviates from the reference design and produces
a system with a different collection of chips or a different interconnect of the
chips. This includes custom ASICs or FPGAs which glue the components together.
In the case of the FPGA, the firmware that defines the API and operation is
downloaded. This is common on laptops and some leading edge systems. The BIOS
must be customized to properly initialize the system.

The vendor usually starts with a standard BIOS and modifies it to support the
target system. Much of this is done by the BIOS engineer and HW/ASIC/FPGA
engineers going over the BIOS and schmatics and more. Little of this is ever
documented in an indpepndent way that could be offered to the public. It is
often done in notes on the design and comments in the BIOS. Also, there are BIOS
hacks to work around HW issues in various revisions of the board. These changes
are rarely documented either.

You can download a verion of Linux build it for your system and expect it to
work. When it comes to BIOS you would have to download the BIOS for the specific
revision of the system board, build it and install it. Installing the wrong
version or a buggy version can require a HW repair.

It also increases the support cost. Debugging BIOS is very difficult. BIOS bugs
often end up in HW debug setups to isolate the real problem. The BIOS engineer
and HW engineer work closely in setting up tests and analyzing results. Its hard
enough to get BIOS to work to not want to support third parties also writing
BIOS.

Personally, if I were a system vendor I would not release documentation on how
to write a BIOS for my systems. The BIOS and commonly available chip
documentation provide what is needed to program the system. Exposing low level
HW details dramatically increase cost, time to market and limits flexability to
change the HW/ASIC/FPGA to address problems. The exercise has to be repeated for
each and every system design.

[ Reply to This | # ]

Stallman and Ethics
Authored by: rsteinmetz70112 on Monday, February 28 2005 @ 11:43 AM EST
I have for years watched RMS and FSF preach Free Software. He approaches
software development from an almost religious perspective and is largely
responsible for that view of Free Software. He is also largely responsible for
fostering its growth. RMS is by any definition a revolutionary. He is clear in
his beliefs. The quote below from his GNU Manifesto complete with overtones of
Marx and 60's counter-culture idealism is clear enough.

"I consider that the golden rule requires that if I like a program I must
share it with other people who like it. Software sellers want to divide the
users and conquer them, making each user agree not to share with others. I
refuse to break solidarity with other users in this way. I cannot in good
conscience sign a nondisclosure agreement or a software license
agreement."

All of the being said, the GPL is a thing of beauty, if accomplishes it goals
perfectly.

The GPL, however, is not the only way to successfully develop software, nor does
it necessarily fit all software applications. Some applications are so unique
that the only way to develop them is individually. Some applications are so
critical to certain organizations, they must be held confidential and access
restricted. Some applications have utility to such limited groups that the most
economically efficient way to serve those groups is to develop software and
restrict distribution to those who contribute to support it. None of these
choices is in my mind unethical in the sense that Stallman uses it. They are
simply choices.

Had Microsoft not created such enmity between itself and the rest of the world
by its actions, Linux might not have taken off. A large part of the success
Linux is currently enjoying is due to that legitimate anti-Microsoft reaction.

I would point to some "closed source" companies like Apple, (which is
endorsed by PJ) which successfully develop loyalty and passion in their users.
There have been other companies. There is a continuum of development models
ranging from Microsoft's predatory behavior to Apple's closed model, through
Sun's Open Standards, IBM's Decidedly mixed model past Stallman's
"Free" to BSD's almost unrestricted license. There is even Public
Domain software which anyone can use for any purpose without any restriction,
this is the freest model of all.

---
Rsteinmetz

"I could be wrong now, but I don't think so."
Randy Newman - The Title Theme from Monk

[ Reply to This | # ]

Why a free BIOS is important
Authored by: Anonymous on Monday, February 28 2005 @ 12:29 PM EST
Several reasons: * To ensure that we can boot the OS we choose. I'm continually astonished that MS hasn't yet prodded Phoenix (or someone else) to produce a BIOS that won't boot Linux (requiring some complicated "secret handshake" with the OS). On the other hand, that brings us to the next point... * Trusted Computing. It's incompatible with an open-source BIOS for the most part. Of course, never forget that Trusted Computing is incompatible with any open source software; implementation of TC will likely lock out Linux (or any other non-trusted OS).

[ Reply to This | # ]

Stallman Calls for Action on Free BIOS
Authored by: Anonymous on Monday, February 28 2005 @ 12:31 PM EST
What about the hard-disk firmware? Or Video BIOS? Or the CPU micro-code? Or the
source for the PIC that controls my washing-machine?

I'm the only one that thinks RMS is asking too much? I don't think that we could
work on a 100% OSS machine.

[ Reply to This | # ]

Article off the mark, but still a need for Free BIOS
Authored by: Anonymous on Monday, February 28 2005 @ 12:47 PM EST
While it is important for a Free Bios, it is not for the reasons mentioned in
the article. The only valid reason for a Free BIOS is so that vendors can't put
in obnoxious controlling software, such as detecting the type of OS installed on
the machine and failing to boot if it doesn't meet some arbitrary test (think
Broadcast Flag for PCs). Other than that the BIOS isn't important in a Linux
world, as Linux throws away the BIOS once it loads and never ever calls it
again. I can't see what the difficulty is on creating a BIOS, at least not for
an IBM clone. There are numerous documents on the chipsets used in standard PCs
and on the commands used, not to mention engineers guides giving rather
intricate details of chips. The trouble comes from proprietary ROM chips. Which
could be reverse engineered by component level diagnostics. Nothing a good PC
technician couldn't have done 10 years ago. Additionally, any chip not well
documented could be easily reverse engineered to a gate level by simple
blackbox/component diagnostics. Lastly, most devices have already been diagnosed
and it is a simple matter to look at the code for device drivers on how to
load/initialize devices.

[ Reply to This | # ]

Since you want FREE...
Authored by: Anonymous on Monday, February 28 2005 @ 02:21 PM EST
Why not just create your own specificatoin for the hardware and bios too.

This way, you can build your own PC.

Why not then just create a Free PC company which builds Free PCs including
hardware?

Hardware can be extremely proprietary as well.

Why not just create your own open-spec CPU and chipset?

You can expand the war by going to extremes.

Realize that just because you have FREE Software, does not mean you have
FREE Hardware.

Always realize that proprietary hardware is always at the leading edge of
development and innovation, just as proprietary software is. Money is the
biggest incentive for innovation and quality.

Free usually means copying someone else's work, just as Dell does.

But then, Dell is the most popular brand. So if people want free, they can
have it. If they want quality or innovation, they can go to proprietary brands

also.

[ Reply to This | # ]

Stallman Calls for Action on Free BIOS
Authored by: Anonymous on Monday, February 28 2005 @ 03:29 PM EST
That's why software like this is called firmware, let's at least use the correct term. It can sometimes be changed and upgraded through special procedures by the manufacturer but it's not generally user modifiable software and it's not hardware it's firmware. Note although firmware can exist in ROM usually this ROM can be erased flashed with new instructions or upgrades so it's typically EEPROM.

[ Reply to This | # ]

Stallman Calls for Action on Free BIOS
Authored by: Anonymous on Monday, February 28 2005 @ 04:13 PM EST
Uhm, I went to the RMS speech on FOSDEM, and it wasn't about Free BIOS, it was
about copyright reform.

Did I miss something essential?

[ Reply to This | # ]

  • And did I ? - Authored by: Anonymous on Monday, February 28 2005 @ 08:11 PM EST
Why the tone?
Authored by: Anonymous on Monday, February 28 2005 @ 05:33 PM EST
What's going on with RMS? Why does he always have to attack the open source
camp? If anything, open source made his software much, much more popular, so
people actually get to use it. Oh, I get it, it's not about popularity - it's
about freedom. Except that if the software ain't popular, it's irrelevant, so
there is no freedom either.

I just wish RMS lived in a more real world...

[ Reply to This | # ]

Maybe a step back might be in order ...
Authored by: Anonymous on Monday, February 28 2005 @ 08:01 PM EST
I think we should re-think the way we build computers.

[ Reply to This | # ]

Stallman Calls for Action on Free BIOS
Authored by: rminnich on Tuesday, March 01 2005 @ 01:15 AM EST
I started the linuxbios project in 1999 here at LANL, and figured I would address some of the issues raised in the comments. There's a lot of misconceptions about BIOSes and they keep cropping up.

First, is Open Firmware as found on Apples/Suns open source? No it is not. Open in this case means almost nothing. This conforms to the old rule: if it has open in the name, it's most likely not.

Who needs such a BIOS?

Clusters do. We've got almost 3500 machines here that run with LinuxBIOS in our clusters. LinuxBIOS greatly reduces the headaches that come with standard BIOSes. Just imagine being the poor guy stuck with rolling a monitor cart around to 3500 nodes to change a BIOS setting. It happens at other sites, but not here. It's not fun -- I know the people who have the monitor carts.
LinuxBIOS also allows us to use Myrinet or Quadrics or Infiniband or other HPC networks to boot the OS, instead of just Ethernet. Hence many of our clusters don't even have ethernet on each node -- just one fiber, that's all we need. Fiber is lighter than copper, to say the least. You really need to see 1024 CAT 5 cables to appreciate how bad it can be.

Anyone else? Yes, embedded apps such as the irobot.com robots in Iraq that get blown up while probing minefields. These run Linuxbios. Boot time matters. Other embedded apps such as routers, appliances, test instruments, and so on routinely use LinuxBIOS. It's not just for PCs. One reason vendors like LinuxBIOS is that the code is clean, maintenance is distributed, and, as in Linux, the support group is global and easily accessed. Hardware companies have told me they like the idea of an open source BIOS -- they are no longer hostage to a proprietary BIOS company. The arguments that favor open source OSes also favor open source BIOSes.

Anyone else? Yes, indeed. I have people write me all the time with applications I would never have thought of, the most recent being a car stereo. Other people really want LinuxBIOS on their desktop -- for lots of reasons, some being they no longer trust what the BIOS is doing behind their back.

Is LinuxBIOS just for PCs? No. It runs on Power PC in 32-bit mode, and there is an effort to port it to PPC 970 in 64-bit mode. LinuxBIOS has already shown its portability with the Alpha machines.

Should users be flashing their own BIOS? In most cases, of course not! Buy motherboards from companies that ship linuxbios already installed, such as Tyan.

But it's not hard to flash, right? Actually, it's mighty hard on some platforms. I've done a lot of chasing down of "how to flash machine X" and I can tell you that vendors put "secret enables" into the mainboard to make it hard to reflash. Sure, SOME viruses can reflash SOME BIOSes, but in the general case it can be very hard. You don't want to use DOS- or Windows-based "flash.exe" programs, either, unless you really want to do that 3000 times. On one cluster here, I can reflash 1024 nodes in 30 seconds. That's the kind of performance you need for maintaining these types of systems.

"It's not hard to write your own BIOS, right? It's just a PC clone". I hear this one all the time. It's very hard to write these things the first time. It gets easier as you get more and more platforms under your belt. But until the vendors decide they want to play ball, it will continue to be hard at times.

"There's no business case". Tell that to Tyan and Linux NetworX. Linux NetworX has done very well by being expert contributors and integrators of LinuxBIOS. So have Linux Labs and several other companies. There is a business in open source BIOSes!

Hope this helps.

ron

[ Reply to This | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )