Professional Education and Open Source

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?

  1. Support and services contracts like RedHat
  2. Enterprise Version licenses like Mongo or Neo4j which Gil Yehuda thinks are problematic.
  3. 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).

When every company became a tech company, they realized they had to write a ton of software and all the popular programming languages were open source by 2012. Python, Ruby, Javascript, Go, Julia, Swift, Rust. We have reached a time where there will never be another programming language developed under a proprietary model with mass appeal.

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.

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.

Professional Education

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.

Conclusion

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.