Open Source for Hardware?
Jeremy Bennett, CEO, Embecosm
Open source is well established as a business model in the software world. Red Hat is now approaching the market capitalization of Sun Microsystems, while IBM, the worlds largest patent holder, makes more money from open source than other software (source: BBC Radio 4 “In Business”). Major tools such as the Firefox web browser, the Apache web server and the Eclipse IDE are all open source.
But open source is more than just a business model. It is a change to the underlying approach to business. Open source software is “free” in the sense of “freedom”—as a customer you have the source code and you are “free” to do with that software as you wish, just so long as you pass on that freedom to others.
A consequence of that “freedom” is that open source software is usually also free in the sense of “not paying”. A supplier can, if they choose, charge for their open source software―but their customers are free to pass on that software for no charge. When Red Hat started to charge for their Red Hat Enterprise Linux (RHEL), CentOS Linux started to redistribute RHEL free of charge, recompiled with any Red Hat proprietary material removed.
Open source works as a business model, because the marginal cost of distributing software is effectively zero. While users will typically pay nothing for the product, they stimulate a market, within which revenue can be generated. For a web-based application the revenue may come from traffic based advertising. With a software tool, revenue comes from the 1% of customers who need services based around the tool. For any area where there is high volume, the business model is a winner.
As a consequence, open source software development is a service rather than a product business. Business is more consultative, and revenue grows incrementally as the software becomes more popular. Fewer dot.com millionaires, but a relatively stable income for the professional programmer.
Now here's a novel idea. What about open source for hardware? At first sight this seems a non-starter. Open source relies on the nil marginal cost of software distribution, but hardware has to be manufactured.
But a modern silicon chip is typically built from silicon “intellectual property” (IP), written in a hardware description language such as Verilog or VHDL. Fabless design houses may never produce a chip themselves—one of the largest and best known is ARM in Cambridge, whose processor IP is built by other companies into one billion chips ever month. That IP costs the same amount to produce, whether it goes into one chip or one billion.
The marginal revenue from this silicon IP is tiny. It is an urban myth that the company supplying the cellophane film covering a mobile phone's screen earns more than ARM from each phone, but the myth contains a grain of truth. ARM, as market leader, makes pennies from each phone. Smaller players make far less, or even receive just a one off payment. For them the marginal revenue really is nil.
The other factor is that the cost of any modern hardware is dominated not by the cost of the chip, but by the cost of the software that will run on that chip. In a modern product, there is far more value in the software than the hardware, and that software will need regular updating to keep the product viable.
This gives the recipe for open source hardware to work, at least for silicon IP. A marginal cost of nil and an associated product (the software services) whose value is pulled through by volume. Give away your silicon IP and software and make your money from servicing the software.
There is already a considerable amount of open source silicon IP, and hardware design companies such as ORSoC AB in Sweden and Beyond Semi in Romania who work with such IP. However a first glimmer of the complete approach can be seen with Google's Android open source operating system for mobile phones. Google aren't giving away the hardware (yet), but put Android together with the OpenMoko open source phone and you have the complete story.
There is a fly in the ointment—the legal position. Open source software relies on licenses such as the GNU General Public License (GPL) to enforce the “freedom” rules. These in turn are based on copyright law, which has for a long time been held to apply to software and its publication. Most open source hardware projects to date have used the GPL or similar contracts, even though it is explicitly not suitable for hardware use. Although silicon IP is written in a description language, its results are typically disseminated through manufacture, not publication. This is governed legally by patent law, and unlike copyright, patents cost time and money to obtain. There have been some efforts to write an open source license that would work for hardware, most notably the Tucson Amateur Packet Radio (TAPR) Open Hardware License, but this is still a long way from the maturity of the GPL.
I have recently started discussions with the National Microelectronics Institute (NMI), the trade body for the UK electronics industry, exploring the possibility of a definitive open hardware license that is robust in English law. We have a candidate first project, developed in the Cambridge University Computer Lab by Marcelo Pias. The initial goal is to establish the UK as a location where open source hardware businesses can proceed on a reliable legal footing, and then in a wider context internationally. If you would like to help, please get in touch. In particular we'd like an academic lawyer versed in this area of the law to get involved.
I believe open source hardware will have an important role in the computer industry in the future, just as open source software has an important role today. I hope my efforts will contribute to that success.
Dr Jeremy Bennett is Chief Executive of Embecosm Limited. Embecosm (www.embecosm.com) provides open source services, tools and models to facilitate embedded software development with complex systems-on-chip. He is an active contributor to the OpenCores project (www.opencores.org). Contact him at jeremy.bennett@embecosm.com
This article was first published in “The Ring”, the journal of the Cambridge University Computer Laboratory Ring in May 2009.