What is Open Source?
In today’s day and age, most systems are analyzed for their high-end functionalities – phones for their awesome cameras, their incredible features, PCs for what you can do with them, and how fast you can do it. The evolution of computer technologies has brought us to a stage where we consume the resources rather than analyze them. But this means that some of the foundational aspects of these gadgets and consumer technologies are overlooked. Sony’s PlayStation OS, Google’s Android operating system and many others are, in fact, open source operating systems.
Open source, very practically means that anyone can take a look at the code – it’s literally “open”, and can be shared with anyone else. Open source is publicly accessible. Consider the stark contrast between the closed source Microsoft Windows and how *NIX systems evolved over time as open source projects – together with the communities they built around themselves. Open source breeds collaboration and has a strong ethics component to it – that software should remain free to evolve for the good of the user and the community. Take the example of Linux – programmers work for competing companies at times (Novell, Red Hat, Canonical etc.) while others participate as hobby developers and simply try to improve what’s there. All of this code is available for free for anyone wanting to use it (bound some licensing rules like MIT, BSD or even GPL)
Open source is becoming more and more relevant as time goes by – as the times of large software monopolies is slowly subsiding. Companies that advertise their open source strategies are more likely to be embraced by customers looking for transparency and community support. And it’s even more noticeable when looking at technologies of the future like AI. Google has already open sourced TensorFlow back in 2015 allowing a number of companies to take their first step in AI by building applications on the same software backed by a large company (ensuring some degree of continuity).
Open-source means releasing the source code. While there may be open-source software that’s free of charge, programmers can continue creating lucrative careers through software services and support.
A Short History of Open Source
Free software is not a new concept. It goes as far back as the 1950s-1960s when software was mostly developed in collaboration by academics and researchers and shared as public-domain software.
In 1984, when the Free Software Foundation and GNU Project was set up and the political idea of free software started to gain more popularity. Under a set of rights that was published under the GNU General Public License (GPL) free software such as GNU C Compiler and GNU Emacs was developed.
The term of Open Source was adopted after 1998, when Netscape released their Netscape Communicator Internet Suite as free software. Christine Peterson suggested the label of open source after Netscape announced the release of a source code for Navigator. Not long after, at an event that would later be named the “Open Source Summit”, the term increased in popularity, and was adopted by the free software community.
By the end of the ‘90s, “open source” would be widely accepted as the term for free software within the software industry.
The Advantages of Open Source
As open-source software becomes more and more popular, companies that use proprietary or closed source software begin to struggle competing with those that choose to use open-source. Open-source software has the advantage of being easily developed not by just one company, but by several collaborating companies. In addition, individuals can contribute to this development as they have access to modify and improve the code to serve their own needs.
There are certain rights that programmers can rely upon. These are the right to make copies and distribute these copies of the program, the right to access the software’s source code, which is a requirement if you need to change it, the right to improve a program. All these rights ensure equality between the contributors to a software. They guarantee low prices on the market and regulate that modifying an open-source program to suit a certain market is not subject to royalties or license fees.
That being said, there are certain criteria to comply with when distributing open source.
- An open-source software should be free to redistribute. Meaning that anyone can sell or give it away without having to pay any fee for such redistribution.
- The source code must be included, as this is a mandatory prerequisite for any other programmer to be able to modify or enhance the open-source software.
- Its license has to specifically allow the modification of the software and its distribution without changing the terms. However, restriction to distribute the source code in modified form is possible should the license allow “patch files” to be distributed with the source code in order to modify the program at build time.
- The license should not discriminate in any way.
- The license should not restrict other software. Not all programs distributed on the same medium need to be open source.
Did you know?