Open source software is stymied by a lack of funds for maintinance tasks, but companies aren’t coughing up charity money to pay open source developers.
Open Source in the Enterprise
How do we generate the funds to fund development on open source code?
- Support and services contracts like RedHat
- Enterprise Version licenses like Mongo or Neo4j which Gil Yehuda thinks are problematic.
- The Backwards Commerial License proposed by hueniverse
Another problem in open source is that enterprise software vendors have a large incentive to make their software as sticky as possible and lock-in their clients. This means that large software vendors like Mathworks, SAS, STATA, and Oracle spend large amounts of your license fees on selling the software to you, and to engineering aspects of the software that make it harder for you to transition to another platform.
From the 90’s to the mid 00’s the relationship between open source and commercial enterprise was fraught with conflict as software sellers tried to stamp out any threat to their lucrative license driven business models. Open source users worked dilligently within the enterprise to adopt their favorite open source technology, but it didn’t really take off until the twin revolutions of every company is a tech company and software as a service (SaaS).
So now all these companies have to write software and they have to use open source languages. The best of class software in these open languages is open source, and so the companies are adopting open source libraries in their enterprise. The companies expect to use open source libraries, but have them work at the level of maturity and support of commercially available software.
Open source developers are motivated by their desire to collaborate and build something larger than themselves. And often they don’t have a clear business model for their library or tool. What VC is trying to throw money at Pandas in order to build a commercial tool around DataFrames?
And here is where the rubber meets the road and open source developers see their hard work used in industry to generate profits, they don’t get to share in.
It's frustrating that the major cloud platforms ($MSFT, $AMZN, $GOOG) are now all supporting Avro, ORC, Parquet for data storage, but haven't lifted a finger to help build or maintain OSS libraries for use in Python to read and write them— Wes McKinney (@wesmckinn) July 20, 2018
If you use public cloud services, please hold your provider (Amazon, Google, Microsoft) accountable to adopt and help develop open standards. We need you to fight this fight with us https://t.co/NMON4qYwcH— Wes McKinney (@wesmckinn) August 20, 2018
Wes McKinney is really pushing for more involvement from companies in community lead open source.
If a company depends open source software, they should dedicate time or money to support the project. It isn’t charity, its strategic investment.
As part of my role at GTRI, I teach professional education courses at GTPE. I also teach professional eduction and open source training for enterprises as a consultant.
Company budget managers might not see the value in “giving money away to help out FOSS developers,” but they definitely see the value in having a high skill workforce that knows how to use their tools well and can get the job done faster, better, stronger.
I taught a Python for Data Science class at a large US based retail marketing firm, where management has decided that the future of their analytics infrastructure is open source.
I imagine the decision went a little like this:
Develpr: I think we should start using Python or R for analytics
Manager: Nope, we are a SAS shop and we have 30 years of legacy code
Many days elapse
Many Months Elapse
Manager: We are dropping SAS and switching to Python, everyone get ready
What do you do with 30 years of legacy code and a staff that is used to doing everything in a proprietary tool that doesn’t require coding?
Well you could be a bad fat cat and fire everybody while hiring a bunch of new devs, but that would ruin everyone’s life. So you invest in training your workforce on the new open source tools.
This investment in training can be a valuable way to fund open source development. Training a classroom full of high skill employees is a great way to build something with clearly identifiable value, the company sees your time and effort as a direct cost, it is not a digital good that can be infinitely replicated at no cost, and the ratio of students to teachers creates an economy of scale. Teaching doesn’t scale like web services, so I don’t expect to see a bunch of VCs trying to get in on this investment opportunity, but it pays well enough to make a decent living and fund open source development.
We are in a moment where businesses are spending money to drive adoption of FOSS in their enterprise, but that money isn’t reaching the FOSS developers who build the libraries that people use.
By connecting the training and education to development efforts we can raise funding for FOSS organically. FOSS developers might have to suck it up and teach some beginner courses on their product, but paying the bills is always harder and more productive than complaining about unpaid bills.
For now, I’m be happy to teach companies about FOSS software and donating a portion of the proceeds to real heros who put in the effort to write the code.