Linux DevCenter    
 Published on Linux DevCenter (
 See this if you're having trouble printing code examples

Living Linux

Open Source Beyond Software


Software programs aren't the only thing you can make "open source." This week's column shows you how to apply these principles to any kind of work.

What "open source" means

The term "open source" was first introduced in 1998 as a marketing term for "free software." Some felt that people unfamiliar with free software might confuse it with "freeware," software whose binaries could be copied free of charge. Free software means nothing of the sort, of course; the "free" refers to "freedom," not price. Free software is software published in such a way so that everyone is free to copy it, distribute it, and modify it.

With proprietary software, these freedoms are strictly prohibited -- in accordance with current copyright law, which was formulated in an age when works were normally set and manipulated in a physical form, not as the non-physical data that computers copy and modify.

Free software licensing was developed as a way to work around these failings of copyright law: they permit everyone to copy and modify a work -- but under certain strict terms and conditions which ensure that others can't produce proprietary derivatives, take credit for someone else's work, or otherwise exploit these freedoms.

The Linux kernel is published under the terms of a software license called the GNU General Public License. The GPL "copyleft" has historically been the most popular of these free software licenses.

Software is data

Free software licenses were designed to be used with software programs, a specific kind of work. The open source phenomenon originated with computer software because the computer is what made it possible to make perfect copies of a work -- but even some software programs require other kinds of works for their operation and use.

For example, the spell tool is used to check spelling. But spell isn't very useful without a dictionary file to check its input against!

There are many non-software components of a computer system -- icons, fonts, images, sound samples, documentation, and certain configuration files, lists and other data all fall into this category; these components are data, but they are not software programs.

Computers have brought about fundamental changes in the way we communicate -- and with this comes the potential for an unprecedented era in human liberty. This can happen when all of the published data in our environment come with the freedoms we currently enjoy with free software.

Lawrence Lessig, author of Code and Other Laws of Cyberspace, recently gave me his thoughts on this:

"Software is content, just as music or film is content," he said. "It gets used to build other software, just as parts of our culture get used to make other parts of our culture. The free software movement has shown us the great value in open code; it should also show us the important value in open content. The same ideals in different domains, for the same important reasons: creativity and innovation."

How to copyleft your work

You can copyleft any kind of work that is recognized by copyright law, provided the work exists in machine-readable form (where identical copies can be made without harm to the original), and provided that you are its copyright holder. If you are the author of a work, then you automatically hold its copyright; you don't need to register your work with the copyright office.

The Design Science License is a generalized "copyleft" license that was designed to be used by the general public for such works.

To apply the DSL to your work, do the following:

In many cases, the source data and the object form of a work will be the same -- this is the case for software programs written in the Perl language, for example. But often, the source data will differ from a given object form. For example, when the object form is an MP3 format file made from a WAV format sample of an analog source, the WAV sample is the source data. For a cropped and manipulated JPEG file of a photograph obtained from a Kodak PhotoCD, the original PhotoCD file is the source data.

By copylefting your work in this manner, you can make it available for the benefit of everyone -- all copies and modifications of your work remain equally as free as the original -- while attribution and artistic integrity is guaranteed.

Michael Stutz was one of the first reporters to cover Linux and the free software movement in the mainstream press.

Read more Living Linux columns.

Copyright © 2009 O'Reilly Media, Inc.