Open-source software like Github is taking the world by storm. In fact, the 2022 Octoverse State of Open Source report found that over 90% of fortune 500 companies use open-source software as the underpinnings of their digital services and spaces
In the article that follows, we’ll delve into the history of open-source software and how it’s managed to captivate a vast majority of the globe’s key professional players. We’ll also look at how it relates to proprietary software and what the successes and failings of each type of software are. To conclude, we’ll sum up how we see open-source software impacting our society’s future.
The history of open-source software
Source code is the form of software that humans – with the right skill – can read. This form of communication of ideas has been around since the 1950s, and, as you’ll soon see, the majority of software started as open-source (OSS).
The creators of early compilers and operating software distributed their creations as part of hardware purchases in the early 1950s and 60s. Institutions and organizations also made alterations and fixes to distributed software without privatizing their changes. A large part of the early human-readable software innovation was free and open source and shared and distributed as software within the public domain. The reason for this was simple.
Before you had massive tech giants on the scene, the majority of software was being developed for and by teaching institutions. These types of institutions have historically placed higher importance on the sharing of knowledge over developing any kind of monopoly over an industry. Universities were so dedicated to OSS that some even had policies that ensured all software running on their computers came with published source code files. During the reign of software development by and for academia, open-source was king.
During the late 1960s, the cost of software production had rapidly increased with the evolution of programming language compilers and operating systems. Relative to hardware, the business of creating software was getting more expensive by the day. While the hardware manufacturers trundled along with their in-house software, the software ecosystem was changing around them. This was the beginning of the software industry.
A major shift happened in 1969 in the case of the United States vs. IBM. The lawsuit was grounded in antitrust, and the resolution of the suit was that the practice of bundling software with hardware was an anti-competitive practice. The government insinuated that companies that had been providing software with their hardware at no extra (noticeable) cost were creating a monopoly over software. Essentially, the big bad guys with the free software bundled with their hardware, were ruining the fun for all the software-only developers that were simply trying to sell their wares – their softwares. Get it?
In any event, this court case laid the groundwork for companies to start developing software that end users could install and use but not modify. At least, users could not distribute modified versions as they can today, and could prior to 1969. However, innovations like the EULA (end user license agreement) had not yet taken their final boss form. In fact, prior to 1974, although software no longer came with permission to redistribute and edit, it also wasn’t protected under any copyright laws. It was a weird time for software and those who developed it. But all that changed in 1974 with more legislation. Don’t worry; there are more court cases to come too.
1974 saw the still fresh-faced United States Commission on New Technological Uses (CONTU) decide that because it technically represents an original creation by a skilled individual such as an author, software should be protected under copyright laws. Here’s the actual quote: ‘Computer programs, to the extent that they embody an author’s original creation, are proper subject matter of copyright.’
As pivotal as this decision was, it wasn’t until Apple got involved that software gained the same protection as literary works. In Apple vs. Franklin, the court’s decision basically gave rise to the closed-source software industry we know today. The decision to grant software the same honors and copyright protections as literary works led to the software licenses – like the EULA – that we have to pretend to read before we install something.
Subsequent to the 1980s, numerous other pieces of legislation have come into effect to better protect software from what developers feel is the illegal distribution and handling of their source code.
The state of open source software – Octoverse 2022
This year, Octoverse released a report on GitHub detailing the current state of open-source software. The findings of the report suggest that not only is open-source software on the rise again; it’s taking over the industry.
Wolfgang Gehring, the FOSS Ambassador for Mercedes-Benz Tech Innovation echoes the finding of the report by saying: ‘You can’t develop software anymore these days without doing open-source.’
The 2022 report is essentially a follow-up to the first Octoverse report released in 2012. The first report was written to celebrate 2.8 million people having joined GitHub. Just to put the open-source software community into perspective, GitHub is currently home to over 94 million developers that are shaping the future of OSS. That represents phenomenal growth between 2012 and 2022.
9 is actually a gleefully recurring number in the context of the 2022 report; GitHub has over 94 million users, over 90% of Fortune 500 companies use Github, and 90% of companies have been found to be using open-source software. The only number that doesn’t contain a 9 is the 413 million open source contributions that have been made in 2022. This report is absolutely astounding in terms of the wide and rapid adoption of open-source software.
But why does so much of the Earth’s professional population seem to be choosing open-source software over its closed-source (proprietary) alternative? What is the difference between these two concepts, and why is OSS seen as the way forward when so much was done in the 60s, 70s, and 80s, to protect software?
The difference between OSS and CSS
There are a number of distinct differences between the two software movements if that is what we can call it. However, each type of software has its pros and cons. Below, we’ll explore these briefly.
The advantages of open-source
#1: Cost effective
Open-source software is completely free to use. You’re not required to pay for downloading, installing, or using the software. You don’t even have to pay to edit it or redistribute it. Open-source software is completely free. This is an advantage for any business looking for software solutions that don’t take a chunk out of its budget.
Using open-source software usually means a higher degree of reliability. Essentially, the fact that OSS is developed as a sort of free group project where anyone with the necessary skills is able to contribute, you have more skilled minds working on specific features than if it were closed-source. Therefore, people with niche skills from all over the globe can contribute to a project which often results in superior reliability. You also, this way, have a vast team of devs available to fix flaws and prevent exploits.
If you think about software like Blender, an open-source computer graphics software, you’ll notice that the download website clearly states that you are able to change the software to suit your needs. This means that if the stock software isn’t up to your standards, doesn’t have a specific set of features, or is too complicated to use, you can change it. This is what open-source translates to.
The disadvantages of open-source
Because open-source software is developed by developers with the intention that other developers can change the code, this software sometimes only makes sense to developers. This greatly decreases the effectiveness of the software as the pool of users will be greatly diminished. However, with software like blender, while there’s a learning curve, the software is sometimes user-friendly and easy to familiarize yourself with.
Unfortunately, because open-source software is free for anyone with expertise to edit, you end up with a rather significant security risk. You see, not everyone with the required expertise to edit software is interested in doing so for the greater good. Some people with coding experience would rather use their skills to create vulnerabilities in open-source software that they could exploit for a profit. However, the fact that there are typically so many developers involved in an open-source project, the likelihood that exploits would be found and fixed is higher.
The above point feeds quite neatly into this one. With open-source software, there is rarely just one person responsible for the coding. Therefore, when something goes wrong, it may be difficult to find the person responsible for the error or vulnerability. There’s also a risk of less accountability, and the user may not have access to the kind of dedicated software support network that often comes with proprietary software.
The advantages of proprietary software
You’ll find that the advantages of proprietary software directly correlate to the disadvantages of open-source software, and vice versa. This is no exception. Proprietary software is often created with a very specific use in mind. These systems aren’t designed to be tampered with or changed, so the company releasing the software has greater control over the experience that the end-user will have with the software. This often results in far more intuitive, user-focused design elements and layouts.
Whereas open-source soften often lacks official support channels, proprietary software comes with bundled support. The software, in this case, usually receives regular updates, and technical support is rarely more than a phone call or an email away. This type of software also usually comes with a range of tools designed to make repairs and recovery easier for the end user without having to delve into code.
This may sound like a joke given how much we’ve dealt with exploits and vulnerabilities in Microsoft’s proprietary software of late, but, for the most part, it’s true. When you use proprietary software, you’re often on the receiving end of a product that has gone through numerous checks and has passed some kind of official quality control. You’re also getting a product that cannot be modified easily because the source code doesn’t come with the software. Therefore, there’s less chance of a threat actor being able to create vulnerabilities.
The disadvantages of proprietary software
Proprietary software must be accepted as is. It cannot be changed to suit your individual needs. For this reason, it’s sometimes difficult to find the perfect software because even if the layout, features, or capabilities of the software are only slightly off, there’s nothing that you as the end user can do to change it – even if you have the necessary experience.
The immutability and availability of proprietary software sometimes mean that the perfect software is likely to come at a steep cost. Even software created to serve a more general purpose and service more customers is often expensive when developed under a proprietary banner. This is due to the cost of maintenance, staff salaries, licencing, and all the other fun stuff that goes into creating software that you control exclusively.
I’m digging into a personal treasure trove of software-based sadness here. Electronic Arts developed and released software that you could use to create and edit worlds for The Sims 3. They have not done the same for The Sims 4, despite how popular the tool was. In the meantime, operating systems have come and gone, and no one has updated the tool. If it were open-source, someone could, even though EA has since retired the much-loved utility.
But, because it is proprietary software, even though there are people with the expertise to bring the software in line with modern computing standards and requirements, no one can because it is protected by copyright laws. This can happen to any software. And, when it’s the software you rely on for work, it throws a massive spanner in the spokes.
The future of OSS
Open-source software, according to the 2022 Octoverse report, is the movement of the present. But does this type of software have what it takes to be the so-called gateway of the future?
In the simplest terms possible, yes. The fact is that so many facets of modern computing and information technology are already based on open-source architecture. Your phone likely runs on open-source software, Android. If you have a Xiaomi, as I do, your phone runs on an adapted version of Android called MIUI. If you use an OPPO, your phone runs on open-sourced software called ColorOS – also based on Android.
The browser you use, whether it be Google Chrome, Microsoft Edge, Mozilla Firefox, or even Brave, is based on Chromium, open-source software developed by Google. In fact, some of the few names in the business that aren’t open source are Microsoft, Apple, Amazon, and Adobe. The majority of the current digital ecosystem is based on open-source software, including cloud computing. OSS constitutes the underpinnings of our current society and will likely propel us into the next generations of digital landscapes to come.
Open-source software has significant advantages over its alternatives, and is likely the way forward. However, as highlighted above, there are also significant issues that we must address before we can wholly and solely rely on this specific software architecture configuration.