Sunday, 8 November 2009

An Open Source licence for Hardware

I'm helping the OSE choose a license for the designs that we produce.

A couple of days ago, I blithely recommended that Marcin license the Liberator compressed earth brick press under the GPL.

Licensing is a largely solved problem in OSS, but on further reading, I found that open hardware licensing is a mess. I'm not a Lawyer (thank goodness :-), but here's by best attempt to understand the situation.

The crucial difference appears to be that physical items are not covered by copyright, which only concerns itself with informational goods.

It's easy enough to do public domain, MIT, or BSD style openness with hardware. These licenses are so permissive that they don't change their behaviour in the new context. They don't need to use copyright to make their provisions enforceable.

The problem comes with the GPL copyleft provisions: Without copyright, enforcing openness of derived works is hard, and I'm not satisfied that any existing license does it well, if at all.

The Open Hardware License (as used by TAPR) was written by a lawyer, but was criticised by Eric Raymond, and I have some misgivings about it too.

There are a substantial number of open hardware projects that are using the GPL as is, and it doesn't seem to be doing them any harm. These include Arduino and RepRap.

I like the obligation to open derived works included in the GPL. I feel that it is politically consistent with the OSE values, and it acts against commercially exploitative freeloading. If it were easy, I would like to enforce that same obligation on anyone selling modified Liberators. I now think that this enforcement may not be possible through copyright.

I also think that it doesn't actually matter very much. We'd like to get the benefit of all modifications to our open designs, but we don't need it. So long as good complete designs and cheap good quality implementations of open hardware are always available then we have succeeded.

So long as there is a community of people using and building our designs the designs will be available and constantly improving. If some people don't share the results of their efforts with us, then that's a shame, but we don't need them anyway. If they're that inclined to be selfish then their grudging cooperation probably wouldn't be that useful anyway.

I think we should go with the GPL for the moment. We can re-license later if we need to.

Tomorrow, I'll contact Eric Raymond, the OSI, and the FSF for advice.

How do you tell if an open source project is successful

After a bit of musing, I came up with the following metrics:

Good structures
version control system for code
bug tracking system
documentation for developers and users (might be in a Wiki or similar)
mailing lists or equivalent
discussion fora or equivalent

Active Developer Community
traffic on developer mailing list or forum or similar
high rate of code commits to VCS
low bug fix latency
high bug fix rate
high new feature rate
full release calendar (lots of releases are being made)

Active User Community
traffic in user fora/mailing lists
download rate of installers
output produced (type depends on project)
professional support services
job openings for skilled users
Can you think of any others?

Working on Open Source Ecology

I'm contributing to the OSE effort, where my fabrication efforts have a chance to deliver enormous social benefits. Finally, I've got a something concrete to do that can have a widespread beneficial effect. It's very exciting.

The best place to read about it is

I'll be continuing with posts about fabrication soon, but I'll also be posting about open source hardware, and other related subjects, as I'm stimulated to write by my interactions with the other OSE contributors.