In this article I'll cover the history of software from a social and legal perspective. It is an amazing story that is still unfolding today. You will learn about software licenses, the difference between open source and free software, the checkered history of the Gnu Public License (GPL), the fantastic rise of the open source phenomenon and finally where we stand now.
Software is copyright protected (at least by United States law). That applies both to source code and object form. That means software is usually distributed with a license. This article will focus on open source licenses. Open Source and Free Software The term FOSS stands for "Free and Open Source Software." The term Open source is pretty clear as it means you get the source code. "Free" is not as clear with the "Free as in Free Speech" and "Free as in Free Beer" meanings. There are two major organizations that maintain two lists of software licenses. Those organizations are the Open Source Initiative and the Free Software Foundation. The FSF defines "Free" as in "Free Speech".
The History of the GPL
The Gnu GPL (GNU General Public License) is one of the most popular FOSS licenses. It was written in 1989 by Richard Stallman. The GPL granted the following freedoms:
- The freedom to run the program as you wish, for any purpose.
- The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor).
- The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
But, the GPL is more than just about freedom. It also requires copyleft, which boils down to the fat that any derivative work must also be GPL licensed.
That means that if you make a modification to software licensed under the GPL, your modified software must also be licensed under the GPL. This prevented many companies who develop proprietary software from using GPL software.
Over the years, various versions of the GPL were developed. There are also variations with certain exceptions such as LGPL.
The GPL also suffered a lot of criticism over the years, but still remains popular. But, the trend is clear as more permissive open source licenses such as BSD, MIT, Mozilla and Apache rose in popularity.
The Rise of Open Source
Open source software has seen amazing uptake. It started getting traction with hobbyists sharing code using either GPL or other open source licenses on Web sites such as Source Forge. Then, Google started its "Summer of Code" program in 2005, which gave a massive push to open source development and recognizing its importance. Several companies, Red Hat for example, built businesses around open source software. The floodgates opened up. Distributed version control systems such as Mercurial and Git emerged as yet another enabler of tight collaboration between people in remote locations and different time zones. Next thing you know, github.com made open source work even easier and more accessible.
Where Are We Now?
Now, we're in a magical era where the biggest companies share their deepest research and technologies as open source. Years of work by the brightest developers is available for everybody — Google sharing core technologies such as Chromium, Kubernetes and TensorFlow, Facebook sharing frameworks like React, Twitter sharing Bootstrap, Microsoft (Yes, Microsoft) sharing The .NET framework. This is, of course, just a sample of the many companies involved. Many cutting edge projects and technologies like Spark and Cassandra are open source and have commercial companies supporting them. Mozilla is all about open source with its Firefox browser. The Apache foundation started with the Apache Web server, but is now the host of many high quality projects — many of them contributed by big companies.
The GPL started the revolution but has lost its appeal due to an abundance of restrictions. But, something else happened organically. Large and small companies realized the benefits of collaboration and open source and voluntarily distributed their core technology and software under very permissive open source licenses. The GPL may have lost the battle but developers have won the open source war and there have never been so many great options to choose from as a foundation for applications.