Open APIs versus open source

It's not enough to provide source if you want to make it easy to contribute to your project. You also need open APIs, which lower the bar to outside contributions.

Juergen Brendell over at SnapLogic writes insightfully about the value of open source versus open APIs (application programming interfaces). (This is a related argument to Savio Rodrigues' insistence on open standards .) Open source is nice and helpful in fostering development communities around a project, Juergen writes, but open APIs go that much further.

But Juergen isn't arguing that you can have one without the other (though if stranded on a deserted island, I think he'd choose open APIs). Rather, he's arguing that developers need open APIs first, with open source a nice complement to them:

What makes contribution-via-API so attractive (as compared with contribution-via-source)?

  • You don't need to understand someone else's code, which is a huge factor for many potential contributors.

  • You can start with a simple "hello world" example, which is normally provided in the documentation for any of the APIs, and go from there. This is a model that tends to work very well with a lot of people, since you will instantly have something to try and run. Instant gratification for developers.

  • No risk of breaking things: The API (should be) designed in such a way that whatever you do will not impact anyone else who uses the service/application.

  • No risk of rejection: You just use the API. No maintainer has to agree to your view or vision. You can make your contribution public in any way you like, if necessary completely independent from the actual project.

The source might be there for anyone to work with, but even open-source companies should spend time and effort to design open APIs, since that is often the much easier, less painful way for contributors to get started.

APIs, alone, only get you so far with third-party developers, as Juergen notes: "Some contributors just want to get into the guts of the system, contributing on much deeper levels than just the APIs. In that case, well-designed and inviting code and clear architecture can go a long way to attract those extremely valuable developers." Agreed.

If you want to lower the bar to outside development, you need to make it as easy as possible to contribute with a modicum of advanced preparation. Open APIs are one good way of doing this.

I've written before on the attributes of good open-source communities (corporate and otherwise). I should have added open APIs to the list. Good catch, Juergen.

Tags:
Tech Culture
About the author

    Matt Asay is chief operating officer at Canonical, the company behind the Ubuntu Linux operating system. Prior to Canonical, Matt was general manager of the Americas division and vice president of business development at Alfresco, an open-source applications company. Matt brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. He is a member of the CNET Blog Network and is not an employee of CNET. You can follow Matt on Twitter @mjasay.

     

    Join the discussion

    Conversation powered by Livefyre

    Show Comments Hide Comments
    Latest Galleries from CNET
    Nissan gives new Murano bold style (pictures)
    Top great space moments in 2014 (pictures)
    This is it: The Audiophiliac's top in-ear headphones of 2014 (pictures)
    ZTE's wallet-friendly Grand X (pictures)
    Lenovo reprises clever design for the Yoga Tablet 2 (Pictures)
    Top-rated reviews of the week (pictures)