As someone who actually works on the boundary between software and hardware,
this all sounds a bit silly. The firmware is there to coax the recalcitrant
hardware into presenting something resembling a consistent and reliable
interface for the software to talk to. It should be considered part of the
You can make hardware reliable and stable, as long as
a) you don't want it to do very much
b) you don't care how much power it draws and
c) you don't care how big it is
None of those things are true for modern hardware. Everyone wants more
functionality in fewer square millimetres and with lower power consumption.
The hardware is, let us not forget, quantum mechanics in action. Its
behaviour cannot reasonably be fully simulated prior to manufacture, so what
you get is a chip with unexpected behaviour. Some poor buggers in the
firmware department then undertake the task of working out how to get it to
do what it said on the tin, so that people writing software (free and
otherwise) can do something useful with the published API.
Don't expect them ever to tell you what they did; they're not used to anyone
I'm sure we'll have free hardware eventually, but currently it's at the
noble experiment stage. When all the dedicated tinkerers I know have a
micro-fab in their garage and can play with new hardware designs, that's
when it becomes possible. And FPGAs don't cut it. I'm not holding my breath.
As for the philosophy; I don't see much similarity with Saint Stallman[tm]
here. For all his sandals and extreme hair, what he did in the beginning was
"There is no proper freedom in this area so I shall create something which
has it and give it away to fill the gap." - a creative response.
What I see here is "There is no proper freedom in this area so I shall take
something that already existed anyway and remove stuff." - a destructive
A response to match the ideals would be to start making free hardware.