My erstwhile colleagues and friends Frank Scavo and Holger Mueller have weighed in quite eloquently on how Open Source is eating the world (Holger’s post) and why it’s not eating the ERP world (Frank’s post). I think both of them have raised excellent points and done a highly credible job of making their cases for the role of Open Source in today’s enterprise.
But…..
There are two more points to consider in the story that I think add some nuance to what is actually happening and what will happen to Open Source in the future. The first may not be the most popular stance I’ve ever taken, but here it is. Open Source is popular not just because it’s good but because it’s foundational model is a sucker’s game. People develop this stuff for free, loads of them, and in the process hand enterprising vendors and investors a mighty fine nest egg on which to build out a for-profit enterprise. This makes Open Source hard to resist as a starting point for enterprise software. If someone hands me a free pile of pre-cut lumber to build a house, why would I bother to cut down my own trees and mill them? And if it were truly free, no strings attached, all the better.
Point number two, more to bolster Frank’s position, is the above free lumber model is excellent at building commodity software that is ideally suited to infrastructure software, but not highly valuable and therefore complex enterprise software. Enterprise software ideally has been through a process that I don’t see taking place in the Open Source world, particularly in our digitally transformative age: developers workshop business process renewal or creation with actual line workers in a particular business domain and together build a transformative new process that has pretty much immediate user acceptance, as the users were part of the design and development process. (This idea regarding the importance of UX is rightfully called out in one of the excellent comments on Frank’s post.)
(As an aside, I have to disagree with Holger’s assertion that more eyes on the code and more hands on the keyboard are inherently good. While Fred Brooks, the author of The Mythical Man-Month, admitted that the eponymous Brooks Law was in some way an oversimplification, we’ve all seen cases where more programmers on a project do not yield a better outcome. ‘Nuff said.)
Back to point number one. I have sat in dumbfounded amazement for years watching the wisdom of crowds of very talented Open Source developers being poured into products that aren’t just free for other developers to use (nothing but good there) but are also free for established vendors and VC-backed start-ups to use to build for-profit companies, with nary a dime going to the people who actually built the ur-code. Hence, the sucker’s game: work for free and let others reap the profits.
The most egregious examples of this are the open source database companies and companies like Red Hat. Sure, these companies take Open Source software and productize it for the masses, which is a good thing in general. But the need to productize to this degree – and these companies’ financial success, at least for their early-stage investors – also proves that that Open Source has limits in terms of its ability to function in the last mile of the customer/developer experience, which requires support and services in order to render the Open Source software commercially useful.
Regardless, at the end of the day these Open Source vendors have been given a huge leg-up by taking some serious dollars out of the development budget, which is pretty much equivalent IMO to a major tech company getting a leg up on its competition by extorting a city to lower the company’s taxes, which effectively lowers operations costs and drives higher profitability. Except that in the latter case the suckers are the poor taxpayers who have to go along with the charade whether they like it or, whereas in the former case the lambs are leading themselves to the slaughter.
Please believe me when I say that I totally agree with Holger’s assertion that this process produces absolutely top quality software – and that the people doing the work are often among the very best in their respective corners of the software world. My main beef – which is why I use the term suckers – is that I think they should be compensated when that good hard work results in someone else – particularly a VC-backed company – making money on the fruit of their labor, in Red Hat’s case about $3 billion last year, with almost $500 million in profits, that after IBM bought the company for $34 billion. Or to use the Oracle example in Holger’s post: hell yes Oracle put aside a 1000 FTE effort in favor of adopting Apache – why not use the free labor of others to save a ton of money to be better used, or not, in Oracle’s case, elsewhere? The more free labor, or lumber, or whatever, the better.
(I have to imagine somewhere in the depths of Sand Hill Road a bunch of VCs cackling at the prospect of fleecing the well-meaning Open Source community in order to make a quicker, faster buck. The contrast between the altruism of Open Source and the avarice of VCs exploiting it makes me a little queasy.)
Back to the last mile issue: this is why Open Source isn’t really successful in the enterprise, particularly at the higher levels of innovation required by modern enterprises today. Open Source is excellent at creating commodity-level software – hence its acknowledged dominance in the infrastructure world. But just as the world of PaaS is taking a lot of basic commodity functionality out of the data center and putting in the cloud, so is Open Source taking a lot of cost and complexity out of building next generation enterprise software.
But it can’t be that next generation enterprise software, any more than I can mill a house out of a forest full of trees. The last mile – that part where a business’ or industry’ needs and opportunities and its users’ needs and desires are realized in a piece of software – isn’t something you can do with more eyes and more hands. In fact, we all know lots of examples of software that’s over-engineered and over-programmed, and the resulting bloat says everything about why the last mile isn’t conquered by more, but by better.
In the end I applaud the advances that Open Source have made in usability, standardization, and time to value. We would be eons behind in the enterprise software world without it. But Open Source has real limits, and those limits are why the last mile in enterprise software still needs to be coded by people with deep domain expertise and an understanding of specific business processes and business needs.
Both methods will continue to coexist in the enterprise software world for the foreseeable future – with Open Source representing the ever-present commoditization of yesterday’s innovation, and for-profit, vendor-backed development trying to outrun Open Source by pushing the innovation boundaries as far and fast as possible.
Maybe one day we can figure out how to compensate all that free labor as well….
Hey Josh! Followed this post from a link in: https://diginomica.com/2019/01/18/enterprise-hits-and-misses-iot-security-gets-blockchained-and-open-source-gets-blogchained/
OSS is definitely a commodity and this is specifically why there are corporate sponsor for many projects. Drupal and many of it’s contributed modules, (Ex: Webform: https://www.drupal.org/project/webform) have organizations sponsoring the project. And for the rest, I am looking forward to social funding initiatives, like Tidelift: https://techcrunch.com/2019/01/07/open-source-monetization-startup-tidelift-raises-25m-series-b/
Either way, there are still customizations required for any implementation of OSS, no matter how complex the implementation. The proprietary model is and has, in large part, failed. To me, the proof in the pudding was when the almighty MS finally decided to embrace OSS.
Look at it this way, work in OSS is a division of labor and collaboration space, where frameworks and security can shine and allow businesses, small to enterprise, focus on innovation instead of the nuts and bolts EV-ER-Y time they decide to launch a new thing. The power if iteration coupled with long term strategy. Seems like a perfect marriage to me.