How Things Work: Open-source software

Most students at Carnegie Mellon have used, or at least heard of, open-source software. Examples of such software include the browser Firefox and the mobile operating system Android. Open-source software, in most basic terms, makes its code publicly available for modification and distribution by users. Proponents believe that creating an open community of programmers who modify software for their own uses provides the best possible experience for users, allowing them to customize according to their own needs.

One of the common misconceptions about open-source software is that it’s hard to make money using it. After all, since the code is distributed freely and can be modified by any user, why would anyone spend money on it? However, according to the Open Source Initiative (OSI), there are many ways to make money from open-source software. Groups can offer maintenance services related to the code, or license the trademark to make money from the code they write. The OSI is a nonprofit organization that creates a set of standards for open-source software.

The fact that open-source software can be used for commercial purposes is one of the main differences between “open software” and “free software,” which some people use interchangeably. Richard Stallman, a big proponent of free software, summarized the difference between the two in an article on “Open source is a development methodology; free software is a social movement.”

According to him, open- source focuses on developing the best possible version of software by harnessing the power of many developers creating many different versions of the software. However, free software is distributed at no charge with the code publicly available and with special attention paid to the ethics behind the software. For example, malicious software to track a user’s computer usage could be considered open-source as long as the code is made publicly available. However, that malicious software would not be considered free because it doesn’t respect the user’s right to privacy while using a computer.

According to an article published by Harvard Business School, there are many reasons programmers choose to work on open-source projects on their own time, even when they don’t derive financial benefits from such projects. These projects let programmers create custom versions of software that work well for their particular usage. Programmers are also used to working with this type of software from their student days, and many choose to continue working on such projects into their careers.

Working on a big open-source project is a good way to gain experience in a real-world coding environment, which many programmers value. Since open-source is transparent, it’s also easier for programmers to measure their progress against others; in corporate projects, it’s often hard to tell who worked on what.

A report by development-testing company Coverity found that open-source software has quality on par with that of proprietary software. That makes sense, considering the passion and talents of the many programmers who work on such projects. Many users take advantage of such products and are grateful for their price and quality.