A strong history and commitment to open source
IBM’s long history and strong commitment to open source is the best kept secret in open source. While open source communities have long appreciated IBM’s role in the movement, until our recent acquisition of Red Hat, not many people outside of those communities would have associated IBM with open source.
But the truth of the matter is that we’ve been involved with open source from the beginning. Before many of the companies you associate with open source were even founded, we were backing emerging communities, contributing to the development of open source licenses, and advocating for open governance and open standards.
So, how did we get where we are? And what do we envision as the future of open source? Let’s explore these topics and more.
Before open source was cool
IBM was one of the earliest champions of open source, backing influential communities like Linux, Apache, and Eclipse, pushing for open licenses, open governance, and open standards.
Our first notable interaction with open source software was when a number of IBM engineers began contributing to Linux (yes, the Linux on which Red Hat Enterprise Linux is built). In the late 1990s, IBM supported Linux with patent pledges, a $1 billion investment of technical and other resources, and helped to establish the Linux Foundation in 2000.
In 1999, we helped to create the Apache Software Foundation (ASF), contributing thousands of line of code and dedicated resources to support the Apache Web Server projects. As a founding member, we helped shape the license and governance, served in leadership roles, and contributed to numerous projects. Today, there are over 200 projects on ASF, and the scope has widened from the original HTTP server project to include web technologies, XML, web services, document processing, mobile, cloud, big data and analytics, serverless, and messaging. Clearly, we helped create a safe place to collaborate and innovate in the open.
We led the creation of the Eclipse Foundation in 2004. We seeded the Eclipse project with a significant code contribution, dedicated developers, and legal help in writing the licenses. Now, there are over 360 projects at Eclipse covering a broad spectrum of technology. We credit Eclipse’s success to its open governance, giving open source developers a neutral place to collaborate and innovate in the open.
In its infancy, IBM recognized the promise of open source and contributed thousands of lines of code, man hours, and money to ensure that foundations were set up in a way that supported open governance and standards. On a broad scale, IBM’s participation in these and well over a thousand other projects and communities set the tone for open source adoption among enterprises.
Open source contributions through time
As the success of the Linux Foundation, Apache Foundation, and Eclipse Foundations grew, IBM ramped up and broadened the scope of our open source involvement. For the past decade, we’ve focused on developing the latest open source projects and communities and sharing in the work under open governance.
Here are some of the highlights of our history in open source, as they relate to the technologies we most care about.
After helping establish the Linux Foundation, IBM continued to lead in the Linux community by investing hundreds of engineering resources over the years in the Linux kernel and in many of the now more than 80 collaborative projects under the Linux Foundation. In 2005, we cofounded the Open Invention Network, which protects open source projects against attacks by patent holders. Being able to develop without fear of legal repercussions helped to speed Linux kernel development.
IBM has always been a strong technical contributor to the Linux kernel, ranking in the top ten corporate contributors and having maintainers for a wide range of Linux-kernel subsystems. While your contributions support our own offerings, we also contribute strongly in the areas of scalability, robustness, security, and other areas that benefit the Linux ecosystem.
IBM was an early adopter and contributor to Java, reaching back to the earliest days. We were instrumental in helping shape the Java language and runtime, and J2EE specifications along with Sun Microsystems. Over the years, we have helped drive Java to open source that resulted in OpenJDK becoming the premier open source Java.
More recent contributions to the Java community include:
- our Java runtime, J9, a high-performance, low-memory footprint Java Virtual Machine (JVM) optimized for the cloud, contributed to the Eclipse Foundation as the Eclipse OpenJ9 incubator
- our OpenLiberty runtime for Java EE and MicroProfile applications, contributed to openliberty.io. This runtime is the basis for WebSphere.
We continue to help lead and contribute to establishing the Eclipse Foundation Specification Process that is to replace the former Java Community Process (JCP) for Jakarta EE.
The move to cloud-based deployment models in the past decade was sped along by a number of high-priority open source cloud projects. A few IBM contributions in this area include our work with OpenStack, Cloud Foundry, and OpenWhisk.
Cloud Foundry is an open source cloud application platform for developing and deploying enterprise cloud applications. IBM became involved with Cloud Foundry right after its release by VMware in 2010 and immediately galvanized a group of developers to work on it.
As we do with all projects that we become actively involved with, we began to push for an open governance model for Cloud Foundry. So while IBM engineers contributed to the Cloud Foundry code base, our leadership team worked with other companies, included Pivotal and SAP, to create the Cloud Foundry Foundation in 2016.
OpenStack is an open source infrastructure-as-a-service project deployed in both public and private clouds for provisioning virtual servers and other resources. IBM became involved with OpenStack in 2012 with several developers of our Open Source Development team working on OpenStack’s many projects. IBM engineers contributed features geared toward enterprise use cases, with emphasis on identity management, security, and interoperability.
After IBM Research began working on a serverless platform in 2015, we quickly made the decision to open source the platform under open governance so that we could grow a vibrant community and ecosystem around it.
In February 2016, we open sourced our serverless platform implementation and named it OpenWhisk. As interest in OpenWhisk grew, we then worked with partners like Adobe and Red Hat to establish Apache OpenWhisk as an incubating project in November 2016. In July 2019, Apache OpenWhisk went from being an Incubating Project to being a Top-Level Project at the Apache Software Foundation.
Cloud and containers go hand in hand, and open source containers projects helped to speed the adoption of containers in enterprises.
First Docker and OCI . . .
Docker launched in 2013 and IBMers quickly became active contributors to the project. Like we always do when we join a project, we encouraged Docker towards open governance and, in 2015, became a founding sponsor of the Open Container Initiative. Docker contributed libcontainer and the Docker image and transfer format specification to seed the newly created initiative. IBM has been one of the top contributors to the OCI since its formation and one of our top engineers was recognized for his contribution and leadership by being elected to the OCI Technical Oversight Board.
Then Kubernetes and CNCF . . .
Around the same time that Docker was moving towards open governance, the Kubernetes project was gaining traction in the community as an open source container orchestration system. In July 2015, following close on the heels of the Open Containers Initiative launch, we helped launch the Cloud Native Computing Foundation to provide an open governance model for Kubernetes.
The CNCF organization (and Kubernetes) have thrived, growing to over 20 projects, including Kubernetes, etcd, rkt, fluentd, containerd, Helm, and more. Our developers serve as committers and contributors on a number of these projects.
Our partnership with Google on Docker, Kubernetes, and CNCF bore additional fruit with the Istio project. IBM and Google joined forces with Lyft to collaborate on a merger of IBM’s Amalgam8, Lyft’s Envoy, and Google’s Service Control. The result was the Istio project, a first-class abstraction for routing and policy management for cloud native microservices. Our goal is to eventually move Istio to CNCF to ensure open governance for this important and increasingly popular project.
These are just a few highlights of where we’ve invested our time, money, and resources into open source container platforms. We’re involved as committers on other container projects, including the Knative project that enables serverless capabilities to Kubernetes.
In 2015, IBM recognized the incredible potential of blockchain technology, the same technology that underlies Bitcoin. After some research, we realized that none of the existing blockchain technology platforms was really suitable for the enterprise. So, IBM set forth to build a new blockchain platform with enterprise requirements in mind — one that could be used in highly regulated environments.
We recognized that a technology this important should not be controlled by any single vendor, so we worked with the Linux Foundation to help establish Hyperledger, the fastest-growing project at the LF, ever. IBM contributed 44 thousand lines of code and established the first of the Hyperledger projects, Hyperledger Fabric, under open governance. Since then, there have been nine additional projects incubated at Hyperledger.
Hyperledger Fabric was the first to be incubated, the first to graduate to “Active” status, and the first to reach a 1.0.0 release – in June 2017. There have been nearly 300 engineers representing 40 companies that have contributed to these quarterly releases of HyperLedger Fabric. This is a testament to the value of developing open source under open governance.
Machine learning, deep learning and AI
IBM has created AI platforms for years and contributed to various projects in the open source AI community. Recently, we’ve ramped up our internal focus on creating and open sourcing ML and DL datasets and projects. To support this focus, we’ve created CODAIT (the Center for Open source, Data and AI Technology).
IBM recently open sourced some key technologies for AI, including:
- The AI Fairness 360 toolkit (AIF360), an open source software toolkit that can help detect and remove bias in machine learning models
- The Adversarial Robustness Toolbox for rapid crafting and analysis of attack and defense methods for machine learning models
- Fabric for Deep Learning (FfDL, pronounced fiddle), a deep learning platform offering TensorFlow, Caffe, PyTorch etc. as a Service on Kubernetes
In 2018, we launched the Model Asset Exchange (MAX) — an open source, curated catalog of pre-trained and trainable deep learning models that developers can integrate into their applications through self-contained Docker or Kubernetes containers. Then in 2019, we launched the Data Asset Exchange (DAX), an online hub for developers and data scientists to find carefully curated free and open datasets under open data licenses.
Our focus now is on building trust into AI systems, and we believe this is best done in an open source context, so we joined the LF AI in 2019 to focus our energies on helping to build trust in AI.
In the larger ML community, IBM is active in the TensorFlow, Kubeflow, Project Jupyter, Apache Spark, and PyTorch projects, serving as committers and contributors. We are partners with the Open Neural Network eXchange (ONNX) to support and develop open formats for ML, and donated the Egeria project to the ODPi consortium in 2018 to define APIs and descriptors for metadata sharing without imposing a single tool or repository to manage all metadata.
In late 2014, MQTT Version 3.1.1 became an OASIS standard, paving the way in 2016 for MQTT to become an ISO standard. In 2017, MQTT became the leading protocol for connecting IoT devices. This technology continues to grow under the leadership of the Eclipse Foundation. Read how MQTT is the leading protocol for connecting IoT devices.
IBMers have been involved with the Node.js project since 2012, contributing millions of lines of code, serving in leadership roles across the community, and generally pushing the project and the community forward through our involvement.
Learn more about Node-RED and its history in open source.
While IBM has been active in building quantum technology for years, in 2016, we decided to open source our quantum processors. Recognizing the power of community-driven innovation, we released Qiskit, an open source quantum computing framework that developers can use to leverage IBM Q Experience systems for research, education, business, and even games.
As quantum technology continues to evolve, the open source quantum projects and the developers who contribute to those communities will continue to drive value in shaping the technology and its use.
Envisioning an open future for the enterprise
Hopefully you’ve gathered that our goal when we get involved in open source is to bring a project under open governance so that it can quickly reap the benefits of an active, diverse developer ecosystem.
A trend we’re seeing now is that organizations themselves are becoming open source in the way that they operate as a development organization. As organizations change the way they develop code, infusing open source principles and practices into the development process, the technology that’s created is better, more innovative, and more secure.
We’ll be in the fray, continuing to lead by example in the way we infuse open source into our own products and technology, the open way we lead our teams, and how we interact transparently with our clients. We are excited to be a part of this renaissance and to continue to push this trend through our leadership and our commitment to open governance and standards.