It’s no secret that open source is driving innovation in both enterprise IT through the products and services they consume and within the companies who provide those products and services. Whether teams are building applications and infrastructure in a popular public cloud or automating their on-premises infrastructure to speed time to delivery of applications to their employees, they are likely to use one or more popular open source projects to accomplish their goal. Nobody is going to find fault in a for profit organization utilizing free and open source software as part of their revenue generation. These tools were made to solve business problems after all, so of course it’s going to be a business that utilizes them and as any MBA will tell you, the goal of a business is to maximize shareholder wealth.
With this reliance on open source tools however comes an implicit expectation that the larger operations that depend on open source projects to drive business will share what they have learned back with the community that provided them. The tools, operating system, hypervisor, etc. are continually developed and maintained, typically by a small team that is doing so for little to no monetary gain. But, progress cannot be solely the responsibility of independent developers who are sacrificing their free time because they are passionate about a project or because they want to be viewed as experienced professionals. If a large consumer of an open source project finds bugs or develops new features for their individual use case, it is reasonable to expect that some or all of those efforts are given back to the project. We will examine in this article the motivations for and methods in which companies are participating in open source communities and take close look at NetApp in particular and their participation in open source.
Contributions Aren’t Just Altruistic
There are many instances in which developers are allowed, or even encouraged to devote some of their employer’s time to open source contributions. One can spend a short amount of time on GitHub and find numerous projects and contributors from recognizable companies. GitHub’s own Octoverse 2018 report helps tell the story. As seen in the projects section, 3 of the top 5 repositories in terms of contributors were either Microsoft or Facebook projects. Microsoft takes top honors for the largest number of contributing employees with 7700. Also in the top 10 of the same category are Google, Red Hat, Intel, and Facebook. The remaining 5 are all educational institutions.
It’s encouraging to see such a high level of participation in open source development from these companies. It’s worth noting that companies are not necessarily contributing out of charity or out of some sense of furthering “the greater good” alone but also for the corporate good. It just so happens that often times what is good for an open source community is also good for the company using the project or there is enough overlap between the two that time spent contributing to the project is considered well spent by leadership.
Counter to the prolific contributions of some companies, others are criticized for not contributing to open source projects enough. Despite dedicating an entire page to highlighting their open source contributions, Amazon Web Services (AWS) is regularly criticized for not contributing enough code back to the projects that it has built its fortune upon. Although they did not cite AWS by name, MongoDB heavily implied that their newly changed license model was a direct result of AWS heavily using their product in their own services without contributing back to the MongoDB community. This practice of using open source heavily in revenue generation without contributing back to a project in a meaningful way is often referred to as “strip mining” and it will be interesting to see if other projects follow MongoDBs lead in an attempt to combat it from cloud providers.
First Party Open Source as a Profit Center?
Remember those top projects on GitHub that included Microsoft? Well the top project in number of contributors for 2018 was Microsoft’s own VSCode! The enormously popular code editor that Microsoft is giving away for free is an open source product that anyone who wishes can fork, send pull requests, vote on feature requests, or do whatever they wish with the source code.
Why would Microsoft do this? While it’s true that we’ve seen the “kinder/gentler” Microsoft under Satya Nadella, there is also much to gain by interacting with the open source developer community. Gaining additional eyes on a project could be beneficial. Microsoft already employees thousands of skilled developers, but if product management doesn’t believe developing a specific feature request is a high priority it can still be improved by members of the community. Despite the fact that VSCode sends telemetry data back to Microsoft, it is still ranked the #1 code editor in the 2018 Stack Overflow developer survey. This is likely due to the fact that 1) it can be disabled, and 2) users can clearly determine what data is being sent to Microsoft by viewing the source code and making their own determination if it is something they wish to do.
Furthermore, in opening up their projects to customers, companies make them more adaptable to customer needs. In the age of cloud computing where custom crafting of an application from available services on products in an on demand fashion, having source code available provides the agility needed when a project may be lacking a feature or a show stopping bug is preventing you from shipping a release. When the company who added a feature or fixed a bug submits a pull request, everyone benefits. The for profit company with the open source project and its customers are all rewarded by community involvement.
An Integral Part of a Cloud Strategy
As highlighted earlier, open source software has played in essential role in the proliferation of public cloud usage in the past several years. Open source products are widely used as the foundation of many public clouds services that consumers have come to know and love whether they know it or not. Do you know which hypervisor AWS uses? Do you even care as long as your EC2 instances are up and running? Hint, its either XEN or KVM as AWS announced a transition from one to the in late 2017.
But in addition to the many open source tools that work behind the scenes of the customer experience are the multitude of open source projects that customers are using to enable their success in the cloud. The immensely popular Terraform by HashiCorp has seen regular contributions to its source since 2014. Providing the tools that allows DevOps teams to control infrastructure programmatically is crucial to success.
A Company That Gets It
I was reminded of this during a meeting I had recently with Richard Hardy, SE Director and Chief Architect, Americas at NetApp. They are doing a lot of things to enable their customers in the cloud. Not only do they have numerous services such as Cloud Volumes and Cloud Insights which are customer facing and their Data Fabric which enables everything on the backend. They also talked about how they are targeting a customer who has an SRE type of mindset. These are the folks who want to manage infrastructure programmatically. They expect to have tools available in an open source format that will allow them to automate and manage every aspect of their applications.
NetApp is committed to providing open source tools and open APIs to these customers. They currently have 45 repositories available on GitHub and that doesn’t event include the SolidFire or StorageGRID Repos. The repos include such projects as Trident, an open source container storage orchestration platform, and NetApp specific Ansible modules. NetApp has also built a community of developers on The Pub which has an active slack channel and regular blog posts with examples and guides for developers.
NetApp’s commitment to open source extends beyond the tools they release on GitHub as well. They have long demonstrated a commitment to maintaining the open source projects that are an important part of their business. This includes contributions to projects like NFS and the Cinder project from OpenStack. In fact, NetApp is a founding member of the OpenStack Foundation and continues to support the foundation to this day.
Open source software has gone from the darling of the tech industry in the 90’s to the dominant development model of the software that powers the modern Internet economy. As popular cloud services build upon a foundation of community work, it is good to see companies that give back to the communities that enabled their success. Yes, it gives us all warm fuzzies to see the community of independent developers and for profit companies work together on a project, but it is also good to see a project move forward and improve in ways that will benefit all who use it. It is also encouraging that we are seeing more companies, like NetApp display a commitment to releasing open source projects that help their customers make progress in their cloud journey and encourage participation in their own community. Succeeding together is much better than winning alone.