So what would free designs look like by comparison?
In practice, some of the features of this list are already realities, and some are becoming so. Its often assumed that `free hardware design' is beginning only now, as a side effect of the free software movement; in fact, many of these ideas are anything but new, and free hardware design was born with free software.
The 60s student movement in the US, based around the SDS (Students for a Democratic Society) had tried to work for a participatory democracy based on community activism. By the early 1970s it was becoming evident that networked computers could be the basis for a new type of communication that could reinforce and extend communities, an alternative to the centralized broadcast medium of the press (even the underground press): a medium for active participants. But the existing computer technology could not easily be used for this purpose: the first community bulletin boards depended on donated mainframes, a rare and almost unintelligible resource brought in from outside the community, where the skills to run, maintain, repair, and develop them were likely to be almost nonexistent.
At the same time, small, medium and eventually large scale integration TTL devices were becoming easily available. They were ideal for the hobbyist: simple, cheap building blocks which could be put together easily with the simplest of tools { veroboard, wirewrap, or home-made PCBs. Frequencies were low, and most analogue effects could be ignored: the most horrible looking rats nest of tangled wires had some chance of working. A large pool of individual hobbyist designers began to emerge.
One person with a foot in both camps -- working as an electronic designer, involved in the Berkely Free Speech movement and now maintaining the first community bulletin board system -- was Lee Felsenstein. He had recently read Ivan Illich's `Tools for a Convivial Society':
An individual relates himself in action to his society through the use of tools that he actively masters, or by which he is passively acted upon. To the degree that he masters his tools, he can invest the world with his meaning; to the degree that he is mastered by his tools, the shape of the tool determines his own self-image. Convivial tools are those which give each person who uses them the greatest opportunity to enrich the environment with the fruits of his or her vision.Lee's stroke of genius was to see how to apply these rather abstract ideas to the concrete problems of the community bulletin board systems: the new computers (initially, just the terminals) should be designed and built collectively, tapping into the energy of the individual hobbyists scattered across the country, and creating pools of people in each community who knew and understood every detail of the systems they were running. The maintenance and repair problems would disappear. To take on a use as `tools for conviviality' the whole design process for computers needed to be inverted, to become a convivial process in itself.
Lee's first attempt to realise this goal was to design the `Tom Swift Computer Terminal', for which he distributed the schematics as widely as he could
``Hardware reliability was an obvious problem ... My way out of this future problem was to design an all-purpose `convivial cybernetic device' as a terminal/concentrator/processor in such a way that amateurs would be encouraged to get their hands on it. In theory, each place where one of the `Tom Swift terminals' was installed would develop a computer club. Then, when a terminal broke down, relief would be a local matter, and people would not have to place their faith in a remote maintenance system.''The second was not a design at all, but an organization: the Homebrew Computer Club, started by a group of 5 activists and engineers. Growing from 30 people in its first meeting to 600 within a year, the club encouraged the flourishing of cooperative homebrew computer design. Designs, even those which became commercial products such as the first Apple, were shared, discussed, and fed into one another. The direct and indirect influence of the club spread far outside the US.
The initial home computer `industry' was thus a loose collection of small manufacturing companies and hobbyist groups (often the same people), built on a culture of openness. By the time the old computer companies realised that there was a potential market for them here, they were too late to impose their desired closed systems. In spite of the corporate spin that IBM put on developments
``It is choice that is the underpinning of IBMs commitment to open architecture: providing information and specifications which encourage others to develop options and programs that run on our systems. This approach has enabled hundreds of companies and individuals to develop hundreds of hardware peripherals which people can choose for their IBM Personal Computers.'' [P.D. Estridge, then president, IBM Entry Systems Division]the participants of the Homebrew Club were quite clear that they had managed to impose their way of doing things:
In 1978 IBM put its foot over the line and said `that's mine' with the 5100, a bread-box size wonder of incompatibility that epitomized the IBM way. They don't like to talk about what happened to them. In 1981 they returned with the 5150 (the PC), and with it they followed the rules we had laid out. Anyone can play, these rules read, but you must make your architecture and executive code as public as possible, and you must encourage individuals to write programs and create add-ons. You can play games, but you must help others to play as well.\cite{Felsenstein84}
The first wave had worked with sharing of designs based round commodity ICs. The internals of these ICs were well documented, so this had not been a problem. The designs themselves were largely drawn by hand, as were the commercial ones of the time. Chip designs were not hugely complex logically, but creating them did need a deep knowledge of semiconductor physics - a knowledge restricted to the engineers of the relatively small number of companies that produced them (which at that time usually implied owning their own fabrication equipment).
By the late 1970s this transparency was beginning to disappear: the size and complexity of chips was becoming enormous. Chip designers creating cus- tom designs needed a knowledge of all levels of the device, which was becom- ing increasingly unmanageable. There were two requirements: to separate the physical design of the chip from logical design and architecture, and to start automating the process of deriving one from the other.
This was not just a technical problem, but a social one: it required the creation of a pool of engineers who could work in the new way. The impulse for its solution came from two people who saw this very clearly: Carver Mead and Lynne Conway. The method they invented correspondingly had two parts: a technical part, involving the reduction of logical designs to simple diagrammatic representations with a direct, physically viable, semiconductor implementation; and a social part, which was the invention of what Eric Raymond would years later call `the bazaar'. Lynne Conway's paper The MPC Adventures is a textbook description of how to create a bazaar-style community:
From an initial base in Xerox Parc, Caltech, and MIT, the method rapidly spread across the US and then across Europe. Initially, the main software used was simply for layout; but the software needed to be free to encourage the spread of the method. This was before the creation of the FSF and GPL, but Chipmunk, the descendant of Mead \& Conway's original software is still used for teaching and research, and is now under the GPL. As the method spread so the pool of people able to design ICs grew at a tremendous rate, creating a great flowering of university-developed design automation software, most notably in Berkeley and Stanford, but also in European universities such as Delft. Magic for layout, SIS and Espresso for logic minimization, Ocean for sea-of-gates designs, Olympus for synthesis: all were naturally created under free licenses. For a period the state-of- the-art in design software was free software, and even now nearly all of todays closed-source design tools contain some elements from these programs.
The survivors of the first wave had seen technology change from under them: increased miniaturization, higher clock rates, multilayer PCBs, circuits dependant on custom ICs: all made it increasingly difficult to produce designs not hopelessly outdated. A period of nostalgia settled in, with many content to update the designs of the early 80s.
In spite of this, many individuals carried on with their own designs or work on EDA software. And from the mid 90s technological and social changes once again drove a new flowering of free hardware design, which could also build on the experience of the past.
Among the new elements driving free hardware design now are:
The Simputer is not a Personal Computer in the conventional `PC' sense. The `Win-tel' architecture of the de facto standard PC is quite unsuitable for deployment in the low-cost mass-market of any developing country... [the Simputer] is targeted as a shared computing device for a local community of users. A local community such as the village panchayat or the village school, or a kiosk, should be able to give this device out to individuals for a specific period of time and then pass it on to others in the community.Designed with this application in mind, the Simputer is heavily based on personalization through the use of smart cards. Other related designs are the MIT Pengachu (designed for minimal power consumption, perhaps even wind-up). The Brazilian equivalent, LUAR, unfortunately seems to have been designed in a closed-source style (though the software is free).
Open Design Circuits are the chip design counterparts of Open Source Software with designs (sources) openly shared among developers and users. The open-design circuit approach outlined here captures the true advantages of open-source software, and aplies them to hardware. It avoids the large initial investments usually needed for hardware development, and it allows for the rapid design sharing, testing, and user feedback which are key to open-source software success.The initial idea was thus strongly based on the success of open source software, and it foundered for exactly this reason. The assumption among most of the participants was that open-source hardware had to be based on open-source software. There is no open-source software for fpga design; manufacturer's secrecy over FPGA internals means that there cannot be. Designers have to either use donated commercial software, or commercial freeware. Even where open-source software is possible (HDL compilation to netlists, and simulation, in particular) it is generally considerably behind commercial software. This even applies to PCB design. Given the additional effort needed to make use of the open-source EDA software that does exist, and the need to switch to commercial software for the back-end, almost all those involved in free hardware design have practically abandoned open-source design tools. This leaves those working on such tools without the pool of feedback that would otherwise be available, and weakens the free hardware design movement by decreasing its links with free software. In time, open-source EDA will grow to the point where it is once again competitive with commercial software, at least for the front end. The gEDA group has in practice become the focal point for this development: not only the gEDA developers, but developers of other software such as Icarus Verilog, Spice-Next Generation, Al's Circuit Simulator, and the Savant VHDL tools make regular use of the gEDA mailing lists. The real problem is the back-end: the hardware targeted, whether IC cell libraries or FPGAs, are both fast-changing and often protected by commercial secrecy. One possibility is that free hardware designers will be able to bootstrap from their own hardware substrata. The OpenCores group is already working on designing a new (and hopefully patent-free) FPGA as part of their SOC.
Lynn Conway, The MPC Adventures, 2nd Caltech Conference on Very Large Scale Integration, Jan. 19th 1981
Peter Clarke, Momentum builds for open-source processors, EETimes, Feb.1 2001
Lee Felsenstein, How we fought the dinosaurs, Creative Computing, Vol 10 No. 11, November 1984
Lee Felsenstein, interviewed in The Analytical Engine, vol 3, No. 1, November 1995
Homebrew Computer Club retrospective, http://www.bambi.net/bob/homebrew_reunion_article.txt, March 2001
Ivan Illich, Tools for a Convivial Society, Marion Boyars Publishers, Dec. 1990
Steven Levy, Hackers, Doubleday 1984