How Open Source Started
The term “open source” is no longer foreign within developing communities in today’s evolving world. Since the early days of computing, developers shared software to constantly learn from each other and evolve the field of computing.
Donald Knuth established the TeX typesetting system in 1975 and Richard Stallman, the GNU operating system in 1983, both with the notion to move open source software towards commercialisation.
The start of its adaptation stemmed from the “Open Source Initiative” that was founded in 1998, to eliminate the moralising and confrontational attitude of “free” software and to promote the usage of open source software on more pragmatic, business-case grounds.
As its name suggests, anyone can use, modify, enhance and distribute open source software for any purpose. Once it started to gain popularity, software industry leaders like Microsoft and IBM started to see open source as a threat. Steve Ballmer, then CEO of Microsoft, even called open source a ‘cancer’ and wanted to take actions against the open source community.
OSS Development vs Traditional Development
Eric Raymonds explained the “Linus’ Law” to us in his book “The Cathedral and The Bazaar”. The traditional model of software development is likened to that of a cathedral, where roles are clearly defined – there were appointed groups of people for designing the architecture of the software, managing it and implementation of the software.
The OSS Development model, on the other hand, is likened to a bazaar, where roles no longer need to be clearly defined. The shift in development paradigm has made development teams see an increased number of releases, frequent integration and high modularisation amongst developers. Development teams have also become more dynamic as decisions have to be made quickly following the frequent release of software updates.
Why Developers Use Open Source Today
Developers prefer open source over proprietary solutions due to a multitude of reasons.
Open source is centred around a community of committed software builders who seek to support and improve solutions that are required by the community – very much like the bazaar model proposed earlier. These solutions are then evaluated and improved upon by the very community they were built for - a process that is seamless owing to its ‘open’ essence. While closed source software typically focuses on bottom lines, open source codes focus on creating shared value and delivering the best functionalities.
Also, since open source codes are openly available on the internet, developers building enterprise applications tend to use open source to reduce development times, instead of spending time and effort ‘reinventing the wheel’ or using inflexible and expensive closed source alternatives.
Open source is often seen as immature or of lower quality, while in reality the opposite is true. Open source codes have more developers looking at them, constantly providing feedback and even contributing to the code-base itself; thereby leading to a better vetted, tried and tested piece of high quality software. The open model of feedback for open source codes has also allowed for quicker bug fixes. Due to the transparent nature, all developers get full visibility - meaning they can critique and find vulnerabilities in these codes as compared to closed source codes with little transparency. The mission to create shared value combined with the strong support of the developer community makes open source software a force to be reckoned with. From Linux and MySQL to NodeJS and Docker, open source has and continues to change the software world for good.
Current State of Open Source
20 years after the initial attacks by enterprise software companies’ on the open-source community, we’ve seen a surprising deviation from the predictions of most in the 1990s. These enterprises have since accepted that open source technologies are the future. Microsoft has open-sourced some of their products, like Visual Studio, and even bought over Github - the largest open-source code repository - in 2018. IBM, another major opponent of open source, has also bought over Red Hat in 2019, a major contributor to many open source projects - most notable among them being the Linux operating system.
This change of attitude with regards to open source adoption is not without reasons. The use of open-source software and code enables higher quality software to be built faster than ever - and the wider software development industry has leveraged this to their advantage. 97% of all software applications - including enterprise - today relies on some form of open-source, with the average application being made up of 60-90% open-source code when analysed on a lines-of-code basis.
Conclusion
The open-source community has thrived for almost 3 decades now, writing billions of lines of high-quality code that is used by developers everywhere. Open-source is an integral part of today’s fast-paced software development lifecycle and has been embraced by companies big and small. And this trend has only just begun.
So the question is, how much open-source do you think exists in the software applications you use? Or better yet, how much of the software applications you develop rely on open-source?
Related Blogs
Find out how we’ve helped organisations like you
🌟 Celebrating the Success of NTU Cyber Security Day 2024! 🌟
We are excited to celebrate the successful completion of the 2024 NTU Cyber Security Day!
The Urgent Need for Vigilance in the Software Supply Chain
In an era where digital infrastructure underpins nearly every aspect of our lives, from banking, automotive to healthcare, the integrity of our software supply chain has never been more critical. Recent data from cybersecurity experts paints a stark picture: software supply chain attacks are occurring at an alarming rate of one every two days in 2024. This surge in attacks, targeting U.S. companies and IT providers most frequently, poses a severe threat to national security and economic stability.
An Empirical Study of Malicious Code In PyPI Ecosystem
How can we better identify and neutralize malicious packages in the PyPI ecosystem to safeguard our open-source software?