Posted by: Anonymous
on August 03, 2008 08:31 AM
So, let me see if I understand things correctly. If a hardware manufacturer decides to save a few bucks on his hardware design and lets the device driver loads the firmware (as opposed to have it stored in an expensive flash memory unit, or something similar) then Olivia argues that that piece of firmware must be OSS. Why, and why should not firmware that is stored on the hardware be OSS in that case?
Having OSS firmware would also complicate things hugely. I doubt much of this firmware could be compiled using the gcc compiler or x86 assembler. So, in order to build a kernel with OSS firmware components a range of different compiler and linker tools would have to be applied, and presumably distributed with the kernel is source code form (such that they can be built on the various platforms that linux should be compiled on). And then there is the even bigger question: who will maintain these OSS firmware components? Yes you can change them to your liking, but can you really? Firmware is generally fairly hardware oriented and to do anything useful with the firmware you would probably need a pretty complete description of the hardware. Writing device drivers is considered by many to be complicated enough. Here we are talking about writing the interface for the drivers, which can be even more complicated.
My opinion is that the linux-kernel should remain a kernel and not turn into a firmware project. Kernels speak to hardware and modern hardware incorporates software (firmware) to make interfacing easier and quicker, and I therefore see no reason to require firmware to be OSS simply because it is loaded by the kernel.
To one of the previous posters: Firmware that is loaded by a driver is no more buggy than firmware that is loaded by the hardware from memory at boot time. Note also that most wifi adapters use firmware in one form or another. Best of luck finding a wifi adapter and webcam that does not use firmware (you may find adapters that loads the firmware of on-board memory but they still use firmware).