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.
23 replies on “Open Source vs. Open APIs”
Open <acronym title="Application Programming Interface">API</acronym>s can also tap into unexpected markets that would never make it into the product roadmap of a group with finite resources. A Flickr photo viewer by color, a site mashing up stock performance with weather reports from the company's <abbr title="headquarters">HQ</abbr>, or someone writing a blog plugin to display their latest bookmarks or answers.
I've also seen self-service <acronym>API</acronym>s perform a good try before you buy system, letting a single engineer within a big company prototype a new application, get it approved, and then start sending checks for a commercial use license. Open <acronym>API</acronym>s are especially useful in startup companies where you might acquire a new customer and revenue source (big and small) without ever stepping on a plane for a face-to-face sales pitch.
In thinking of open API's I like the thought of the franchising opportunity.
As you describe technical folks are enthusiastic about open APIs because it allows us to try before we buy and to mash things up.
As you describe neither are dependent on the other nor mutually exclusive, particularly when one's business is software as a service.
Both approaches create different opportunities for software ecosystems.
I've been tossing around the idea of an OSCON talk about exactly these points, Toni. Well said.
Interested in tag-teaming a talk? 🙂
I won't say who, but when that article came out about the Yahoo! Mail API (the one when they said we were giving away the underlying code), several people literally had a heart attack. Monday morning, after Open Hack Day weekend, we were explaining to people that the article didn't quite get it right and that we weren't giving away any code aside from a simple PHP SDK to make it easier to get started writing an application.
Good times. 🙂
[…] Schneider of Automattic share’s with us some good thoughts on Open APIs vs Open Source. In a nutshell: Open Source decentralizes software development, Open APIs decentralize business […]
Jeremy – count me in!
[…] have come across many people who always get confused between Open Source and Open API. Toni Schneider of Automattic has this neat post explaining the difference between the two Even though they […]
[…] Open Source vs. Open APIs « Toni’s Garage 토니 슈나이더의 오픈 소스와 오픈 API에 대한 이야기. (tags: opensource openapis) […]
[…] Original post by Toni […]
[…] an aside, this is a good example of self-serve business development enabled by open APIs. Corel simply decided that they wanted to support WordPress and used our open […]
[…] on Lightning. Toni includes a well titled link of self-serve business development to his post “Open Source vs. Open […]
Well said! And I would add that SDKs are what Open APIs are, APIs opened to developers to call and use in their application.
And with regards to open source and open apis, I find it a joke when many companies (and even countries) rally to the call for open source in Windows (or for that matter the OS), when in fact, most businesses are only interested in Open APIs / SDKs. I mean, seriously, why would any other businesses be interested in extending the OS when many are even out-sourcing the development of business applications?
Honest to heart, between MS and the various successful software companies out there, I dare say that MS's SDK documentation is one of the most comprehensive in the Software industry.
Again, great article! Thanks for the read!
Happy New Year and have a great year ahead! 🙂
[…] Open Source vs. Open APIs, Toni’s Garage, Toni Schneider (Blogs) […]
[…] between open source and open APIs? Quite a bit. I think that Toni Schneider sums it up quite well in this post… open source = decentralized software development, while open API = decentralized business […]
[…] development. Toni Schiender posted some insightful information about the difference between Open Source and Open API’s but I will personally point out how Youtube’s API fits the pattern of Innovation in […]
[…] the difference between openness as in Open API and openness as in Open Source. Some people think Open API and Open Source are the same when they aren’t. For example, here Pearson OpenClass is referred to as open source, when it’s actually open […]
[…] there is a slight difference between the two that should be kept in […]
[…] there is a slight difference between the two that should be kept in […]
[…] If you wondering what open API is and want to know more about it visit here […]
[…] Continuous Deployment: A new way of making software (from the early days of WordPress.com). – Open Source vs Open APIs: How “openness” impacts both software development and business development. – On […]
[…] Open API is the most adaptable and resilient API on the market and is used by several major technology platforms, most notably, Salesforce. Any given business software may utilize several different types of APIs associated with various tasks. However, open API often provides a flexible but resilient foundation for the system to be tailored for individual use. […]
[…] way to avoid integration problems is to choose an accounting system with strong, resilient API. Open API, in particular, provides strong connections for both single-platform and multi-platform […]
[…] https://toni.org/2007/01/30/open-source-vs-open-apis/ […]