www.nettime.org
Nettime mailing list archives

<nettime> Graham Seaman: Free Hardware Design - Past, Present, Future
geert lovink on Wed, 13 Jun 2001 16:34:21 +0200 (CEST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

<nettime> Graham Seaman: Free Hardware Design - Past, Present, Future



[In April, the political free software 'Oekonux' conference took place in
Dortmund, Germany. Texts are now being made available:
http://www.oekonux-konferenz.de/dokumentation/texte/. Most of them are
German, but the following one, on free harware design, is in English. On
April 24, 2001 I posted an interview with the list moderator and conference
organizer Stefan Merten to nettime. /geert]

Free Hardware Design - Past, Present, Future
============================================

Graham Seaman

What is a `free hardware design'?
=================================

Perhaps the easiest way to define it is by looking at what it is not -
by looking at current commercial design practice.

Commercial design practice
- --------------------------

o    Designs are owned by the company which creates them. Ownership is
     protected by 3 sets of laws: copyright, trade secret, and patent.
     It is often not even possible to see a design without signing a
     non-disclosure agreement.

o    Designers cannot legally build on older designs unless their
     company owns the right to use these designs. Larger companies
     hold 'patent pools', which they use as bargaining counters with
     one another, and which block new entrants from the market. This
     is particularly important for developing countries.

o    Where the design is for a basic building block (eg an FPGA, or a
     cell library), design software can only be written by those
     entitled to know the secret information. EDA software is either
     written in-house (eg for FPGAs) or by software companies that
     have agreements with the manufacturers. Even where EDA software
     is generic, end users often have to purchase the right to use
     specific libraries. The result is that EDA software is
     ridiculously expensive; all except the largest companies (or
     universities) are barred from using them by cost.

o    Designs are driven by marketing departments. The two main goals
     are minimizing time to market (estimated to reduce by 30% per
     year for VLSI designs) and minimizing manufacturing costs.

o    Users of the final product have no rights to know how they work.

The combined effect is to create a closed caste of designers producing
unintelligible products for a passive population of consumers...

So what would free designs look like by comparison?

Free Design Practice
- --------------------

o    Designs are owned by the people who create them. Ownership is
     protected by copyright law only. The intention is to make designs
     as widely available as possible.

o    There is every incentive to build on older designs, to
     collaborate with as wide a spread of people as possible, and to
     make the designs widely known. NGOs in developing countries are
     not locked out, but encouraged to reuse designs.

o    Design software is free software, so that anyone who wishes to
     can participate.

o    Designs are driven by the wishes of their creators. The end goal
     can be whatever they wish.

o    Users of the end product can not only know how it works, but are
     encouraged to create improvements or modify it for their own
     purposes.

If this list were fully realized, knowledge of hardware design would
become more diffused through society, destroying absolute barriers
between `creater' and `consumer'. Designs that people wanted could be
produced, rather than designs planned for people to buy.

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 Past
========

The First Wave
- --------------

Like much of the earliest `free software' culture, free hardware
designs first emerged from the wreckage of the 60s counterculture in
the USA.

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 [1].

The second was not a design at all, but an organization: the
[jump="http://www.opencollector.org/history/homebrew/index.html"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 [2], 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. [Lee
Felsenstein, 1984]
[http://www.opencollector.org/history/homebrew/dinosaurs.html]

The Second Wave
- ---------------

The first wave had been almost entirely outside the universities. The
second wave was entirely based on the universities, involving an
almost completely orthogonal set of people.

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 custom designs needed a knowledge of all levels of the
device, which was becoming 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
[http://ai.eecs.umich.edu/people/conway/Awards/Electronics/ElectAchiev.html]
.
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
[http://ai.eecs.umich.edu/~mirror/MPCAdv/MPCAdv.html]' is a textbook
description of how to create a bazaar-style community:

o    Involve large numbers of people.

o    Debug in parallel.

o    System designers must also be system users.

o    Rapid response to user feedback - release continuous bug fixes
     and improvements.

o    Let standards evolve from common usage.

Prerequisites for this were the existence of a network (initially the
ARPANET) and complete transparency. Co-operation between large numbers
in turn made it economically possible to manufacture chips at low cost
by incorporating many designs on a single wafer.

- 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
[http://www.cs.berkeley.edu/~lazzaro/chipmunk/describe/describe.html],
the descendant of Mead & Conway's original software is still used for
teaching and research, and is now under 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
[http://bach.ece.jhu.edu/~tim/programs/magic/magic.html] for layout,
SIS for logic synthesis, Espresso for logic minimization, Ocean
[http://cas.et.tudelft.nl/software/ocean/ocean.html] for sea-of-gates
design, Olympus
[http://akebono.stanford.edu/users/cad/synthesis/olympus.html] 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 Dark Ages
- -------------

By the early 90s the second wave was grinding to a halt. Rather than
creating free software which could be used commercially, universities
began to develop software under contract to the EDA companies, or
sought to set up their own companies to commercialize their products.
EDA software became closed source and either unavailable to the
general public or tied to particular companies' products.

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.

The Present
===========

Over the last 2 or 3 years free hardware design has grown at an
amazing rate.

Among the new elements driving free hardware design now are:

1.   The increased scale of ICs allowing SOCs (Systems-on-chip), and
     the resulting need for (and potential market in) libraries of
     designs at least in part independent of their physical
     realization. As FPGAs have grown in size, they two have created a
     need for design libraries. Attempts to create commercial
     libraries of such designs in the 90s were largely failures; free
     designs have little competition. The first established free site
     for these designs was Free-IP [http://www.free-ip.com]; now, the
     group with the largest number of participants is
     [jump="http://www.opencores.org"OpenCores. OpenCores is pulling
     in designers from round the world, from students to highly
     experienced professionals. The nominal goal of OpenCores is to
     produce a full library of SOC components, and to have this
     manufactured. There is no single standard for bus
     interconnections for SOCs; Silicore Corporation have now made
     their `Wishbone' bus design public domain and OpenCores have
     begun to enhance it; it may well emerge as the standard.
     Flextronics have now announced they may finance production of the
     first ASIC basic on OpenCores designs.

2.   The widespread use of FPGAs, giving the possibility of
     implementing complex designs even without access to factories.
     FPGAs appear to solve nearly all the problems run into by the
     board designers of the 80s. A complete circuit can fit into one
     chip (and the rapid growth in size of FPGAs means that a
     'complete circuit' is not necessarily just a processor, but may
     be a complete system). The FPGA can be loaded with different
     designs at will - no need to make a new board for each use,
     making design test and debug much closer to software development.
     Virtually all free design groups are making some use of FPGAs. As
     a fairly random example, the CPC-NG [http://cpcng.free.fr] group,
     who are designing an updated version of the Amstrad CPC computers
     of the 80s, are using an FPGA to re-implement the original
     Amstrad ASIC, something that would not have been possible before.

     The initial challenge for a hobbyist is no longer 'design a
     computer', but 'design a processor': for the first time since the
     bit-slice processors of the 70s, hobbyists can actually design
     meaningful processors.

3.   The expansion of the market for embedded systems: once again,
     systems on a scale that hobbyists can build. The computer is no
     longer only a large, overheated, box, but a multitude of small,
     handheld systems. An interesting system does not need to be one
     which outruns a multiprocessor board or is clocked at gigaherz,
     but can be a small, cheap device with a novel application. There
     are quite a number of embedded boards such as the Lart
     [http://www.lart.tudelft.nl], which runs Debian Linux on a
     StrongArm CPU and was originally designed for radio applications.
     Maybe more in the spirit of free design is MorphyOne
     [http://www.morphyone.org], a Japanese palmtop which includes an
     uncomitted CPLD so that users can design in their own additional
     interfaces. OpenH.org [http://www.openH.org] have started
     rewriting the Sourceforge software to provide a Sourceforge
     equivalent aimed at embedded systems hardware designers.

4.   The expansion of the internet to cover the world, not just the US
     and Europe. Free hardware design is not just based on English
     speakers, but Japanese (eg Morphy), Indonesian (eg. many
     OpenCores participants), Indian (eg Simputer), South African
     (OpenH).

     The range of experience and also the range of needs for different
     applications is wider than ever before. At the same time, the
     imposition of IP laws on developing countries has been done in
     such a way as to push them into developing convivial technologies
     as an alternative strategy, as shown by the Bangalore Declaration
     on Information Technology for Developing Countries.

     The first of these to be mass-produced will be the Indian
     Simputer [http://www.simputer.org], which will also be used in
     Africa.

The Simputer is not a Personal Computer in the conventional `PC'
sense. The `Wintel' 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

[jump="http://www.media.mit.edu/~rehmi/pengachu/v3_document.htm"Pengachu
     (designed for minimal power consumption, perhaps even wind-up).
     The Brazilian equivalent, LUAR [http://www.luar.dcc.ufmg.br],
     unfortunately seems to have been designed in a closed-source
     style (though the software is free).

5.   The presence of an established free software movement, not just
     as a resource but as an example of what is possible. Given the
     persistence of free software, it is possible that this time free
     hardware designs may not just fade away and be absorbed by
     commercial interests, but may also become a permanent gain.

The Future
==========

What happens in the future depends partly on how the outstanding
problems in free hardware design are resolved; among others these are:
the lack of free EDA software; an uncertain relationship to
manufacturing, and the lack of legally defensible licenses.

Free designs without free software
- ----------------------------------

The first free hardware design site to make a major impact was Open
Design Circuits, started by Reinoud Lambert of the University of
Delft. The site proposed

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 [http://www.geda.seul.org] 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.

Free designs that can't be made
- -------------------------------

The initial reaction of many free software supporters to the idea of
free hardware designs is `all very well, but you can't manufacture
your own chips'. What initially seemed to be the largest problem of
all is starting to seem less of a problem. The first chips based on
GPL-ed designs already exist: the ESA's SPARC designs have been
implemented both for the ESA themselves and as part of commercial
products (Metaflow and IROC). OpenCores have said that they hope to
have their own processor manufactured soon. Similarly, at the board
level, the Simputer is now being manufactured in Mauritius by a
company which hopes to target both Indian and African markets. So
manufacture is possible, provided that the design appears to be one
with commercial possibilities.

For designs which do not offer an immediate profit, and during testing
and development, the problem is harder. One possibility is to leverage
university programs which have access to chip foundries using Mead &
Conways strategy of multiple chips on a single wafer in order to
reduce costs. Boards are simpler, and many groups can afford to have
their own manufactured. In the long run, the answer has got to come
through co-operation between multiple groups, perhaps centralized
through organizations souch as OpenCores and OpenH.

Free designs that don't stay free
- ---------------------------------

Commercial designs are protected above all by patents. Free designers
cannot afford patents, and in any case have no incentive to use them.
Protection must be achieved under some mix of copyright law, contract
law, and the Semiconductor Chip Protection acts.

The `traditional' license which emerged during the 80s says something
like: `anyone can use this design, except for commercial purposes'.
This is both contrary to the spirit of free software, and is shooting
yourself in the foot if the only way to manufacture a design is to
have it made for commercial purposes.

The ideal license would be one like the GPL, which can be used
commercially, but which forces improvements to be fed back into the
free design pool. Yet no-one has yet created a license which is
generally accepted as doing this for all aspects of hardware design.
The FSF accepts that designs written in an HDL are software, and so
can be covered by the GPL. For schematics, IC layouts, etc, it seems
that the law may not make this possible. The best that can be done may
be something like the BSD license, which cannot prevent firms from
making radical improvements to a base free design while keeping them
secret, effectively privatizing the design.

But it is still possible that GPL-style licenses may work. The
Simputer license is a hybrid GPL-style license (copyright based)
combined with a creative use of trade-mark and contract laws. And it
is the first such license to have been vetted by a lawyer.

What next?
- ----------

Even if none of the problems listed above are solved, free hardware
design has been a major success: hundreds, if not thousands, have been
involved, have enjoyed themselves, have learnt. The knowledge of one
area of technology has spread a little further than it would have done
otherwise, giving people back a little part of control over their
lives. Some achievements which now seem unstoppable whatever happens
are:

o    the creation of available free platforms for Linux.

o    free processor designs that outperform commercial ones.

o    designs that implement features commercial designers don't care
     about (maybe open FPGAs, or an Ogg Vorbis implementation?).

o    designs for markets commercial designers don't care about - free
     designs for the developing world.

In the long run, as solutions emerge through time, we may look back on
this point as the time when control over our lives as passive
consumers began to be replaced by creation of our lives as active
participants. In a society that seems determined to force unwanted
pay-per-view tv, ridiculous encryption systems, and privatized
knowledge on us in order to maintain profits, there is a chance to
build an alternative technology which is truly convivial.

A. Reference
============

o    The Bangalore Declaration on Information Technology for
     Developing Countries
     [http://www.csa.iisc.ernet.in/bangit/bangdec/bangdec.html], Nov.
     4th 1998

o    Lynn Conway, The MPC Adventures
     [http://ai.eecs.umich.edu/~mirror/MPCAdv/MPCAdv.html], 2nd
     Caltech Conference on Very Large Scale Integration, Jan. 19th
     1981

o    Peter Clarke, Momentum builds for open-source processors
     [http://www.eet.com/story/OEG20010201S0050], EETimes, Feb.1 2001

o    Lee Felsenstein, How we fought the dinosaurs
     [http://www.opencollector.org/history/homebrew/dinosaurs.html],
     Creative Computing, Vol 10 No. 11, November 1984

o    Lee Felsenstein, interviewed in The Analytical Engine
     [http://www.opencollector.org/history/homebrew/engv3n1.html], Vol
     3, No. 1, November 1995

o    Ivan Illich, Tools for a Convivial Society
     [http://www.preservenet.com/theory/Illich.html], Marion Boyars
     Publishers, Dec. 1990

______________________________________________________________________

[1] "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."

[2] "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]

________________________________
Web-Site: http://www.oekonux.de/
Organisation: projekt {AT} oekonux.de



#  distributed via <nettime>: no commercial use without permission
#  <nettime> is a moderated mailing list for net criticism,
#  collaborative text filtering and cultural politics of the nets
#  more info: majordomo {AT} bbs.thing.net and "info nettime-l" in the msg body
#  archive: http://www.nettime.org contact: nettime {AT} bbs.thing.net