What is open source?

Open source software is code that is published publicly and that anyone can see, use, or modify the code for their needs. Developers publish their code in public repositories such as the ones on GitLab or GitHub, so that more people can see and interact with the code.

Ideally, if a person or group of people wish to enhance it or make it better, they can contribute their changes back to a project, typically by means of a pull request.

People who contribute code are called contributors, and the folks who review and approve changes to a code base are called committers.

Each project will have its own rules for how to contribute code and how to get started working on the core technology. Often a project will describe how to contribute in a CONTRIBUTING file or in the main body of the README. You will definitely want to check out a project’s Code of Conduct, if they have one, to understand that community’s guidelines before you start contributing!

Scope of open source

When you hear the phrase open source project, it can refer to a wide scope of projects with code bases that range from the very small to enormous ones that have thousands of contributors and commiters. Small projects can be as simple as a tool that a developer creates to solve her own problem and thought that other devs might find useful, so they stick it out in the world, hoepuflly with good documentation . . . and see if peple take notice. It might have one or two main contributors and a small code base.

Medium-sized projects such as Homebrew or Node-RED have a few different companies or individuals who are invested in the technology. Then you have your large projects with hundreds of different companies involved and thousands of committers or contributors over time. Apache Spark is a good example of this size project.

Certain open source projects become so large that they have numerous smaller projects under their umbrella and thousands of companies and committers all working together to create technology that all the contributors can use. Think Kubernetes and the many projects that have sprung up under that ecosystem.

The power of open source

So, why open source? What makes it so powerful?

At IBM, we believe the power of open source is in the community that surrounds an open project.

When developers — and even companies — from different backgrounds, ethnicities, varied training histories, and unique perspectives collaborate around creating technology, the result is that the code is richer, more secure, more innovative.

And that’s good for everyone.