Categories
Random Web 2.0 Yahoo

Open Source vs. Open APIs

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.

Conclusion

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.

24 replies on “Open Source vs. Open APIs”

Good post.

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.

Brilliant essay!

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 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. šŸ™‚

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 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.  […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s