Why is getting hold of open source hardware so difficult?
8 mins read
During the past 30 years, open source software has moved from being a fringe activity to a core component of the industry.
Many internet based systems, for example, rely on open source software to function. One of the reasons for the rise of free and open source software is that bits and bytes can be readily copied and shared.
Open source hardware, on the other hand, remains more of a curiosity than a widespread movement. But some high profile projects now underway could change that perception quickly. However, the idea of open designs for hardware has a history that is arguably as long as that for publicly published software source code.
Since their early days, electronics magazines have published copious 'design ideas' columns that showed other engineers how to solve typical problems in novel and often disarmingly efficient ways. The early days of the personal computer revolution saw companies sell kits of parts with designs, rather than complete systems, because it was cheaper to do so. A number of interfaces and protocols rely on published schematics and waveform diagrams to illustrate how they operate, with reference designs getting projects using them off the ground quickly. For example, Intel published extensive design guidelines for the USB standard in its early days, with recommendations on component and trace spacing.
Similarly, as processor speeds accelerated in the late 1990s, Intel developed reference designs for motherboards to reduce the time it took to get its products into the hands of end users. Reference designs are now commonly used by vendors of components aimed at consumer and industrial markets for the same reason – and are published on the basis that the designs will probably be modified by some and used 'as is' by others.
The concept of the reference design is now being extended by a growing number of enthusiasts, groups and companies who see an advantage in developing non proprietary hardware that is easy for users – who may be competing manufacturers – to modify, produce and sell themselves. A number of them have embraced the ideas of Eric von Hippel, a researcher at the Massachusetts Institute of Technology, who has written extensively on user driven innovation.
Von Hippel's argument is simple: while users do the bulk of innovating, manufacturers tend to be better at putting those innovations into mass production. But if those mass manufactured products are themselves customisable, they will lead to further waves of innovation and commoditisation.
Why do users want to design their own hardware? To do the job they want the product to do instead of making do with something that's almost fit for the job. A number of the user driven open source hardware initiatives reflect that need. The Crypto Stick has its roots in the shortcomings of commercial, supposedly secure, USB sticks that were later found to be eminently hackable – often because their manufacturers left trapdoors inserted during development in the final product. Facebook and Google have developed their own compute server hardware because features they wanted for easy maintainability were not being incorporated into commercial offerings.
Facebook decided to make its Knox design for servers – which focuses largely on mechanical, rather than electronic, issues – open source in the hope that other data centre users would improve on it and provide novel approaches that the social networking company's designers did not think of. AMD, Calxeda and Intel have joined the Open Compute Project launched by Facebook and come up with motherboard designs which they are prepared to offer on an open source basis.
Another major organisation that believes it and others in its community can benefit from open hardware designs is CERN. Many large physics experiments call for custom electronic hardware that could be made more cheaply if the burden of design were shared. One of the designs that CERN has developed and which it offers on an open basis is a PCIe carrier for mezzanine cards that handle signals based on the White Rabbit timing protocol. Together with the GSI Helmholtz Institute and others, CERN developed White Rabbit – a protocol based on Ethernet – to provide the high accuracy timing signals needed to record accurate measurements from sensors distributed around large physics experiments.
Open platforms that have reached a much wider community are designs such as Arduino and BeagleBoard. Although aimed initially at hobbyists, the ease with which the off the shelf hardware can be put to use has made them attractive to commercial users who want a way to prototype and then move into production with customised, cost optimised versions. Semiconductor vendors such as Freescale have spotted similar opportunities to build reference designs for their own microcontrollers. This approach has also helped Atmel to increase exposure amongst developers to its AVR microcontroller, used on the original Arduino board developed out of a project at the Interaction Design Institute of Ivrea.
The Arduino platform forms the electronic backbone of a project intended to ease the development of unmanned aerial vehicles for disaster relief operations. The OpenRelief project's founders chose to go with open hardware and software to try to crowd source a better robot aircraft design, one that could map disaster zones on its own with the ability to recognise roads, people and the telltale signs of problems, such as smoke.
Other projects have attempted to merge consumer design with open hardware in the form of pocket or laptop computers and even mobile phones. Openmoko's project to build an open phone got underway at a point when developments in mobile phones threatened to lock down the hardware and software used inside them, preventing extensive modification by the user. Apple's iPhone brought matters to a head when users found they had to 'jailbreak' the software inside in order to load software not sanctioned by Apple.
Some users pointed to the inability to use standard phone software to perform relatively simple functions such as spam filtering, even though a number of filtering services, such as SpamAssassin, run readily on Unix derived operating systems. Other users wanted to customise their handsets more extensively to run more sophisticated applications for vertical market applications, instead of having to design hardware from scratch or use bulky combinations of handsets and mobile computers.
On its launch in summer 2008, Openmoko sold several thousand Freerunner phones a month, but the combination of a recession and an unfinished software implementation saw purchases tail off soon after. There were several attempts to spin off derivative projects as Openmoko pulled back from developing phones, switching attention to PDA-like devices.
Issues with the Freerunner have not stopped others from pursuing consumer oriented projects. Engineers laid off by Openmoko when sales fell started Qi Hardware, which has developed a range of open hardware products, including the Ben NanoNote, a Linux based handheld computer.
Openmoko's Freerunner exposed one major issue for open hardware proponents: it is not possible to make everything on the board accessible because much of it was developed by other people with other goals in mind. The Calypso modem on the original Freerunner was made by Texas Instruments and covered by a non disclosure agreement (NDA) that made it impossible to release some of the design publicly. TI is far from alone in making these stipulations; many SoCs and graphics processors have NDAs that cover the contents of their datasheets and programming manuals.
Although these graphics processors will have software drivers that run under Linux, the source code is little more than a set of stub application programming interface (API) calls. The firmware and programmable hardware they call will often be released under a lesser GNU Public Licence (GPL) agreement that allows for the software to be distributed only in object form.
To overcome the problems of dealing with proprietary hardware within an otherwise open framework, some organisations have dug down further into the hardware design. The Ben NanoNote uses as its core processor a MIPS32 based SoC made by Chinese supplier Ingenic Semiconductor, for which detailed design documents are provided under NDA. But in a follow on version, the Ya Nanonote, Qi has been looking at implementing an SoC type design on an FPGA in an attempt to provide much more detailed source information to developers. The MilkyMist processor, originally developed for an open hardware video synthesiser, is one option.
The FPGA has made it possible to further democratise hardware design by providing a substrate for hardware that is expressed in a similar way to software – through the hardware description language (HDL). There are now a number of processors that can not only be licensed in source code form, but also distributed freely. The FPGA vendors themselves have contributed heavily to this idea, developing 32bit processors that can be compiled relatively efficiently onto a programmable fabric. These, however, tend to be tied to those vendors' products with the exception of the LatticeMico32, which is the core at the heart of the MilkyMist.
For wider use, the two architectures that spawned the RISC revolution –MIPS and Sparc – are now widely available in source code form, although only some of the Sparc implementations are official versions. After an attempt to licence version of its Sparc processors commercially, Sun Microsystems – now part of Oracle – decided to make the source code for the microarchitectures available. However, thanks to its adoption by the European Space Agency among others, the Sparc clone Leon has become more popular.
Some attempts to develop free versions of other processors have closed very quickly. One ARM compatible core, developed at the start of the last decade by a Chinese student, was withdrawn soon after the UK company became aware of it. MIPS Technologies, on the other hand, has not tried to any great extent to remove open source versions of its architecture.
The availability of processors and other pieces of HDL has made it possible for companies such as Altium to offer prototyping systems that assemble virtual board designs graphically in a similar way to building a PCB schematic. As the density of FPGAs increases, more open hardware projects are likely to turn to these, rather than using off the shelf parts. There is the potential for organisations to take commonly used virtual components and to assemble them into a mask programmed ASIC that can then be sold as an 'open' SoC. But no project has reached the critical mass to do this as yet.
Open source hardware providers can choose from a variety of licences that, as with open source software, come with different obligations on those who use and, particularly, modify them. Some licences, such as those derived from the University of California at Berkeley agreements that were originally applied to the university's implementation of TCP/IP and BSD Unix, do not demand that modifications be made publicly available in source form.
Other licences, based on the 'copyleft' principle made famous by the GNU suite of software tools, demand that source information for modified implementations be made available in the same way as the original design documents, which may cause issues for companies worried about releasing their own intellectual property.
Some manufacturers use the GPL to protect their designs with the aim of keeping both original and derived works publicly available. Later versions of the GPL have dealt with problems such as 'Tivoisation', in which commercial manufacturers use free or open source software to build products which they then lock down to prevent further modifications by users.
However, Free Software Foundation pioneer Richard Stallman has argued that the GPL has some shortcomings when it comes to hardware – largely because the GPL is based on copyright law, which does not apply to some aspects of hardware design because they are more normally protected by patents.
A circuit idea – the germ of the modern open hardware movement – for example, cannot be copyrighted and, as a result, cannot be copylefted either. On the other hand, schematics and hardware description language (HDL) files can be protected by copyright. Despite its software roots, the GPL is supported by the OpenCores community, which focuses on HDL based hardware designs.
GPL licences for open hardware are being supplanted by others drafted specifically for hardware or which are not based purely on software ideas, such as those developed by the Creative Commons organisation. For example, Arduino supplies the schematics and other data for its hardware design under a Creative Commons Attribution Share-Alike licence. As the name suggests, any derived hardware needs to specify that it is based on the original Arduino design and that if the schematics and other documents are offered to those who want them, they need to be made available under the same licence terms.
CERN has developed its own open hardware licence and believes it could be for hardware what the GPL is for software. The organisation adopted a penguin mascot similar to that used by the Linux community.
Other licences include the Solderpad Licence and the TAPR Open Hardware Licence. The latter contains restrictions designed to prevent users of an open licence design suing others using the same schematics and information for patent infringement – a clause meant to prevent the application of so called submarine patents, in which the patent holder entices others to use its technology so that it can claim damages and royalties later on.
Because of the differences in licensing policy and the problems of sourcing high integration components that have detailed, publicly available documentation, what constitutes an open source hardware platform is still a matter of debate. But with big users such as CERN and Facebook seeing a way to make open hardware work for them, the movement is picking up steam.