On 2016-08-25 at 09:35:12 -0400, Stefan Monnier wrote:
A definition that I like comes from Renzo Davoli and is basically that hardware is made of atoms, software is knowledge.
ROMs are made of atoms whose internal organization defines the behavior.
yes, and the description of that internal organization, whatever the format, is software
And while you can pass to someone a copy of the "source" (or binary) for that ROM, it's not the same as the ROM (the person has to build the ROM based on that code), so I think Renzo's definition very agrees that ROM is hardware.
of course the actual chip is hardware, but if somebody had the information stored on it in some other form, with the right tools and the right skills they could "easily" remove those atoms and change them with other atoms with the same information — or with a modified version of it.
It's not that different from a paper book: there you have an arrangement of ink atoms on a paper substrate that is hardware, but the knowledge provided by the book is software. As with a paper book, sharing the information/knowledge is not as trivial as with information in a non-encoumbered digital format, but with some work it is perfectly feasible to do so in a way that doesn't deprive the original owner of it.
And besides, also hard disks (and solid state memories, etc.) store stuff as an arrangement of atoms, it's just that those also provide a convenient interface both to read and to change it.
Of course, under this definition, today in 2016 it is impossible to buy a computer¹ whose software is completely free.
I think the usual A20 boards qualify: they have some ROM holding proprietary code within the SoC, but since that's hardware it's OK, and you can run pure Free Software on it (you may need proprietary software if you want to use MALI, and you may also need proprietary firmware to use surrounding wifi chips, of course).
I don't think so, at all.
The knowledge on how the A20 internals are made is not freely available: even if I had access to the right expensive equipment I couldn't legally produce one. The same applies to the handful of task-specific chips that those boards usually have. Then there is that proprietary code, that is stored in hardware, but is very much software. And then of course whatever comes around it (mali drivers, wifi chips, disk firmwares, etc.)
The A20 boards are fine (for me) today because there is nothing that is significantly more free that is able to do the same things, just like running GNU on a proprietary kernel was fine in the 80s before a free kernel was available, but it still very far from the ideal.