Many of the software products that everyone uses are open source. The Linux operating system, the Apache Web server, and a large number of software development systems are all open-source software. Their being open source is one of the reasons they’re so widely used. They’re more stable, more accessible to public view, and more trusted than they would be as unpublished proprietary code.
A 2015 survey reported that 78% of companies run all or part of their operations on open source. It’s a rare business that doesn’t use open source at all. Why is this? Why would anyone use software that complete strangers collaborate on rather than something safely under one business’s control? There are several reasons.
For-profit companies often are the prime maintainers of open-source projects. They make money by selling support and incorporating the software into professional-level packages. Often they release an open-source version at no cost and a supported “pro” version which they charge for.
Making their software open-source increases their connection to the user and developer communities, and it gains them the trust which published source code earns. Their development teams understand the code better than anyone else, so it’s unlikely anyone else will take the momentum away from them.
Other businesses create their own extensions to well-known open-source projects. Having access to the source code helps them to understand how to add to its functionality. Depending on the license, they may legally be able to make their extensions proprietary, but usually they don’t. Customers who value open source for the base product value it in the add-ons.
Open-source developers often get paid for their work. They may be employees of the company that runs the project. They may work at academic institutions. Their employers may let them spend some of their time on open source in addition to their regular duties. There’s nothing wrong or strange about being paid to write open source.
There’s a distinction between open source and what’s called “free software.” The advocates of the latter, especially the Free Software Foundation, maintain that they’re talking about “free as in freedom,” not “free as in a free lunch.” The best-known expression of free software principles is the GNU General Public License (GPL). Under it, a software developer can’t extend a free software product and sell the enhanced version as proprietary software. Under other open-source licenses, that may be permissible.
Without going too deeply into this controversy, it’s enough to say that all free software is open source, but not all open-source software is free software in this sense.
Open-source software can use many different licenses to set the terms of use. Some licenses let people do anything they want with the code, while others require acknowledgement, prohibit sale for money, or place other restrictions. What’s common to all of them is that anyone can pick up the source code and put it to their own use.
In the early days of ARPANET, sharing source code was the norm, so we can say that open source started there around 1970. Some notable projects included Emacs, which is still a popular text editor on Linux, and TeX, a text markup package. In 1985, Richard Stallman launched the Free Software Foundation, and in 1989 he wrote the first version of the GNU GPL.
Open-source software became accessible to the general public with the rise of the Internet. Early versions used protocols like FTP to manage shared repositories. One of the first public Web-based repositories was SourceForge, launched in 1999. Code management software such as Git (which is itself open source) has made it easier for independently working teams to collaborate on projects.
An innovation which has helped open source to grow and diversify is the ability to “fork” a project, or create a new version starting from a snapshot of an existing project. People have put this to good use when they have a different idea of how the project should go from its primary development group, or when they’re afraid that the sponsoring business isn’t living up to the spirit of open source. Notable examples include the Ubuntu Linux distribution, which is a fork (some would prefer to say a derivative) of Debian, and the Libre Office application suite, which is a fork of Open Office.
Developers often find open-source work more enjoyable than writing proprietary software. They can put their names on the source code for everyone to see. It’s not just the fact of getting credit, but the opportunity to let other geeks appreciate how clever the code they wrote is. When other people add to it, it confirms their feeling that they’ve done something important. They may get to go to conferences where they can talk with other developers working on the software.
Developers of proprietary software usually have little public visibility. Confidentiality requirements keep them from talking to outsiders about exactly what they’ve created. They get paid well and get to work on exciting projects, but it’s not quite as much fun.
People living before the Internet era didn’t imagine that one of the best ways to make money creating software would be to give it away. Today we take it for granted. Open-source software has found its way into almost every kind of use, and its adoption is still growing.
Open source shows the power of community building at its best. People from around the world, working for different employers or for themselves, can join in the creation of complex, highly useful projects. No credentials are necessary except for the quality of the code they write. They create software which doesn’t have secrets and which anyone can improve. The world would be poorer today without open-source software projects.