The open source principle empowers anyone with an interest to alter the source code. Cravetiger / Getty ImagesEssential Points to Remember
- Open source software provides both the source code and its compiled version, enabling alterations and personalization.
- For software to be considered open source, it must be freely distributed, include the source code, and grant permission for modification and redistribution.
- Some well-known open source software includes Linux, Mozilla, Apache, PERL, and PNG.
Typically, software you purchase or download only provides the compiled version, which is ready to run. Compiled means the original program code, also known as the source code, has been processed through a compiler—a tool that converts the code into a language the computer can understand (see How C Programming Works for more on compilers). Modifying the compiled version of most applications is extremely challenging, and it’s almost impossible to examine the exact way the developer structured the program. Commercial software companies view this as a benefit, as it prevents competitors from copying their code. It also allows them to control the quality and features of the software.
On the opposite side, open source software includes both the source code and the compiled version, with modifications and customization actively encouraged. Developers supporting the open source movement believe that by opening up the source code for anyone to tweak, the software will become more useful and error-free over time.
For software to be recognized as open source by the software development community, it must meet certain requirements:
- The software must be freely distributed (though it can be sold as part of a package, such as how Red Hat distributes Linux in the example below).
- The source code must be included.
- Anyone must be permitted to modify the source code.
- Modified versions can be redistributed.
- The software's license must not exclude other software or interfere with the operation of other programs.
Let's explore a practical example of open source software. In 1991, Linus Torvalds, a student at the University of Helsinki in Finland, created a new operating system based on Minix, a version of Unix, and named it Linux. Torvalds released Linux version 0.02 under the GNU General Public License, which offers a clear legal definition of open source software. Linux quickly gained traction, with many users around the globe—most of them programmers—downloading it and making their own changes to the source code. Over the following three years, Torvalds received these modifications and integrated several of them into the original version, releasing Linux version 1.0 in 1994.
One common issue faced by end-users wanting to use open source software is the absence of warranties and technical support. Since the software’s license promotes modification and customization, providing consistent support becomes extremely difficult. To address this, Red Hat Software, established in 1994, created the "Official Red Hat Linux" and started selling this typically "free" software. The primary value Red Hat adds is the provision of warranties and technical support. For many businesses, the guarantee of such support has been a deciding factor in purchasing Linux rather than simply downloading it for free. In addition to Red Hat, several other companies have also packaged Linux, often with extra software, for resale.
Beyond Linux, Mozilla (the foundation of the Netscape browser), Apache (Web server), PERL (Web scripting language), and PNG (graphics file format) are prominent examples of widely-used software built on open source principles.
Here are some fascinating links for further exploration:
- How CGI Scripting Works
- The Open Source Definition
- Linux Online
- Website dedicated to Open Source software
- Debian: Free Operating System
- Apache Software Foundation
- PERL Homepage
