Open-source technology has rapidly gained traction and popularity across various industries in recent years. As businesses and organizations seek to cut costs and increase flexibility, many have turned to open-source solutions for their software and technology needs. From popular operating systems like Linux, to open-source databases like MySQL, to programming languages like Python and Java, open-source technology is now widely used and trusted by companies and developers alike.
As the number one platform for open-source version control and collaboration, GitHub has insight into the activities and open-source popularity in general. In its latest report for 2022, it states that there are 94 million developers on GitHub and that more than 90% of companies use open-source software.
We asked Christopher Howard, Lead Open-Source Program Manager at EPAM to share his valuable experience, insights, and opinions about the state of open-source, its benefits, and challenges.
Why is open source becoming so popular?
Open source provides access to excellent code bases, excellent solutions, and products that have been collaborated on and innovated on a global scale, and that's a real benefit to an organization that doesn't have that skill in-house. They're able to use those solutions generally for free. Also, engineering companies are able to customize, enhance or build extra features to make open-source solutions really fit for purpose for those organizations.
Is open source a business model?
A lot of people in the industry think that open source isn't a business model, that it's the proprietary software on top, which happens to have an open-source brother or sister. Typically, there are community and public or free editions of the software. In EPAM we have a great example of a time series database software called TimeBase. There is a community edition, but on top of that, there's the TimeBase enterprise edition. It generally has the same code base, but some of the connectors to other services or some of the functionality that enables it to be executed at scale in public, for example, has been restricted. So there are those kinds of commercial models on top of it.
What industries are you seeing more engagement from?
Pretty much all enterprises and industries are using open source. But what we are seeing in the last few years are two changes in the types of organizations.
-
Financial Services. That's being driven out by the need to standardize data, and the need to bring together some of these rather large global banking and financial organizations to collaborate and work in a way that enables the free flow of open data at scale across those organizations. And we're seeing increasingly more and more engagement around building data models, frameworks, and mechanisms to share that data, particularly around trading crypto.
-
Energy and Sustainability. Open source is an enabler for sustainable objectives in business. It's closely related to many of the organizations trying to reach net-zero 2050 carbon targets. Open source helps adopt green software practices. And yes, that might apply to all industries, but it's particularly visible within the energy. The electric vehicle charging and lots of sustainable investment portfolios leverage open source in a really positive manner versus building bespoke or one-time solutions for their problems.
Is open source popular in data-security-sensitive industries?
Open source is an attractive offering for highly secure industries because it's very difficult, a bit like the blockchain, to hide or do things fraudulently or in a negative sense. The fact that the code base is in the open, the fact that any engineer can look at that code, understand how it's working, and where the various artifacts or pieces of data are flowing around makes open-source software more secure than a single vendor creating a solution.
Are there specific types of companies that use open-source software as solutions for their business needs?
Most companies today use technology for their operations. And most of the large enterprise solutions are in one way or another using open source. That might be a library or dependency, or it might well be something that's built into a core piece of functionality that they have, but generally, most solutions will have open-source dependencies built into them.
There was an initiative a few years ago and we scanned some of the most popular applications and assessed all the open-source dependencies that they relied upon. And it was a vast number. A very common case is that organizations don't realize they're consuming open source until someone goes in and tells them - this is the case, you are using it.
Check the glove box in your car - you might be driving around with an open-source license printed in the instruction book.
Some cars, for example, Mercedes and Audi, have an open source within their SatNav systems, dashboards, or computer screens. Because of open-source licenses and the requirements to always ship the license with the code, when you buy that car, you have printed paper open-source license in the glove box in the front. So without even realizing it, probably most people are driving around with open source software, not only in their car but also with a license printed out in the instruction book.
Is open source free of charge?
People's general perception, and it's not necessarily right or wrong, is that open source is free. The important point here is that open source is subject to an open-source license. That may well say that you can use this software for free, but it mandates a number of requirements upon the user in terms of copyright protections or not changing the code in a specific way, or even having to ask permission to publish it on the server, etc.
Open-source users can reach out to the maintainers and say - I want to use it in this way. Can it be made available under another license? There's a fine line between something being open source and then becoming proprietary. But in terms of charging, typically if it’s going to be charged then that would be regarded as a proprietary solution and not an open-source solution, irrespective of whether or not the code was exactly the same.
How do different open-source licenses change the way you can use the software?
Lots of the licenses allow users to do whatever they want to do with it. They can even use it in a commercial sense. But if you want to make it your own IP or your own proprietary solution, then you're restricted to do so. And if you want to do that, then you have to reach out to the original software author and pay them a fee, and they will then provide you a relicensed version of that code. An open-source version may exist under an MIT or Apache license, a very permissive one, and if you wanted to make a commercial aspect of that, the original author might provide it to you under a different license. And the key part of that is that it has to be the original software author.
What's the value that enterprises see in open-source solutions and opt for them instead of proprietary software?
Open source provides diversity in terms of innovating and being at the forefront of the challenges that the industry faces. Enterprises should see open-source solutions as innovative, forward-thinking, and almost disruptive.
As a global audience collaborates on open-source software, it's diverse in its very nature. That means that you're getting a different voice, a different experience, and different insights that you will never get within your own organization. You could be the most diverse organization in terms of having product designers, engineers, and analysts all coming from different walks of life and different experiences, but you will still never have a kind of worldview or a world outlook on how a product should be built. Enterprises leverage open source by being able to bring those other voices to the table to help shape the direction of solutions and products.
If we take financial services as an example, there are so many differences in how banking systems work and function across the world. In the Netherlands for example, there's a real focus on debit cards and cash. Credit cards are not necessarily used, whereas credit and debit are the norms in the UK, and cash is not used at all. So working in an open source space, you can bring together these voices without having to fly people all over the world to go to workshops, to say this solution wouldn't work here because of XYZ or our cultural differences. Enterprises take real advantage of that.
How does open source help avoid vendor lock-in?
Open source prevents vendor lock-in because it removes the requirement to engage with one commercial organization to build and look after your technology stack. Instead of having to be obligated to work with a vendor for the rest of that solution's life cycle, there's open source where you can change and rely upon external individuals to help that along.
Open source is seen as a really attractive way of reducing what we saw ten years ago in the IT sector around multi-billion contracts with a single vendor that locked in public sector organizations, for example. Open source is a disruptor to that. It's removing that obligation to have to work with one supplier and instead crowd-sourcing ideas and innovation from a much wider pool. It doesn't remove the challenges related to customization and long-term support, but it does remove that notion of organizations having to call upon one vendor to build their solutions for them.
As a vendor, why choose open source instead of proprietary software?
When using open source, you are using a solution that has potentially tens of thousands of other people there to help your understanding, your implementation, but also the furthering and development of that solution.
When you download something online and it doesn't quite work out, you give up and move on. In the open-source world versus a single vendor or a single enterprise license, you've got tens of thousands of people ready to help with your problems, but also enhance that solution to help further problems down the line. So it's a really attractive offering in the sense that it's not just a solution, it's an entire community. There's a passion behind it and many of the people involved in open source are really passionate about it for personal reasons. It's being a part of something much bigger than an off-the-shelf software offering.
Are there any barriers to consuming open-source software?
Organizations might be worried about bringing external code into their infrastructure. Typically, organizations will be reluctant to bring in code that they don't either fully understand or don't have full control over and that potentially brings in security concerns and risks.
For example, financial services traditionally haven't been very good about adopting open source. They're concerned about the impact that could have on their existing infrastructure. Also, they don't necessarily want their own engineers to be contributing back to those solutions under their name because of the risk that potentially is associated with that.
Solution
There are lots of initiatives companies try to promote to the clients around building in gateways and safety checks and milestones to make sure that contribution can be done responsibly and with good governance.
What are the most common challenges faced by companies utilizing open-source solutions?
Challenge no. 1: "If something goes wrong, we can't fix it!"
The biggest challenge is that open source relies generally upon people volunteering their time and their expertise to build solutions and products. An organization might have an entire technology stack built on one open-source dependency and when something goes wrong, until that's fixed by the maintainer or the project team, that becomes a blocker and a limitation. So that's the main objection decision-makers put when offered an open-source solution - it's not our solution and our hands are tied.
Solution
Organizations are trying to build in feature-proofing and mechanisms around this. Some organizations have teams of engineers on call ready to solve problems when open-source things go wrong.
Challenge no. 2: “Open source is not a perfect fit for any use case.”
Companies trying to engage with open-source solutions will rarely find a solution that is 100% what they're looking for. It might have 80% of the functionality they are looking for and they could probably use out-of-the-box. But, they will probably have to pay someone to engineer that additional 20% or build it themselves. It's a solution that's offered for free and does the job, but still requires icing the cake and putting all the extra bits on top to make it exactly what it needs to be.
Solution
Companies that have their own engineering teams can develop the missing features themselves. Others can hire an IT company to further customize the open-source solution to serve their needs.
Can enterprise open source serve as a source of technological innovation in the future?
Yes, I definitely think it can. Open source has forced organizations to work in the open, and by working in the open and showing what's in progress, you invite other opinions and other ideas and that creates further innovation and disruption to the industry. Open source is the only methodology that allows competitors and organizations to collaborate at scale on solutions, problems, and ideas that solve problems for everybody.
Let's take sustainability as an example. Organizations are trying to become as carbon-zero as possible. They're trying to reduce their carbon footprint, but no one is doing that secretly. Everyone is collaborating in the open around solutions for the wider, global community as to how we can improve this. And I really believe that things like the climate crisis that we're facing, challenges around conflict, or technology poverty are being addressed through open source and open data.
Open source is a hot topic. It's a high note now and lots of industry analyst companies such as Gartner, IDC, and Forrester are still very much talking about open source.
What is the expected future change in the use of enterprise open source?
I expect to see the increased adoption of open source off the back of mandated government policies around things like Software Bill of Materials (SBOM). It's now mandatory in the US and there's a similar one about to be rolled out in Europe.
SBOM outlines exactly the dependencies, the libraries, and the code bases that make up the software. Open-source solutions have this out in the open and readily available. On the other hand, enterprises that pay organizations to build bespoke solutions have to release that kind of additional level of governance on top. So enterprise adoption of open source is going to continue to increase. I think more industries as a whole, financial services, regulatory industries, and life sciences will continue to adopt it.
Open source beyond software
When we talk about open source, we somehow naturally just talk about software, but there’s a whole other domain around open hardware and open data as well. There's hardware around data centers, manufacturing industries, and energy infrastructure. We've been exploring how open source can help the energy and the energy grid. Data is out in the open and people are sharing data models and big data between government organizations, for example, and can leverage that for good. The power that opening up giant data tables and sets of data in a safe way can provide to improve livelihoods and the world as a whole is a really important area. So it's not just bound to software and solutions, it's a much bigger conversation.