An Open Source Software is basically software that can be modified by users. This is made possible by the fact that for OSS the source code of the software is shared with the software. Once the source code is available, programmers are at liberty to enhance software by adding and removing features and in a way, customize the software.
Previously known as Free Source Software, the concept is not at all new. Back in the 80s, Open Source Software (having changed from Free Source Software due to the perception of the term ‘free’ it was feared to have to the corporate sector) is said to have started gaining popularity. With the main goal of allowing users to understand how particular software functions internally, it was a common practice for developers to share the source code together with the software.
That said, one must wonder of what benefit it is to programmers to freely avail their source code. What do they stand to gain once they give it out for ‘free’ as opposed to making a propriety software or a closed source software whose code is not availed for modification and whose source code can only be accessed by the authors? Are the users guaranteed of a better product? Here’s more on it.
Users are becoming more selective on the software they pick to execute tasks. For this reason, users prefer to have the access to modify software in order to ensure stability and safety.
How so? First, Open Source Software can be easily edited; hence, whenever there is an omission by the original authors, it can be quickly fixed. In addition, OSS’s source codes are available, hence making it easy to spot any issues with software. This makes it easy to be upgraded, making it the preferred choice in comparison to propriety software whose any editing will require permission from the original author, and the author has an upper hand. They can decide what to change and when to change.
In addition, more and more users are attracted by the freedom that comes with OSS. Software vendors tend to make themselves indispensable. Purchasing propriety software basically means that a user is at the mercy of the vendor. OSS comes with great flexibility and leaves them in charge of making their own decisions.
Assume that you have to choose between these two products: One that has been developed but cannot be accessed by other experts for development and another one that has been developed but is available for modification, it is constantly being upgraded, edited, modified over and over again, and it is still open for correction. Which one would you pick? I reckon the later. Chances are high that software that is available for modification by a group of experts has a greater quality in comparison to one that is inaccessible for scrutiny. Linus’ Law ‘Given enough eyeballs, all bugs are shallow’ was the whole point of Open Source Software.
With all the benefits of OSS, the sealing deal is the lower costs associated with it. Why would businesses then use loads of money to acquire software and be at the mercy of the developer? However, it is important to note that OSS does not necessarily mean that it is free of charge. Given that the author makes the source code public, they sometimes charge for developing the software, others prefer to charge for software services and support as opposed to charging for the software itself. Other ways developers utilize to make money out of OSS is dual licensing, selling of branded merchandise (companies such as Mozilla Foundation and Wikimedia Foundation sell branded materials such as T-shirts and caps), selling of trademark use, partnerships with funding organizations and advertising-supported software.
Apple shared its Swift Programming Language and allowed it to run on other devices such as Android machines, Windows and Linux. Huge difference from the way it previously operated. To the extent of allowing its competitors to use its software on direct competitors is mind-blowing. Apple is famed for having highly custom-made closed source software but it is all changing now. In addition, Google is seen to have open sourced TensorFlow which was, for the past 15 years, handled solely by Google.
With the example of these two giant companies, it is obvious that there is a general shift in how companies are viewing the software business. That having a handful of developers is helpful, but opening up to the world accelerates technology and raises the bar to infinite possibilities. 2015 has been marked by interesting moves by companies which share the source codes of their inventions. Acknowledging that sharing the code behind their invention is beneficial to not only them but their users and the public is a turning point.
The paradox about Open Source Software is that when developers concentrate on open source software, they innovate new products less. Open source is and should be just a tool for making existing things better. In essence, it is just prolonging the shelf life of existing software as opposed to developing new ones. Is this the way to go? Beats me.