Nowadays, the term open-source is pretty popular. But it also means a lot of things. Let's learn about its history and how it changed not only how we use software and services today, but also how it changed the society as a whole.
A little bit of History
The history of the free software/open-source mixes with the history of early computing and Unix itself so it's important to provide a little of context first.
Some say that it was
Dr. Donald Knuth the first person to release a program's source code (
TeX) to the public for free, but
Richard Stallman, another brilliant developer who since his early years in the Harvard, then MIT labs believed (and later campaigned) that software should be
open (ie., with its source code open to the public)
and free (as in speech, not as in beer).
His initiative soon would be known as the
free software movement.
The Free Software Movement
Before the term open-source became popular, the term "free software", created and popularized by
Richard Stallman, was more prevalent. Stallman, who in 1983 started the the
GNU operating system with the goal of creating a "complete Unix-compatible software system" composed entirely of
free software.
Stallman who working in MIT's AI lab in the early 1970s became frustrated with the spread of proprietary software, saw it as a violation of people’s rights to innovate and improve existing software. His experiences with proprietary software made him an activist in defense of free software. Today it's difficult to imagine Linux, free and open-source software today without his contributions.
Open-Source as a term
But Stallman's vision of
free software had opposition from those who thought that the requirements imposed by the the
free software movement were much too rigid. That group composed of influent people such as
Todd Anderson,
Larry Augustin,
Jon Hall,
Michael Tiemann and
Eric S. Raymond endorsed the adoption of the term
open-source proposed by
Christine Peterson as a broader and better alternative.
Soon, other influential names such as
Linus Torvalds, Phil Hughes,
Larry Wall,
Brian Behlendorf,
Eric Allman,
Guido van Rossum,
Michael Tiemann,
Paul Vixie,
Jamie Zawinski, and
Eric S. Raymond would be aligned with the new term raising awareness and industry-wide adoption.
Licenses
Licenses are an essential aspect of open-source software. The most common are:
- GNU General Public License: the license created by Stallman himself. Today there are mainly three GNU licenses: AGPLv3, GPLv3, LGPLv3
- Mozilla Public License 2.0: Permissions of this weak copyleft license are conditioned on making available source code of licensed files and modifications of those files under the same license
- Apache License 2.0: A permissive license whose main conditions require preservation of copyright and license notices.
- MIT License: A short and simple permissive license with conditions only requiring preservation of copyright and license notices.
Understanding the licenses is critical to any open-source project and is definitely a complex subject. We will address this in a more detailed post in the future.
Broader Open-Source Reach
Today, the term "open-source" goes beyond software and reaches many segments, including:
- the development model: a decentralized software development model that encourages open collaboration.
- licenses: a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified or shared (with or without modification) under defined terms and conditions.
- manufacturing: via Open manufacturing, a new socioeconomic production model to openly and collaboratively produce and distribute physical objects
- hardware: via Open-source hardware, or open hardware, computer hardware, such as microprocessors, that is designed in the same fashion as open source software
- robotics: via Open-source robotics, a way to develop physical artifacts
- product development: via Open-source product development (OSPD), collaborative product and process openness of open-source hardware
- and other similar initiatives on agriculture, ethics/culture, design, ecology, etc
The world without Free/Open software
The world we live today would be drastically different if we didn't have these initiatives by Richard Stallman, Linux Torvalds, the others previously mentioned and millions of anonymous contributors worldwide.
Below, some of the ways in which free/open-source software changed the world:
- the Internet: pretty much all the infrastructure of the internet today (routers, switches, firewalls, etc) runs Linux or open-source software. Not to mention the web servers (Apache, Nginx), databases (PostgreSQL, Redis, MySQL) and even most of the programming languages and libraries used to develop the tools and services you use are open-source.
- Services: cloud services are built on top of the above list and use container technologies such as Docker, Kubernetes, containerd, KVM, QEMU which are also open-source.
- Faster time to market: open-source also fosters and is essential for a faster time to market, critical to business today.
- Reduced development cost: it's probable that Google, Spotify, Tesla and even Amazon wouldn't exist today without open-source. It's impossible to imagine how to develop so complex products and services without the broad diversity of open tools available today.
- Education: education also benefits significantly from free/open-source software. The contributions range from the device learners are using (Android, Chrome OS for example) to the services, infrastructure and broad range of technologies that support them.
- IoT: the next age of computing will reach virtually every digital device around us. And Linux/open-source software is the
- Robotics: robotics also heavily utilizes open-source technologies (including hardware).
- Supercomputers: all of the supercomputers today run Linux. These computers are used for researches and are critical to the evolution of humankind.
- And everything else: from agriculture to rockets, spaceships and nuclear plants, open-source runs everywhere.
Famous open-source initiatives
Today, there are many, many initiatives and projects that are extremely successful and follow the open-source. Some of the most biggest projects today are:
- Software projects: Linux Kernel, GNU operating system
- Software foundations: today we have huge organizations such as the Apache Software Foundation which has more than 300 projects under its umbrella and the Free Software Foundation that collaborate under the open-source model.
- Linux distributions: most of the Linux distributions (including Ubuntu, Mint, Fedora, Arch Linux, SUSE, RHEL and CentOS) are essentially composed of open-source software
- Enterprise software: lots and lots of tools used to build enterprise software (Android, GNOME, KDE, Python, Java, Go, Ruby, WordPress, etc) where made from and are open-source software
- Independent projects: hundreds of thousands of projects are available on public repositories (ie., GitHub, GitLab) and are used as a base for thousands of bigger open-source projects.
Linux and Open-Source
The
GNU General Public License was the
tool Linus Torvalds needed to grow his project. Without the open-source model, the distributed and collaborative nature of open-source and its ever growing audience of fellow contributors and sponsors, it's impossible to imagine that Linux would have have reached
30 million lines of code and
US$ 5 billion in value.
And without the
GNU operating system, we wouldn't have a solid foundation to build the fantastic Linux distributions we have available for free today.
Conclusion
The world as we know today would be radically different without the contributions of those pioneers back in the 80's. Between them, Richard Stallman was definitely the most important proponent of the free-software agenda which was later extended by the open-source movement reaching wider audiences and gaining corporate endorsement.
Today, Linux is the biggest open-source project in the world and rules the cloud, the Internet, mobiles phones and even supercomputers. Without Linux and open-source, it's difficult to imagine how far would the society be today. Definitely we'd be behind, way behind.
References
See Also