open standards

Error message

  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in _menu_load_objects() (line 579 of /var/www/drupal-7.x/includes/menu.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6600 of /var/www/drupal-7.x/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /var/www/drupal-7.x/includes/common.inc).

A Very Brief Introduction to Open Standards

Published by Matthew Davidson on Tue, 13/11/2012 - 5:00pm in

Introduction

Computer technology at it's most basic level is the storage, retrieval, and distribution of data. For different computer systems to operate together, they must employ the same methods of storage, retrieval, and distribution; that is, they must adhere to common standards.

For any two parties that wish to share data, the simplest way of achieving this is for both to simply use the same software from the same vendor to access the data. When a majority resorts to this method of achieving interoperability, the software they use becomes known as a de-facto standard. The widespread use of the many variants of Microsoft™ Word format is an example of this. De-facto standards are usually proprietary standards; how they work is considered a trade secret. It is difficult, and often illegal, to write other software that works with proprietary standards.

Often, an individual or organisation may claim a monopoly a particular standard through software idea patents, but license it's use to third parties. The MP3 audio compression algorithm is an example of this.

Alternatively, open standards define common data formats and transfer protocols which are available for anybody to implement and use. For example, the core standards which define how the Internet works are open standards.

Principles

There is no definitive description of what constitutes an open standard. Most attempts to define open standards enumerate principles which may be condensed to the following two:

1. Public Specification

The standard must be published so that it is technically possible for anybody to implement the standard. Software authors should be able to refer to the standard to write compliant software. Users should be able to refer to the standard to help them use software that complies with the standard.

Preferably, the development of an open standard should be open to public scrutiny and participation.

2. Free to Use

Anybody should be able to implement or use an open standard, without restriction.

It is possible in many countries to patent the algorithms (abstract ideas, distinct from the concrete expression of those ideas as computer code) contained in computer software. The patent holder not only has copyright over their own implementation of an idea, but also the right to restrict anybody else writing their own software which uses the same technique. This is somewhat analogous to the writer of a play or a novel being granted not only monopoly control over the publication or performance of their own work, but also any subsequent work by any author which can be shown to have a similar plot.

Most advocates of open standards insist that any technology used in a standard must at least be available for use under a royalty-free license. Many maintain that this still allows a patent holder to withhold the royalty-free license at some later point at time, and that therefore no standard that contains patented techniques can be considered an open standard.

Benefits of Open Standards

Some of the benefits of using open standards include:

Lower Cost

Open standards are free for anybody to implement, meaning that end-users can usually choose from many different software packages that perform the same task in the same way. This exposes software vendors to competitive pressure, lowering the acquisition cost of software based on open standards.

Lower Risk

The use of proprietary standards makes the user a hostage to the whims and fortunes of the owner of those standards. For example, the owner of a proprietary file format may at some point go out of business, or decide to discontinue support for that file format. If you store data in that format, you may subsequently find yourself unable to access your data as easily as you would like, if at all.

Interoperability

The use of open standards gives those with whom you share data the option to use software which best suits their needs.

Open standards allow software from different vendors to work together, allowing you to choose the best software for each task, rather than relying exclusively on software from one company.

Flexibility

Because software designed around open standards essentially works the same way, it is easy to adopt software that precisely suits your needs, rather than being forced to use the software that everybody else uses.

Faster Development and Implementation

Open standards make it easier to write software by defining standard ways to perform common tasks.

If the file formats and interfaces of the software you are using comply with open standards, you can easily replace this software with other software that complies with the same standards.

Further Reading