IBM is recognized by many within the open source community as a leader in open source. However, that leadership and the impact of those contributions is less well known outside of the open source communities in which IBM engages. Open source is alive and well in IBM, with thousands of IBMers participating in projects to expand technologies and strengthen communities. At our core, we believe that open source is the bedrock of modern computing.
From our work with Linux, Apache, and Eclipse in the early years of open source to our current work across all layers of the cloud stack, application development, blockchain, artificial intelligence, quantum computing, and machine learning, IBM has demonstrated a sustained commitment to open source innovation, while delivering a broad portfolio of offerings based on open source, and helping to build sustainable, thriving communities and ecosystems around open source projects that matter to our clients.
In fact, IBM is one of the most prolific contributors to open source. We believe that our leadership in open source is a differentiating value for our clients — and we work to ensure that our open source contributions benefit the ecosystem as a whole. After all, the developers, architects, and sysadmins that have chosen open source or open source-based products are counting on us.
In this article, learn about IBM’s approach to open source, including where we focus our contributions in projects and communities, how we push innovation upstream, and what you should consider when embracing open source in your enterprise.
Encouraging open governance
Over the years, we’ve learned that inclusive communities that adhere to open governance principles tend to attract the largest communities and most vibrant ecosystems. We believe that open governance under a neutral governing body gives the project the best opportunity to grow and flourish.
Where we focus our contributions
The value that IBM derives from open source projects extends beyond the software itself. Much of the benefit comes from the vibrant communities and thriving ecosystems that develop around the centers of gravity for open technology. Our offerings succeed in proportion to the success of the communities.
We invest in the areas that benefit our clients and their desired outcomes and the functional aspects of the project where we can offer our innovation. We’ve found that, very often, what our clients need also strengthens the project itself. As such, our work almost always focuses on these areas:
- Live upgrades
- Continuous integration
We often lead the efforts to define interoperability and portability. We do this because interoperability and portability are critical to the success of any open technology endeavor. After all, that is what often cements a technology as the defacto standard that other technologies and companies depend on.
World-changing projects need more than just code. They need visibility. We contribute extensively to other important aspects that build communities and ecosystems, including marketing, evangelism, diversity and inclusion, funding and various board-level committee activities.
In all of the projects where we contribute, IBM has invested close to $4 billion and dedicated hundreds of open source development, marketing, and evangelism resources. We have initiated many of these projects and worked tirelessly to help the organizations and the projects they hosted to define and achieve success.
Pushing innovation upstream
In strategic projects where we’re involved, we contribute IBM-led innovations upstream to those communities. We invest in the community code for these technologies and ensure that we contribute fixes and new features upstream rather than adding extra complexity and effort on IBM’s part to maintain an independent, differentiating version.
Where we desire to add extensibility that can leverage IBM’s differentiating capabilities, we work within the community to create the necessary API or SPI. We also invest in making sure that those extension points are not abused to create a potential for lock-in.
For example: In blockchain and Cloud, we strive hard not to fork the community code by creating an “IBM Hyperledger Fabric” or “IBM Kubernetes.” The Hyperledger Fabric in IBM Blockchain Platform is the same Hyperledger Fabric that is released by the Hyperledger organization. The Kubernetes that we integrate into IBM Cloud is the same code that is released by the Cloud Native Computing Foundation. The Docker included in IBM Container Service is the same Docker that that community releases. The IBM value-add is that we integrate all these open source capabilities into IBM Cloud to make it an ideal platform for open hybrid cloud workloads.
Considerations for embracing open source in your company
IBM knows that a rising tide floats all boats. It isn’t enough that IBM succeeds — we need to help others succeed to ensure a vibrant ecosystem. This reduces the risk that comes with embracing open source for ourselves and, more importantly, for our users. Other vendors see this as well, and more enterprises are investing in open source development because they understand how open innovation will benefit their business as well.
Before you jump into open source in your company, you should establish a process for managing its use in your enterprise. This goes beyond reviewing a project’s technical merit and license, but also extends to evaluating the community and ecosystem that supports a specific project. We have learned over the years that code moves quickly and sometimes the more vibrant community is the better bet than the slickest technical starting point.
At IBM, we evaluate open source projects by looking closely at five aspects of the project:
- Responsible licensing — We evaluate each project to understand the open source license that is associated with the technology.
- Accessible commit process — We ensure that there is a clearly defined process for making contributions that welcome outside contributors.
- Diverse ecosystem — We confirm that there are multiple vendors and ISVs that are delivering offerings based on the technology.
- Participative community — We require that there be a process for contributors to grow their technical eminence in the community.
- Open governance — We evaluate the governance model to determine whether it is truly open. Read our companion piece about the case for open governance.
Of course, we also look at the technology and assess whether there’s an architectural fit, but the technology can usually be fixed and improved over time. The key is whether we believe that there are enough positives to warrant the investment to help bring the project to true open governance that will benefit all.
Find partners in your open source journey
As enterprises move to embrace open source, their first step is often to see how and where open source technology can be integrated into their own tech stack. Once that’s established, you should try and find a partner or partners who can help you engage and influence the community where you can add and gain value. These partners should be committed to the same enterprise interests and leverage the accrued goodwill and technical eminence in the community to advance a technical agenda commensurate with their interests.
IBM’s commitment and contribution to open source is unrivaled in the industry. We have worked hard over the years to establish a solid and respected reputation in open source circles, and especially in those communities where we invest strategically.
IBMers serve on a number of open source foundation boards, including Linux, Eclipse, Apache, CNCF, Node.js, Hyperledger, LF AI, LF Edge, and many others, and we have tens of thousands of IBMers using and contributing to open source. We value and work toward open governance because we feel that this is the best way to ensure the long-term success and viability of open source projects.
When we engage in a project, we focus on the aspects that matter most to the enterprise: interoperability, portability, security, scalability, and accessibility. We do this by investing in the community and helping to shape programs that can deliver those characteristics that matter to our clients.
As you can see, IBM takes open source seriously. With our recent acquisition of Red Hat, we hope to continue to position open source as not only safe for the enterprise, but as the fastest way forward for innovation.