I have been delaying writing a blog post about API license agreements, as I could not find a good real world example to go along with the post. Well, Twitter gave me that real world example, as they recently changed their API license agreement (which caused quite an uproar in the Twitter community). Take a read, as here are 2 great reasons why software and SAAS companies with an API need an API license agreement (instead of going naked with no agreement).
For background purposes, Twitter changed their API licensing terms to further restrict how their API developers use their API (oh yea, there are over 750,000 registered apps). Twitter now wants its API developers to build “tools” . . . not businesses or applications.
Quote from Twitter email re: their new API Rules of the Road on March in 2011:”Developers have told us that they’d like more guidance from us about the best opportunities to build on Twitter. More specifically, developers ask us if they should build client apps that mimic or reproduce the mainstream Twitter consumer client experience. The answer is no.” (emphasis added) Here is the link to the whole email.
Your API Developer Use Case, Could Change.
As you know, things change rapidly in the software and API licensing world. You may open up your AP without an API license agreement, realize that you opened it up too much, and then want to restrict what your API developers are doing.
- Twitter realized exactly this, as developers were using their API to compete with Twitter or simply duplicate their interface, and causing confusion in the marketplace (plus trademark issues, changing the tweets, etc).
As most API license agreements are pretty one sided (as you are giving them something for free and it is your technology) you can change the terms at any time. However, if you don’t have an API license agreement and then change your API program, your API developers may not only get really upset, but if they lose $ as a result of the change then you may be responding to lots of complaints and maybe a lawsuit or two (= not very fun). So think about putting an API license agreement in place, as it can protect you (limit your liability, etc) if things change.
Communicate the Right Expectations to Your API Developers.
As with any agreement, an API license agreement helps to communicate your model (setting expectations of what your developers can and cannot do). I bet you will also find that most users actually want to know where the boundaries are (publishing great info on your APIs is a good idea too). I find that most software companies don’t know what the terms of their API license agreement should be, so they avoid the issue (remember, no decision is still a decision). Well, maybe you get lucky and you don’t need to make significant changes, but I would not recommend relying on luck.
- I bet you if Twitter did not have an API license agreement with (a) limitations of liability, (b) disclaimer of warranties, (c) specific language giving them the right to change the agreement at any time, etc., they would have been sued for this recent change. The API users would have probably argued that they relied on this access without restriction and created a business around it (i.e. spend $), and now Twitter cannot make a change without compensating them for the loss.
Well, a good API license agreement can help avoid this whole argument, as it can help communicate your API development model and set the right expectations with your API developers.
Anyhow, I could go on and on with other reasons, but if you can remember that (1) things can and will change in your API model (i.e. remember that you cannot see the future), and (2) you need to set the right expectations with your API developers, then you get the 2 main reasons why you need an API license agreement.
Disclaimer: This post is for informational and educational purposes only, and is not legal advice. Hire an attorney if you need legal advice.