Hello all!
I am new to Trisquel and am looking to use free software since I think freedom is very important (though ironically I'm posting this from Windows since the computer I'm on atm refuses to work with anything other than 8.... gotta love "new innovative hardware" *rolls eyes*. I'm a student so don't have any money but hoping in the future to get a freedom respecting machine). Anyway this is a question that has been eating on me for a while and I can't really seem to come to a conclusion myself from what I read online.

I agree with the move Trisquel and the FSF pushes for, to remove the non-free blobs from the linux kernel because they are just that: non-free. No access (or at least, no free as in freedom access) to the source code means that nobody, other than the the original developer can control it, thus it is software that controls the user. This question comes from a difference perspective however, software stored on a non-rewritable ROM which nobody can modify once wrote to, and why are they acceptable but non-free blobs are not?

Before answering that question let me explain how I understand it more in depth. Perhaps I have misunderstood the issue somewhat and in that case someone please let me know.

First, the BIOS. At the FSF, they are lobbying for a free BIOS . The reason, because in the past the BIOS was on a ROM and thus was not changeable at all, it was basically like hardware, like the program that runs on your microwave oven and can't be changed. Today however, the bios is flashed in a user flashable memory, so now it is more like softwre. On that page it says this:

"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."

So I agree that when a program is on a ROM there is no point to having the source code anyway since it can't be changed without changing the physical piece of hardware, but this begs the question, where do we draw the line for when source code must be free and when it doesn't in the terms of a ROM.

For example, a CD is a ROM. You can't change it, to try to do so would simply destroy the CD. So if I distributed a program that ran from a CD-ROM it would be okay to not provide the source code because it can't be changed anyway? What draws the line for the difference between a CD with a program and a ROM with a BIOS, or firmware for a GPU, or whatever it is. Does this also mean that it would be okay for Microsoft to provide a copy of Windows on a PC loaded from a ROM rather than a hard disk? Of course they wouldn't be able to update it without changing the ROM physically, but is this okay? Under the terms that seem acceptable to the FSF I would assume yes? I don't think it is though, so what draws the line of running something like Microsoft Windows in a ROM vs running a BIOS, firmware or anything else. All are programs, the only difference is they are different types of programs.

Looking for an answer to this the best I could find this this blog post which of course, does not answer the question, at least not in the terms that I understand. It seems that the blog writer was wondering too, just like me why blobs in a ROM is okay but not in the kernel.

So, can anyone explain to me what the difference is and why blobs are okay in a ROM but not in the kernel, because it looks to me that it's not okay in either case?

Eagerly waiting replies! Thanks everyone!
-Jonah

Reply via email to