Seven Questions for Peter Campbell on Open APIs

Submitted by Holly on Thu, 07/27/2006 - 6:20am

Enews_thumb_campbell What's an Application Programming Interface (API)?

APIs are the code in any application that allows for the customization and migration of information in and out of the program's data store.The API allows your application to interface with other systems in the same manner that a door or data line allows your home to interact with the world around it. APIs were originally developed in the telecom industry, as the need to have computer applications that integrated with telephone systems arose.The concept quickly expanded as a method for companies to merge information in their major systems, such as Finance, Human Resources Constituent Relationship Management (CRM).Common examples of APIs include: importing and exporting data in and out of donor databases; and merging data from multiple sources via the Web, such as gas prices overlapped with Google Maps.Sites that use Google or Yahoo!'s API to merge data are commonly called "web mashups."

Why would a nonprofit use an Open API?

If you want to do a mailing and your constituents' addresses lie in multiple systems (donor database, Outlook, Excel, Access), then an API could be used to quickly merge them into one address list.As grant reporting requirements become more stringent, funders want to know what percentage of labor goes into direct service versus overhead, what portion of supply expense is put directly to mission-related use, and what percentage of volunteer time was put to field versus office work.Generating this report requires integrating data from multiple data sources.An API can help automate that task.

What is an Open API, as opposed to a closed one?

An Open API is one that does not restrict you.It gives you full access to your data and the application interface to support your customized needs. A closed API restricts your ability to work with your data.The difference between open and closed APIs is one of degrees, not either/or.The less an application allows you to do with your data, the more closed it is.

Are Open APIs features of Open Source Applications?

Not necessarily.Open Source software comes with code and a license to modify it.An API is an intermediary set of rules that allows you to do customization and integration, even if the source code is encrypted, as with most commercial applications.

Why are Open APIs controversial within the software industry?

Customers often want software that will not lock them out as organizational needs grow and change.Software selection has to be tied to strategic planning, and products need to be adaptable to unforeseen needs.This doesn't rule out purchasing Microsoft or other (relatively) closed systems, as there can be strategic and economic advantages in standardizing on a vendor.But you need to do so in full awareness of how that software platform will limit your integration and reporting.There are commercial products, such as Salesforce.com, that have wide open APIs, because Salesforce operates on the philosophy that they should not restrict their customers from using their own data as they choose.

How does a nonprofit use APIs if it doesn't have technical staff with API skills?

There are many programming resources in the nonprofit technology community who will develop low-cost or free applications that work with the API (again, see Salesforce as an example - the AppExchange is a rich collection of free, low-cost add-ons, with many targeted at our community).Look at the work being done with CivicSpace/CivicCRM to support APIs and integration.Even if the actual use of the API is not an in-house function, the existence of an API for a product or web service is still critical.

Should nonprofits advocate for the availability Open APIs among software firms that serve the nonprofit sector?

As funders and constituents demand more accountability from nonprofits, and as nonprofits want to better operate our businesses, it's more important than ever to have commercial applications that are open to integration with APIs.In the nonprofit community, standardizing on one platform and developing it (the Enterprise Resource Planning (ERP) approach) is often far too ambitious - we lack the funding and resources to make that huge an IT investment.So key to our ability to operate in the information age is our ability to integrate data between our various applications.It's important that nonprofit leaders encourage software firms that serve the nonprofit sector to make Open APIs available.

Peter Campbell is the Director of Information Technology at Goodwill Industries of San Francisco.