For some time now, I've been thinking about the role of hardware in my life and how the concept of freedom applies to hardware.
I've come to the conclusion that hardware built from free designs (i.e. where schematics and the like are licensed under a free license) is as important as free software. I've also realized that hardware (not its design) is much harder to create than software, because hardware is not virtual and requires physical ressources to be manufactured. Free software is important to me because + I can study it + I can share it + I can change it + I can share my changes From here on, I'll use the term "open hardware" to describe hardware which is built from free designs. This is the term used by http://openhardware.org/ --- I'm not sure it's the perfect term, but it's short and concise, and it's really only the design that's free (as in freedom), not the hardware itself (I read somewhere that hardware can't really be copyrighted), so "free hardware" might be just as imperfect a term. At least "open hardware" already has a small following. For me and for most computer users, the freedoms to share and change the hardware are not very important, because it is very difficult (compared to sharing and changing software, which does not require physical ressources). The freedom to study hardware is however just as important as the freedom to study software. And studying a piece of hardware without the its hardware design available is as meaningful as studying a piece of software without its source code available (unless the hardware is very simple, which is rarely the case nowadays). So, open hardware is important to me because + I can study it + Others can base new designs on it By reading a little here and there on the web, I've found that most people, if not all, in the free software community like open hardware (or whatever they might want to call it), but that a lot find it less important than free software. This seems to be because of one or both of the following reasons: + hardware cannot be changed or shared by a typical user + hardware is too hard to create But just because something is hard to create does not mean it is not important to know how it works. And just because open hardware is not as practically useful for most users (including myself), that does not mean that it should be acceptable that hardware vendors hide useful knowledge (hardware design) from their hardware's users. I sometimes use the argument that free software is necessary because it allows the users to know what their computers do, which is important because computers are now an integral part of our lives. But the users can only fully know what their computers do if they know what their hardware does. In the case of firmware, I think it's ok to think of it as hardware if it's not made to be changed. It's still wrong that the firmware is nonfree, but it's not wrong the way that ordinary nonfree software is wrong; it's wrong the way non-open hardware is wrong. This applies to both firmware which cannot be changed because it's in ROM (which seems to be getting rarer these days), firmware which cannot be changed because that requires an extra almost unobtainable device (like some old mobile phones), or firmware which cannot be changed because the hardware interface specifications are not available. It might not always be necessary to have the design of a piece of hardware. For a simple piece of hardware, it might be trivial to figure out what it does and how; or the design for another piece of hardware with the same functionality is available. For example, there are probably free schematics available for an alarm clock, which in general should be quite simple in design, so it is not necessary that my alarm clock is open hardware (which I'm quite sure it's not). It would still be nice, but it's less important than freeing more complex hardware. As an example, think of a modern graphics card. It can hardly be called simple. Even if it has full interface specifications, it's so very complex that showing me a general description of how a graphics card functions is not enough for me tolerate that useful knowledge is hidden from me. This can be generalized: The more complex a piece of hardware is, the more important it is that the knowledge used to create it is available. The less complex a piece of hardware is, the more tolerable it is that the hardware designs are not available, as long as the designs of a similar device are. In any case, for every type of hardware in existence, the knowledge to create at least one "instance" of that hardware type should be free. I understand the free software community's focus on getting hardware that does not spy on its users and hardware with full interface specifications (I think Eben Moglen calls this "free hardware"). For computers which are complex enough to run software which is not just firmware, and complex enough to contain personal data, that's certainly very important and a difficult job in itself. I find that, assuming a piece of hardware neither spies nor hides interface specifications from its user, campaigning to run free software on it is different from campaigning to have it be open hardware --- free software and open hardware are separate movements with different problems to overcome. The free software movement is about developing free software and telling people that they can share and change it. The open hardware movement is about telling hardware vendors that we don't like hardware (which has little effect on them) with no available hardware designs, and that they should produce open hardware instead of non-open hardware, and it's about figuring out how to manufacture hardware from free designs (which is not easy). I wanted to write this because it was something I had been thinking about, and because I was curious what other people (you) thought about the role of open hardware. It was not meant as a "we should do this" message, but rather a "we should care about this" message. Do you agree with my thoughts? Disagree? Somewhere in the middle? Please tell. This seems like an old discussion ([1] and [2] date from before the year 2000), but I still think it is interesting to see what people think about it today. In any case, since hardware costs money to produce, I tolerate a lot of hardware which is not trivial and does not give me the ability to find out how it works. Interesting texts about these topics: [1] http://www.linuxtoday.com/infrastructure/1999062200505NWLF [2] http://opencollector.org/Whyfree/whyfree.html ----- Niels G. W. Serup
signature.asc
Description: PGP signature
