When I helped start the Yahoo Developer Network, part of my job was to go around to all the product teams inside Yahoo and convince them that it would be good for their business to open up free web APIs. The response among technical folks was pretty universally enthusiastic. It’s just one of those ideas that make great sense to an engineer. Among business folks, the response was more mixed. They would bring up a pretty predictable series of concerns. Will it cannibalize my business? How will we prevent abuse? Do we have to go first? And the unspoken concern – how will this affect my job?
Another issue that came up – one that caught me by surprise – is that some people thought open APIs and open source were somehow the same thing. As in “if we open an API does that mean we will open source our software?”. Umm, no. Both open source and open APIs have to do with technology and both have the word “open” in them, that’s pretty much where the similarities end. Yet it kept coming up. For example, when Yahoo announced an open API for Yahoo Mail someone wrote a big article on how Yahoo was open sourcing Yahoo Mail (the story has since vanished, I could only find this Digg link to it).
To help clarify open source vs. open APIs, here’s a quick overview of each:
Open source = decentralized software development
The idea of open source – freely distributing the source code of a piece of software – has been around for decades. Open source as a name and big trend emerged in the late 1990s when the internet made large scale collaboration on software development easy and when the .com boom fueled new business models around Linux and other open source projects.
Some of the best known open source projects are the popular Linux operating system, the Apache web server (which serves 60% of all sites on the web), the Firefox web browser (which has taken a surprising amount of market share away from Microsoft’s Internet Explorer), and SendMail (which sends large amounts of email around the web).
The core idea behind open source is to give away the source code to your software so that anyone can study, fix and improve it. This tends to produce better software and happier developers and customers. However, the idea of open source goes against decades of software distribution business models that are based on keeping source code private and selling you software that you can’t modify.
In the traditional closed source model software development is centralized. A core group of developers at a company have access to the source code. They make all the changes. Customers have to request a fix or new feature, it has to be analyzed and prioritized by product managers, then it gets in the development queue and some day it might make it into the software.
In the open source model the software development is decentralized. Anyone can modify the software, independent of where they live or who they work for. The only centralized functions tend to be tracking changes to the software, enabling developers via collaboration tools and deciding which changes make it into the official version of the software. The benefit for customers is that they can add their own features and fixes. Software developed in this fashion tends to be more agile and responsive. Because the source code is given away, the typical way to charge for this type of product is not as a license fee for the software itself, but as fees for setting up, supporting or hosting the software.
Open APIs = decentralized business development
The concept of open APIs is less evolved and understood than open source. API stands for Application Programming Interface. APIs are a tool for programmers to make one piece of software talk to another piece of software. For example if you develop a software application for Windows you use a series of Windows APIs that let you talk to the Windows operating system to do things like open or save files, draw windows and menus, etc.
An open API is one that is openly an freely available for anyone to use. Open APIs make a lot of sense on the web, where an open web API can be used to let third party software developers integrate pieces of your web site into theirs. For example Yahoo’s open search APIs let you integrate Yahoo search into your own site. This also works for integrating maps or photos or lots of other things into your site.
APIs have been an indispensable software development tool for decades. Making them open and applying them to web sites extends their usefulness for software developers. But their biggest impact I believe will be on business development. Just like open source software makes it possible for software development to happen in a decentralized and more self-serve fashion, open APIs enable the same to happen for business development.
Let’s look at a simple Yahoo search API example. Let’s say company X wants to build a product popularity index for PR and marketing people. One way to do this would be to look at the number of Yahoo search results for a given product. If you check that number every few hours, you get a general sense of how rapidly the product is growing in popularity on the internet. Here’s how this kind of project would happen pre-open-APIs: company X approaches Yahoo business development and proposes a partnership for a product popularity counter. Yahoo decides the project is too small and turns them away. Or they decide to do it but they have to cover the costs of negotiating a deal, drawing up papers, and creating and maintaining a way for company X to grab that data every few hours. This gets expensive and complicated. It’s why business development is often a bottle neck and deals don’t get done unless they are big.
Here’s how it can happen in the new decentralized, self-serve business development model based on open APIs: Yahoo creates a generic open API. Company X finds and uses the API without ever approaching Yahoo, builds a product and follows the usage rules (for example Yahoo might require a “powered by Yahoo” logo that links back to their search services). After a while company X’s service might get popular enough to warrant a direct deal with Yahoo (think of open APIs as a self-qualifying biz dev funnel). But even if it doesn’t, Yahoo gets the benefit of having thousands of small projects build on their APIs. Added together, they can make for real scale.
Even though they surprisingly often get lumped together, open source and open APIs are different and serve different purposes. Because of their effect on business development, open APIs are often feared by business people. They shouldn’t be. In an online world where services are continuing to evolve rapidly and intertwine in interesting ways, open APIs are rapidly becoming the best way to relieve the business development bottleneck and achieve rapid growth. Well designed open APIs – both technically (keep them simple and use standards) and from a business point of view (have clear self-serve usage rules and no adoption hurdles) – can be powerful tools for building great businesses. Just don’t confuse them with open source.