Thing is, when you’re building an API – doesn’t matter if you’re the BBC, government or a start-up – it’s so very tempting to add the line ‘only for non-commerical use’. It was the line that allowed us to pursued people at the BBC to release data via backstage. It’s a really handy way to help management understand that releasing data isn’t a threat to your profit line or to society. Thing is though – it’ll only take you so far – actually it’ll start to hinder development.
We all know that the best way to allow access to your API is to keep it as easy as possible – making developers apply, and then wait, for a key before they can start messing with your stuff is a sure fire way to stop people getting groovy with your data. When I was at Lonely Planet we developed three levels of developer access – the journey to getting these levels lasted a year and many meetings with legal and management. Finally we got to a point where there was a way for developers to instantly access data, but then have a path where they could make money from their work – ultimately the reason that people will want to move beyond the initial itch and building of groovy cool stuff to the larger scale making some money kinda stuff.
Level 1
Free and easy access. Police it by using call limits if you like – but don’t require registration or any kind of authorisation – let people quickly get to your stuff and let them play. Feel free to add ‘non commercial use’ to this access – but if you’ve limited the api calls – why bother?
Level 2
Semi-hard. Ask people to register. Give them access to a more robust API, or a larger number of calls – but essentially let people get on with it. If they want to try to make money – let them – they’ll soon be in touch if the money is pouring in and they want to take things to the next level.
Level 3
The next level. Solid, production ready API. No limits and working hand-in-hand with internal developers.
The great thing about letting people make money is that they’ll make you money in return – you don’t have to spend months locked away in an R&D lab – but more importantly you’ll see stuff you’ve never even thought of. It’s the Hack Day theory – Hack Days are a pressure cooker for innovation, an intensified period of R&D that months of traditional work could not replicate.
But what if you’re a not-for profit? The BBC? Government? Well then… it’s even more important that you let people make money from public data. Government data has a problem – it’s really not cool – it attracts amazing developers who want to make the world a better place. But what about those developers who want to make the world a better place and need to put a meal on the table? It’s either direct subsidy – or let them build something that they can sell – not the data itself perhaps – but a service built on that data.
Good to talk this through the other day (and glad it prompted you to write this up so I can point people at it).
REALLY like the idea of limiting API calls at different levels, mostly as a way to remove fear and to try to break the unthinking insertion of “only for non-commercial use” clause. Crucial for first level to allow developers to experiment/scratch itch without requiring registration/key etc.