rescued

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).
  • 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).
  • 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

A Very Brief Introduction to Free Software

Published by Matthew Davidson on Tue, 13/11/2012 - 4:51pm in

Introduction

A lot of software is published under licenses that restrict your freedom to do what you want with it. Unfortunately, the widespread use of these restrictive licensing terms coincided with the widespread adoption of personal computers, so many people don't see the restrictions as anything unusual.

Definition

A program can be considered free software if it is distributed under conditions which guarantee the user:

  • The freedom to run the program, for any purpose
  • The freedom to study how the program works, and adapt it to your needs
  • The freedom to redistribute copies
  • The freedom to improve the program, and release these improvements to the public

Free as in Freedom

In general use, the word free has two possible meanings; "free from restrictions", or "free from monetary cost". In the context of "free software", it is the first of these that applies.

It is possible to sell free software, and it is also possible to acquire software at no cost which does not meet the above criteria for free software (such software is often called "freeware"). As a practical consequence of the four freedoms above, it is generally possible to acquire copies of free software at little or no cost, but low cost is only one of the benefits of freedom.

Copyleft

"Copyleft" is a technique employed in some free software licenses to ensure continued freedom by the imposition of one restriction. If you redistribute copylefted free software or software derived from existing copylefted free software, you must do so with no additional restrictions.

That is, you can't take copylefted free software and redistribute it under a non-free license.

Open Source

In 1998, a number of prominent members of the free software community began applying the term "open source" to free software, in the belief that it was a less ambiguous term which might encourage wider adoption of free software, particularly in the corporate world.

While this has undoubtedly been the case, the term "open source" is not without it's own ambiguities. These ambiguities, along with the open source movement's emphasis on the practical benefits of collaborative software development rather than freedom, have allowed some unscrupulous companies to imply that their products are "open source" simply by making the source code of their software available in some way, even if the precise distribution terms of the software do not meet either the Free Software Definition, or the Open Source Definition.

Because of this, and because we believe that freedom is desirable in itself, we prefer to use the term "free software".

Further Reading

Tuesday, 13 November 2012 - 4:44pm

Published by Matthew Davidson on Tue, 13/11/2012 - 4:44pm in

A while back we rebuilt our work website from scratch. It was decided almost unanimously (I abstained) that pretty much everything I'd written for the site was far too grumpy, beardy-weirdy, and alienating for potential clients, so none of that was preserved. I was since contacted by a university lecturer who wanted to know what had happened to one of these articles, as he wanted to assign it to his students as required reading. So, ha!

For the benefit of other connoisseurs of sharp wit and devastating insight, I'm finally getting round to retrieving such bits that are worth salvaging and republishing them here, under the tag rescued. Enjoy. Or not.