CERN Launches Open Hardware Licence V2
Today, CERN in Geneva announces the launch of the CERN Open Hardware Licence v2. Andrew Katz, Managing Partner for Operations at Moorcrofts, and head of the Moorcrofts Tech Team has been working with CERN on Open Hardware licensing for eight years, and for the last three years on version 2 of the CERN-OHL. CERN changed the world, and the development of open technologies like open source software and open data, by inventing the World Wide Web back in 1989, which means that it’s best placed to create a new revolution in innovation and development in open hardware.
Andrew explains what this means for the future of technology and innovation.
What are open technologies?
Open source software is software which is available to anyone, with the source code (“blueprint”) at zero cost, and with the right to freely use it, change it, develop it and re-distribute it to others. Originally seen as a a niche activity for hobbyists and enthusiasts, it now outstrips conventional software in terms of investment, deployment, reliability, security, innovation and reach. Why? Because it represents a new way of collaborating. It avoids re-inventing the wheel, so everyone can share and improve the 80% of code in a typical application which doesn’t distinguish them from the competition, and concentrate on the 20% which does. One of the biggest tech acquisitions in history – Red Hat by IBM last year for $34Bn – is also the biggest open source software transaction in history. Red Hat is a massive software company who revenues don’t come from licensing software, and its products are all open source.
And what has worked for software could well work for data, content (like documents, music, film and images) and hardware. Open hardware, in particular, has developed spectacularly in recent years.
What is happening in Open Hardware?
The biggest news is in the area of processor cores. A processor is the heart of a computer (Intel makes processors, for example), but many, many devices other than computers now use processors. Any household appliance with a digital display, or which connects using wifi or bluetooth is likely to contain a processor, and cars now contain tens of processors, controlling everything from the ignition timing to the dashboard display to music, navigation and the braking systems. A leading provider of these embedded processors is ARM, based in Cambridge in the UK, but more recently, an instruction set architecture (a blueprint for the instructions that a processor understands) was developed at Berkeley in California (coincidentally, by a friend of mine from University, Krste Asanovic). Berkeley released this ISA, Called RISC-V under its open source software licence, BSD, and this has now been developed into processors which have become a competitor to ARM, by a company of which Krste is a founder, SiFive. SiFive has seen funding of $125m, including a big investment from Intel. In the same way that the old guard tech companies like IBM have been investing heavily in open source software by buying companies like Red Hat, the giant of processor manufacture, Intel, has invested significantly in open source hardware. Other big companies such as Western Digital Corporation have also developed RISC-V into processor products. There’s no doubt about it – open source hardware is big, and getting bigger.
What has a licence got to do with this?
In the same way that a major factor in the explosive growth of open source software has been the innovative licensing models that allow software code to be used, modified and redistributed freely CERN believes that similar licensing models can apply to hardware. This is by no means straightforward: copyright is the main right applicable to software, and is largely harmonised worldwide. Hardware is much more diverse. It can cover mechanical devices like cars, boats and wind turbines, electronic devices like circuit boards and silicon chips, and even liquids like beer and cola. I don’t know if anyone has released a formula for a gas under an open hardware licence yet! This is one of the reasons that open hardware licences are more complex than equivalent open source software licences.
The licences are important, because they make it easy for anyone who wants to use the design to be comfortable that they aren’t in conflict with their legal obligations. And by “anybody” I include companies and public sector bodies as well as individuals. Everyone wants to be able to get on with using and developing the design without having to worry too much about whether they will have to get lawyers involved.
What does a licence do?
When you develop a piece of hardware, software, or content, you are also getting some intellectual property rights. Sometimes these are automatic (like copyright and some sorts of design right), and sometimes they need to be applied for and registered (like patents, and other types of design right). These rights allow you to stop other people from doing various things with your design – usually around copying it, modifying it or distributing it. A licence is the legal permission which gives people the right to do some of these things, subject to conditions you impose. Traditional licences make payment a condition of the licence, and also tend to impose restrictions like limiting use to one computer, or to one purpose (for example, “home and student”). By contrast, open licences guarantee that you can take the design, code, data or content, use it and modify it and redistribute it.
Some are very simple, and let you do all of these things, imposing only very lightweight conditions. This could be that if you redistribute the code you only have to acknowledge the copyright holder, and provide some disclaimer text. These are called “permissive” licences. More complex licences (so-called “reciprocal” or “copyleft” licences) required that if you do modify the code, design or content, and redistribute it, you have both to redistribute it under the same licences terms (guaranteeing the same freedom to your recipients), and also, in the case of software and hardware, provide a copy of the design material (source code, in the case of software), incorporating your modifications. “Modifications” is interpreted very widely: it can mean that if you incorporate a small amount of material in a copyleft-licensed design into a completely different design, you can’t distribute the resulting design or product made from it without making the whole of the design material available with the source, and all licensed under the same copyleft licences.
Determining the extent to which this copyleft effect affects other pieces of software is complex enough (and is something I spend a lot of time advising on professionally). To determine how this affects hardware is even more complex.
Why did this version of the CERN Open Hardware Licence Take so Long?
We explicitly wanted to expand the use cases of the licence, to ensure it worked for things like mechanical devices, 3D printed objects and artistic works, but particularly to cover the emerging field of silicon chip design.
We listened long and hard to people working in all these fields of hardware, and as a result we came up with a revised version of the CERN OHL to address their concerns. One of the biggest challenges was whether the copyleft effect also covered any components which you incorporated into your design. For example, if you put an off-the-shelf electric motor into a CERN-OHL-licensed car design, do you also have to provide the design of the motor under the CERN-OHL? We put in wording to deal with a number of different use cases, and then added exception language to deal with the specifics of silicon chip design, and then provided an optional exception to allow the licence to work with other popular licences and then released the result of our deliberations in 2017 as the first release candidate draft of CERN-OHL version 2.
And it was a mess. We’d failed to be particularly discriminating in the requests, trying to keep everyone who made a request happy, and although the monster we’d created probably worked, it was so cumbersome to use that, in practice, it would have got in the way of any real designers trying to use it.
So we ripped it up, and started again, trying to come up with some more elegant concepts. Mathematicians talk about some equations being “beautiful” or “elegant”, which usually means that they express something really complex in a simple and readily understandable way (and also tends to reveal some additional truths or applications). Lawyers can appreciate elegance in drafting: even some open source licences are elegantly drafted. GPLv2 is one (GPLv3) isn’t. The Mozilla Public Licence v2.0 is a masterpiece. CERN-OHLv2 RC1 wasn’t, and our aim was to adopt (and sometimes steal) the best parts of the licences we respected, and try to come up with something concise, easy to understand, respectful (we eliminated gendered language and tried to draft in a way which is clear to people for whom English is not a first language) and also adopt concepts we hoped were elegant, like the idea of an “Available Component” for a component you can source and obtain easily, but which you don’t have to provide the full design information for.
We also provided three flavours of licence: two reciprocal/copyleft versions (weak and strong: CERN-OHL-W and CERN-OHL-S), which both require anyone distributing a CERN OHL licensed product to provide the original design materials including modifications, but vary in the extent to which the copyleft effects cover other components, and a permissive version CERN-OHL-P which requires only the distribution of some notices with the product, and makes it very easy to combine the designs with other designs. The -W version, in particular, is particularly useful, we think, for chip designers.
And we also found that the new concept of “Available Component” might just be very useful to people trying to apply licences in open source software to the recently-emergent field of containers (using technology like Docker). But that’s a story for another day.
Today, the licences have been released to the world, and they are now available for use. You can find out more here:https://home.cern/news/news/knowledge-sharing/cern-updates-its-open-hardware-licence and here: https://cern-ohl.web.cern.ch