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.
Why open source?
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.
- A broader base of support. Closed-source software comes from one team, which carries all the responsibility for maintaining and debugging it. Anyone can review open-source software, and usually people from many places look at a project’s codebase. This reduces the chances of uncaught bugs.
- A higher level of trust. Open-source software holds no secrets. When you use proprietary software, you can’t be totally sure it doesn’t have a backdoor or collect more information on you than it says it does. Open source can’t hide any sneaky tricks for long. In some areas, such as encryption, no one entirely trusts code that hasn’t been published in source form.
- Avoidance of vendor lock-in. If a software company abandons a product or goes out of business, that may be the end of the story for its application. If it uses a proprietary, unpublished file format, recovering existing files could be a major chore. If some supporters of an open-source project drop out, others can pick up their work and keep the project going.
Not just for amateurs
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.
A brief history
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.
The developer’s perspective
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.
Where open source is heading
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.