What is Free/Libre, Open Source Software?¶
In the simplest terms, open source software is software you can share. But it is more than just shareware. Open source means that the source code of the software is available to the users. To understand what this means, we’ll need to take a little detour into how computer programs actually get made.
How Computer Programs Are Made¶
A computer program is a list of instructions given to a computer to make it perform a specific task or series of tasks. Computers do not understand English (we all wish that they did!), so programmers must communicate these instructions to the computer in a language the computer understands. Computers, however, can only operate on numbers, which makes a computer’s language very difficult for humans to understand.
The solution to this problem is to create an intermediate language that both humans and computers can understand. These are called programming languages. Programmers create a list of instructions for the computer in a programming language such as C, Pascal, or Fortran. This list of instructions is known as source code. It is textual in nature, and readable to humans (the ones who speak the language). Programmers do all their work in this source code, changing the instructions to fix bugs, add features, or alter the appearance of a program.
When the programmer believes he has perfected the instructions for his program, he uses a special program called a compiler to translate his human readable text instructions into computer readable numbers that correspond to the same instructions. The resulting file is usable by computers but incomprehensible to humans. This is called object code. The resulting executable file is often called binary, after the number system used by the computer. This translation from source code into binary object code is a one-way process. It is impossible to translate a binary executable back into the original source code.
The binary executable is what you need if you want to run and use a program. This is commonly what you will receive when you purchase shrink-wrapped software from a retail store. The source code is what you need if you want to understand how a program works internally, or if you want to change, add to, or improve a program. If you have the source code and an appropriate compiler, you can produce the binary executable, but the reverse is not true.
So, What is Open Source Again?¶
Software that is available only in binary executable format is proprietary software.
Open-source software is copyrighted software that is distributed as source code, under a license agreement which grants special rights to users of the software, rights that are normally reserved for the author. Such a license allows all users to make and distribute copies of the software binaries and source code, without special permission from the author. Furthermore, it allows users to modify the source code, and distribute modified copies.
What Does It Mean?¶
So what, you say? Why is Open Source important? Because it means that any programmer, anywhere in the world, can look at the source code, fix bugs and errors, add new features, and customize the system without limits. That is exactly how Linux has been developed from the beginning, and that is why Linux is a very stable system with few bugs, wide hardware support, and a feature set growing so fast that proprietary operating system vendors are jealous. The fact that the source code is open to review by experts all over the world ensures that any problems are found and solved quickly, and the fixes can be distributed without restriction. This is much more effective and efficient than relying on a corporation to squeeze a “service pack” somewhere into its busy release schedule. (After all, they don’t get paid for service packs.)
What really matters is that open source software is community owned. It is software that is maintained by the community of people (or companies) that use it. It is freely available on the Internet, and anyone may use it. More importantly, users are encouraged to improve upon it. By sharing our improvements and ideas, pooling our resources with thousands, even millions of others around the world via the Internet, the open source community is able to create powerful, stable, reliable software, at very little cost.
But the open source community is much larger than just the people who write the software. Everyone who uses the software participates in a real community and has a voice in its direction. You don’t have to be a programmer. By merely reporting a bug to a program’s author, or writing a simple “how-to” article, you contribute to the community and help to make the software better. Open-source software is written, documented, distributed and supported by the people who use it. That means that it is sensitive to your needs, not the needs of a corporation trying to sell it to you.
Of course, many companies also contribute to the development of open-source software, making their work available to the entire community, because they know the benefits of Open Source. Software that is supported by an entire community is by its nature better and more stable, and more and more companies are beginning to appreciate that fact.
The bottom line is that open source software is written by people who use it every day, people who have a personal interest in making it work and work well. They aren’t trying to add buzzword features, they are trying to add quality. They don’t spend time and money trying to convince people that their software is great, they spend it trying to make their software great.
“Open Source” is a trademark phrase describing software licenses that meet the Open Source Definition. The trademark is administered by the Open Source Initiative, an organization founded on the principles of cooperation that launched Linux and the free software movement. Only software that meets the criteria described in the Open Source Definition may describe itself as Open Source.
Long before the term “open source” came into use, there was a community of people devoted to the idea of “Free Software”, a phrase which refers not to cost, but to the freedom to use and modify it (think of free as in “free speech”, not “free beer”). This community still actively promotes the ideals of Free Software. To learn more about it, visit The Free Software Foundation.
For a detailed examination of how and why open source software is developed, read Eric S. Raymond’s excellent essay The Cathedral and the Bazaar.
If you’re considering open source software for your business, you should visit The Open Source Initiative to find out more. If you’re not considering it, you probably should be. Take a look anyway, and learn how the open source community can add stability, scalability, and power to your business, while actually reducing expenses.