Oct 2007 - Special Edition

Ask the Expert: What's the difference between Open Source, Open Standards, and Open APIs?

by Dr. David Crooke, Founder and Chief Technology Officer, Convio

The term open source refers to software whose source code — the medium in which programmers create and modify software — is freely available on the Internet; by contrast, the source code for proprietary commercial software is usually a closely guarded secret. The most well-known example of open source software is the Linux operating system, but there are open source software products available for every conceivable purpose.

Open source software is distributed under a variety of licensing terms, but almost all have two things in common: the software can be used without paying a license fee, and anyone can modify the software to add capabilities not envisaged by its originators.

A standard is a technology specification whose details are made widely available, allowing many companies to create products that will work interchangeably and be compatible with each other. Any modern technology product relies on thousands of standards in its design — even the gasoline you put in your car is blended to meet several highly-detailed specifications that the car's designers rely on.

For a standard to be considered an open standard, the specification and rights to implement it must be freely available to anyone without signing non-disclosure agreements or paying royalties. The best example of open standards at work is the Internet — virtually all of the technology specifications it depends on are open, as is the process for defining new ones.

An Application Programming Interface (API) is a feature of a software application that allows other software to inter-operate with it, automatically invoking its functionality and exchanging data with it. The definition of an API is a form of technology standard. The term open API doesn't yet have a universally accepted definition, but it's generally expected to be "open" in the same manner as an open standard.

The common theme of "openness" in the above definitions is the ability of diverse parties to create technology that interoperates. When evaluating your organization's current and anticipated software needs, consider a solution's capability to interoperate as an important criterion. To extend the value of your technology investment, select a software solution that is based on open standards and APIs that facilitate interoperability and has the capability for direct integration between various vendors' products.

Ask the Expert: What's the difference between Open Source, Open Standards, and Open APIs? | Convio