One of the most popular open source tools is the Linux operating system. It’s in use in a large quantity of the web servers we access every day. Linux can be found in mobile phones as the kernel for the Android operating system, smart TVs, Internet of Things devices, and even in cars. Many people have heard of it and they’ve heard the term open source, but what do they actually mean? Well if you don’t know, now’s your chance to find out in our topic of the day.
Many people simply associate open source with free software, as in you don’t need to pay anything for it. While that’s part of it, the no-cost nature of the software is more of a by product of open source rather than its intent. The notion of open source first started with the free software movement championed by Richard Stallman in the 1980s who founded the GNU project and the Free Software Foundation.
The Free Software Movement
The free software movement was based on the argument that the use of proprietary software meant that people were being locked into specific systems for which they’d have to continue paying. Also the restrictive licenses on such software meant that various technologies were being developed and redeveloped rather than simply being shared. The free software movement pushed forward the idea that computer users should be free to run software, distribute, study and make changes to it to meet their specific needs rather than relying on the original developer to make those changes.
Confusion over the use of the term ‘free’ lead to a search for a better term for the software, as there were, and still are, a number of proprietary software projects that are distributed at no cost. This is how many end users understand the use of the word ‘free’ in relation to open source. In 1998, Netscape was looking to open the source code to their web browser. Discussions within Netscape came to using the term “open source,” a term that swiftly gained support – including from Linus Torvalds, the creator of Linux.
The Creation Of The Open Source Community
While the free software movement focuses on the political and moral issue of proprietary software as an evil to society, the open source community focuses more on the ability to share source code. This ideally needs to be done in a manner that achieves the goals of providing no-cost software with allowed distribution and the ability to change it to meet the user’s requirements. The key advantages from a software development standpoint are that with the source code available for the software, any interested developer can look it over and potentially find and fix bugs, provide enhancements or re-use the code in their own projects massively reducing development time and cost.
The Evolution of Open Source Projects
Over time, a number of licensing agreements have been devised to protect open source software from being misused, such as the source being taken and included in proprietary software. Most licensing agreements share common themes, such that when distributed as a compiled binary, the software should inform the user how to get a copy of the source code. The use of any source code must be accompanied by a disclaimer, as well as information about the open source agreement that the code came under.
Some licenses insist that any derivative works must also be released as open source software, so using some open sourced software in your own project would enforce you to release as open sourced also. Whereas others just dictate that the source code used must be available as open source allowing the proprietary project to make use of open source software yet still be charged for and have the additional software developed kept private.
In general, open source software encourages collaboration and sharing. Enabling developers to concentrate on building upon the building blocks that other developers have put together. This means that as a whole everyone should benefit from better software as developers can concentrate on improving what’s already there and adding value in new features and projects.