What Is Open Source Software & Why Do Companies Support It
Open source software exists today as the dominant force within the technology industry. From VMware and Dell to Nordstrom and Home Depot, every company in the world relies on open source software. And if you’ve ever surfed the web using Google Chrome or texted on a Samsung phone, you depend on it, too.
But what exactly is open source? It’s a category of software, of course, but it’s also a vibrant community and, in many ways, a way of thinking and acting as well. Here, we’ll dive deep into the world of open source and explore why companies like VMware are strong and active participants.
Defining Open Source Software
Let’s start with a basic definition: open source software is software that can be inspected, modified, enhanced and redistributed without restriction. To go more in-depth, the Open Source Initiative lists 10 criteria for determining whether software is open source, and though we won’t delve into all 10, the main points are as follows:
- Open source software licenses require the availability of the program in source code form without charge or cost. The source code behind the Android Open Source Project was initially developed for touchscreen mobile devices, but its permissive free software license has allowed the development of variants for a range of other electronics.
- The software program can be modified and redistributed without additional permission from the originator. That’s true regardless of the modification intent or the endeavor to which it will be applied. Kubernetes, for example, is an open source platform that developers can use to build their own platform, regardless of what that may be.
Open source stands in direct contrast to closed source or proprietary software, which allows only the original authors to legally copy, inspect or alter the software program. And in order to use proprietary software or build upon it, the user must agree to the license terms. Microsoft Windows, for example, is closed source software that requires payment for use.
It’s easy to understand why developers and organizations would invest their time in creating proprietary software and apps that they can then sell or license for a fee. But at first glance, it’s difficult to understand why programmers and companies freely contribute to open source code.
And they do, in fact, contribute. According to GitHub’s annual Octoverse report, 10 million new developers created a GitHub account in 2019, helping create more than 44 million new project repositories in the past year alone. GitHub projects are the main form of open source collaboration, and that’s astonishing growth when you consider that ten years prior, there were about 160,000 GitHub users and 200,000 repositories total. In fact, by 2012, there were still less than three million GitHub users and five million repositories total—numbers that are less than one-third the number of GitHub users who joined in 2019 alone and one-eighth the number of repositories that were created this past year as well.
At the enterprise level, too, open source contributions are commonplace. The New Stack’s 2019 “Open Source Programs in the Enterprise” survey, in partnership with the Linux Foundation’s TODO Group and co-sponsored by VMware, found that nearly 60% of technology companies contribute code upstream. Meanwhile, 42% of all companies hire developers to work on open source projects, an increase of nearly 10% from 2018. Clearly, open source is booming.
Why Contribute to Open Source
Open source contributors come from all walks of life. Sure, there are the requisite software developers – but you’ll also find writers, designers, project managers and more contributing to projects. It takes more than just code for a project to thrive. For those that choose to “dive in” to the open source community, you’ll typically find two types: those that do so out of a passion or curiosity and those that contribute as part of their workday world. Sometimes referred to as hobbyists, the first group engages in open source projects voluntarily and without any monetary gain or other compensation.
Their motivations are diverse. Many are following a passion, and through their pursuit of it, create solutions that benefit the entire community. Others want to give back to the open source community for enabling their own applications. And yet others see it as an avenue for career development or the learning of a new programming language. Former casual contributor and current VMware engineer, Venil Noronha, for example, was inspired by open source projects he encountered during his day job to “try and make my own contributions in return.” He explored GitHub and Stack Overflow to find projects and made contributions because “it was a lot of fun.” You’ll find another open source project, Subsurface, that highlights a passion of Dirk Hohndel, VMware’s Chief Open Source Officer.
And really, open source is fun. As much as it’s a type of software, it is also a thriving community that emphasizes collaboration, learning and mutual respect. Despite the transformation of open source from counterculture to accepted practice, these characteristics remain important components of the open source community and a direct link to the academics and hobbyists who first created open source software in the 1970s (though the name itself did not arrive until 1998). In fact, GitHub, which is based on Linus Torvalds’ Git, even has an entire category called “good-first-issues” that are project tasks suited for beginners and designed to grow the community.
But a lot has changed since the early days of Linux. Today, the open source community of contributors includes not only the hobbyists, pursuing a technical interest, but also companies – both large and small – who view open source as a critical element of their strategy. Some companies take their participation a step further and create a centralized organization to help monitor activity. At VMware, for example, our Open Source Program Office team guides internal adoption and encourages external contributions and community involvement.
Why Enterprise Supports Open Source Projects
VMware CEO Pat Gelsinger was recently quoted stating that he hopes VMware will be “among the very best in open source by 2021.” It’s indicative of the journey – you’re never done, you will never arrive at a magic point in open source. It’s a world that’s in constant motion. VMware is not alone in its commitment to open source. More than half of Global Fortune 2000 companies surveyed by the TODO Group either have an informal or formal open source program or are planning to create one. Why do organizations build open source software projects that are, by definition, free to use, modify and distribute? There are several reasons.
It’s a great way to create software.
Open source has several definitions, and one of those is as a development methodology. As a methodology, open source relies on the wisdom of the crowd. By pooling technical talent, it accelerates software iteration and innovation while improving reliability and even encouraging adoption. This high level of collaboration today stems from GitHub’s creation of the pull request, widely viewed as the best and safest way to invite project contributions. Pull requests allow programmers to fork code, try out new ideas, and then contribute these ideas back if they work – all in a version-controlled way that allows for comments and transparent decision-making. The result? Companies know the best code results from open source and often use these projects (i.e. Kubernetes) as the foundation of their own products.
It’s the right thing to do.
Companies who use open source within their technology stack should contribute resources back to the open source community upon which they rely. What’s more, it’s in their best interest to help maintain the software underpinning their own. This type of good open source citizenry is key to a sustainable community, and that means companies with products based in open source components must invest in “upstream contributions” or contributions to the project underlying their product. In fact, developers expect their companies to be makers, not just takers, of open source. It’s this type of corporate responsibility that supports big projects like Kubernetes and up-and-comers like EdgeX Foundry or Network Service Mesh, all of which VMware engineers and staff contribute to by submitting bug fixes, helping with project management, providing marketing help and coordinating community events. Operating with the ethos of “give more than you get” will keep you in good stead with any community you encounter on your open source journey.
It’s good business – it gets solutions to market sooner, accelerates innovation, and attracts talented employees
Of course, there’s a third reason that companies invest in open source – it’s good for business. Not only does contributing to an active, healthy open source community fuel innovation, it also helps attract talent, reduce technical debt, and enable companies to focus on their unique innovations and application of technology. Really, how many custom printer drivers do you need? Use an existing one and focus on the next thing, not the known thing.
But oftentimes, open source software components or projects also need additional “wrappers.” They weren’t built with scale, security, data privacy, or resiliency in mind. And there’s very little in the way of support or integration with existing systems. So, while these open source projects have the core technologies needed to solve a given customer problem, they are not designed to do so. (Nor should they be. In the words of Chief Open Source Officer Dirk Hohndel, open source “projects live for themselves” as defined by their communities).
Software vendors step into this gap and provide support, integration, testing, and scale. They can thus build commercial products and tools while still supporting open source. Enterprise software vendor investments in open source unlock unparalleled technological innovation, and many of the most promising emerging technologies—like the Internet of Things, 5G, artificial intelligence and blockchain—are infused with and led by enterprise-supported open source technology.
The Open Source, Enterprise Balance
This ability of organizations to balance open source contributions and principals with economic self-interest is one reason open source enjoys such rapid adoption and expansion. When done correctly, it enables a mutually beneficial relationship between enterprise and open source, with open source supporting enterprise products and enterprise encouraging open source innovation. As we begin a new decade, this relationship is likely to deepen even further. To learn more about open source and stay up-to-date on new open source projects and developments, explore our blog and follow us on Twitter (@agileHorde).
Comments
Post a Comment