By some estimates there are roughly 190 million companies on earth today. Imagine if they were all contributing to open source. Of course, most of those companies aren’t in a position to contribute code, but if we want truly sustainable, customer-friendly open source, it’s time to focus on the best possible source: companies that don’t sell software.
Why? Because the more software is built to suit the needs of those who are actually running it day-to-day, the better that software will be, and the less we’ll need to worry about sustainability.
Make someone pay for this
Despite the fact that open source has never been more broadly used, apparently we’re in an “open source sustainability” crisis. It’s the same “crisis” we’ve been in for the past 20 years, with persistent warnings that this can’t last. I wrote about it in 2008 (“Open source has the chance of becoming a nonrenewable resource if enterprises consume it without contributing cash or code back”), but by 2013 my concern had faded:
This dramatic improvement in the health of the open source ecosystem derives from two primary trends: a move toward more permissive, Apache-style licensing, coupled with an increase in open source contributions from web technology companies like Facebook.
While I continue to believe open source is nowhere near an existential crisis, I do believe we’ve frittered away needless energy looking for sustainability in the wrong place: vendors. As I pointed out in 2013, the real innovation in open source stems from customers; that is, from enterprises who use open source to build their businesses and contribute code accordingly.
Software of the people, by the people, for the people
Red Hat CEO Jim Whitehurst has been agitating for customer-driven open source for well over a decade: “Ultimately, for open source to provide value to all of our customers worldwide, we need to get our customers not only as users of open source products but truly engaged in open source and taking part in the development community.”
There are many reasons why such customer-driven (or user-driven) innovation might be best, but Linux veteran Matt Wilson put it this way: “If I can risk predicting the future, I think you’ll see a lot more new open source software emerging from companies that are building it and using it to solve their business problems. And it will be better because of a positive feedback loop of putting the software into an applied practice.”
Say that again?
Wilson: “If you look backwards in time, [you’ll see] that software vendors dominate the enterprise software space. And I think that is a reason why so much of it is so so bad. Because the people building the software are not using it to solve problems.”
Not software sold on a golf course. Software built to meet real-world needs by the companies experiencing those needs. Fortunately, it’s already happening:
- Lyft released Envoy, a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures;
- Airbnb released Airflow, a platform to programmatically author, schedule, and monitor data pipelines;
- Walmart released Electrode, a React-based application platform (that the company used to run Walmart.com);
- Netflix released Spinnaker, a multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence;
- Intuit released Argo, a collection of projects for working with Kubernetes that include Argo Workflows, a container-native workflow engine; Argo CD, for declarative continuous deployment; and Argo Events, an event-based dependency manager;
- Capital One released Cloud Custodian, a tool used to deliver automated governance, security, compliance, and cost optimization to enterprise cloud environments.
There are many more. Even a cursory review of the speakers at OSCON 2019 reveals Uber, Bosch, The Home Depot, Comcast, and others, many of them talking about how their companies both use and build open source software.
The future of software
And of course there’s great software built by vendors, too, though the best software released by vendors tends to have more to do with how they’re running their infrastructure than what they’re selling. Take Google and Kubernetes, for example: Google had been running containerized workloads for over a decade before releasing Kubernetes. Kubernetes suddenly gave non-Google-like companies Google-like powers.
This is the future of open source. Vendors will continue to contribute to open source projects, and to release projects of their own. But Whitehurst and Wilson seem to be onto something: the best software is software that companies build to “scratch their own itches,” in true open source fashion, and address their own day-to-day needs.