What Is Open Source

Open source usually refers to software that is released with source code under a license that ensures that derivative works will also be available
as source code, protects certain rights of the original authors, and
prohibits restrictions on how the software can be used or who can use it.

In this article:

Answering the question What is open source? used to be a lot simpler than it is today.

Open source began as, and for the most part still is, software created by a community of people who are dedicated to working together in a highly collaborative and evolutionary way.

Open Source vs. Commercial Software

The most important difference between software created by the open source communities and commercial software sold by vendors is that open source software is published under licenses that ensure that the source code is available to everyone to inspect, change, download, and explore as they wish. This is the essential meaning of open source: the source code--the language in which the software is written and the key to understanding how the software works--can be obtained and improved by anyone with the right skills.

More precise definitions extend this basic concept by adding provisions concerning derivative works, the rights to use the software for any purpose, the rights of the original author, and prohibitions against discrimination.

How Open Source Software Is Developed

For those new to the idea of open source or unfamiliar with the way software gets developed, here's how it works most of the time:

One or more developers--meaning people who have the skills to create software--get an idea about creating software to solve a problem.

The developers start writing code to create a solution. This is frequently called "scratching an itch."

The developers put this code where other developers can find out about it, download it, and play with it. There are many locations, such as SourceForge.com, where people post their projects.

Usually the source code is published under one of several popular open source licenses that ensure that the source code and any derivative works remain open source.

Through an informal process of sharing ideas, fiddling with each others' code, and trial and error, the software gets better and better, sometimes changing direction to solve new problems as new people discover the software.

At some point, the software gets finished or doesn't. It becomes popular, stays obscure, or fades away. Programs like Linux and Apache have had thousands of contributors. Other projects have been created by one or two people.

As time goes on, developers come and go, and projects become active or dormant.

A huge amount of amazing software has been created through this loose process. While much of open source development has focused on creating tools for software developers, an increasing amount of effort is being put into creating programs to solve less technical problems like publishing blogs or keeping track of skydiving activity.

Differing Definitions

While this explanation is sufficient for most purposes, such a simple answer is really no longer accurate. The right answer today depends on your perspective. To really understand the question What is open source? in a complete and useful way, we must know who is asking the question. For example, if we asked Linus Torvalds, Richard Stallman, or Bill Gates, we might get very different answers. Here's what open source means to a variety of different groups.

Users of software

For users of software who have the skills to download and install software, open source means choice and freedom.

The choice comes from the huge amount of programs available. Some programs like Firefox (the smoking-hot browser from Mozilla.org) or OpenOffice.org (a suite of word processing, spreadsheet, and related programs) can be downloaded and used by just about anybody. Other open source projects such as Babeldoc or Axkit are mostly useful for software developers.

None of this open source software costs money. Some programs charge subscriptions for support, updates, documentation, or premium versions, but most of those are usable without paying a fee.

The freedom comes from the fact that the source code is available. If you want to change something, then you can, if you have the right skills. Only a handful of the people who download and use open source ever actually change it. Most use it as intended, but they have the freedom to modify it if they want.

Developers and Engineers

For developers and engineers, open source has many additional meanings. To those who found a successful project, open source can mean fame, recognition, and sometimes even money from consulting or other sources.

Other developers see in open source a masterful software development methodology founded on the virtues of collaboration, incremental evolution, and working code.

For most developers, open source is a both a source of tools to help solve problems and a constant source of exciting new things to learn.