By now we know that Open Source has won for platform software and possibly even more... Time to look how it all happened and what the trends going forward are going to be.
My 2 eye openers…Somewhere in the early 2000, Oracle dropped its multi-year, 1000+ FTE effort of an application server… to use Apache going forward… that was my eye opener as a product developer. My eye opener as an analyst was in 2013, when IBM's Danny Sabbah shared that IBM was basing its next generation PaaS, BlueMix on CloudFoundry… so, when enterprise software giants cannot afford to out-innovate opensource platforms, it was clear that open source war winning. As of today, there is no 1000+ people engineering effort for platform software that has started (and made public) built inhouse and proprietary by any vendor. The largest inhouse projects that are happening now in enterprises, the NFV projects at the Telco's, are all based on Open Source.
And there is certainly commercial success. IBM bought RedHat for US% 32B. And while early innovators (on can argue Open Source started with Hadoop) Cloudera and Hortonworks have just joined forces, other players are seeing record market valuations (e.g. MongoDB at US$ 4B+) or exists (e.g. MuleSoft by Salesforce for US$ 6B). And the next cohort of successful Open Source vendors are in the making, e.g. Confluent, Hashicorp, Kong to just name a few.
Why has Open Source won?The most prominent reasons for this win of Open Source (and with that a community-based approach) over enterprise-based ones are the following:
Software Development in the 21st centuryMarc Andreesen's prediction that "software eats the world" is more relevant than ever before. But for software to turn into this omnivore, a lot of software has to be built. And it can't be built in the traditional way, when enterprises license technology platforms, get trained (and certified) for a few quarters and then try to build their strategic software on them. An enterprise following this 20th century best practice would be hopelessly lost against the competition of the 21st century, being way to slow to build new, strategic, differentiating and disrupting software. But software has to work, and uncertainty in regards of capabilities and quality of underlying platform software slows next generation application projects down. Enters Open Source, where code is transparent, the better solutions become 'standards' faster and developers can repeat experiences across projects (and employers).
The Internet is the enablerWe often forget what fundamental change the rise of the internet has on best practices, and software development is no exception. Without the internet, Open Source would not be around today. The easy, cheap access to code repositories, the ability to download large code libraries fast, safely and on demand are key enablers of Open Source success. On the concern side, a fast, cheap and tamper free internet is key for Open Source success. Today we can see that Open Source success is limited where internet access is rate / slow (e.g. large parts of Africa) and internet access is monitored / limited content wise (e.g. authoritarian regimes). When your Open Source contribution could be regarded as cooperation with international communities and as such treason, developers will stay away from it. On the flipside these regimes may be tempted to instill malicious code into Open Source… something the Open Source community needs to be vigilant about.
More hands have never hurt softwareAt the end of the day, more developers make better software. The remarkable part of Open Source is that it was able to expand beyond the typical boundaries in regards of developers of traditional software projects, which run into issues beyond a few hundred developers typically. Open Source had to solve the distributed development challenge, and it has successfully. Building on the engineering ethos (and in some cases also some ego), Open Source has taped successfully in the desire of many developer and engineers to be part of something bigger, to improve something and most importantly to work on something that is near to their minds and dear to their hearts. Most importantly, Open Source has figured out how to scale to 1000s of developers / contributors – all working remotely. This has always been a key challenge for traditional vendor-based development forces.
More eyes have never hurt softwareSimilar to the mantra of more hands have never hurt software, more eyes have not hurt software either. Intrinsically, software is prone to defects at any level. Finding and fixing these is a tedious process. But more people seeing code, being able to fix code will help to make software better. Especially when these people work 'for free'. The limit of QA in even the most quality oriented development forces, has always been commercial acumen… at some point it does not make commercial sense to hire one more QA professional / code reviewer and / or run another test cycle… but when the people for this volunteer, and the cost 'is zero' – that equation can be moved way beyond commercially viable realms. That does not mean that developers testing Open Source are not commercially astute, but the community dynamics work in their favor: Finding a major defect – even late – gives a developer stature and chops in the developer / Open Source community. With the extra bonus, to potentially even provide the fix… to millions of users. A major motivator to spend one's free time (in most case) on software quality.
Layered software needs transparencyWith more software needed, more software needs to leverage aka layer on top of more / other software. That process requires trust in underlying layers of the software. A black box will have a hard time to gain the trust of both developers and CxOs. Open Source, with visible source code, is in a better position here. If someone wants / needs to inspect Open Source code they are taken a dependency – on – feel free to look as long as you like. That openness and access is key for the success of Open Source, but seldom mentioned.
Free" is always a drawPlatform software has always been expensive – and tricky to price… It needed to be expensive enough to allow the vendor who created it to make a living (not e.g. fail like Borland, ultimately) but at the same time could not charge a premium, as the software built on it needed to be built as well. That traditional equation gets blown out of the window when it comes to Open Source… where 'free' is a major distortion to this equation. CxOs and architects are willing (or forced) to make compromises for a 'free' platform. In terms of capabilities and scalability and more. On the flipside the 'free' model of Open Source has hurt some of the innovators who try to make a living on it, but pretty much only service models have shown traction / success. So 'free' does not translate in free for the enterprise, but CxOs are ok to pay for services that are needed, they have been doing that all along.
|Why Open Source has won|
Why will Open Source keep winning?Now that we know Open Source has won, the question is… what is next? Will the next big thing come and replace Open Source? Or is Open Source here to stay? I tend to go with the latter. Here are the main drivers, why I see Open Source winning in the near and medium future (at least):
Software needs to be built fasterWe already mentioned the need of more software needing to be built and needing to be built faster than ever before. There are three dimensions to build better software faster: People, process and tools. Given the talent challenge, little can be done on the people side. Software development processes have been chewed over and analyzed / designed all over. No matter if agile or water fall – there is little room for code acceleration once a methodology is established and tuned. Which leads us to the remaining variable, that is tools. As Open Source has largely taken out the tool market, it comes back to Open Source to innovate on the tooling. The beauty here is again the inherent nature of Open Source: If a developer sees an upside to improve tooling, they can start an Open Source Project… and other developers will join if the idea and progress seem to be in the right direction. The result is better tooling, that helps to build faster… and more on Open Source.
Cloud platforms need software fastWe are living in the era of the cloud computing landgrab… a handful or so IaaS players are fighting for market share and to power the compute loads of the enterprise. If there are vendors who ever were under pressure to build platform software fast, it is the IaaS players these days. And there is no faster way than building software than using Open Source. Especially when you operate on tight and tightening margins. So, it is no surprise that pretty much all IaaS players have standardized on one version of Open Source or another. Only close to their respective infrastructure, they have gone proprietary (still, often based on Open Source). As one of the ironies of the last years, we even see IaaS vendors launching their inhouse frameworks as Open Source projects and successfully establishing them in the market. Google is a master at this game, see the success of Kubernetes and TensorFlow.
Cloud platforms vendors need 'standards'The other key part of a successful IaaS business is to down play the aspect of lock-in. Enterprises don't want to get locked-in any infrastructure, so they prefer standards that they expect can insulate them from lock-in. The definition of standard is of course… flexible. But adopting as successful Open Source API as standard … is a common accepted practice. The consequence of this market reality is, that IaaS players realize that Open Source, that is successful, is the door to standards. Therefore, we can see substantial competition on the timing of new Open Source initiatives and a reluctance to endorse a competitor's initiative early, albeit promising. Historically that behavior has hurt enterprises, see e.g. the fragmentation of 'standard' Unix and even more recently Linux. But the speed and need for adoption does not allow for this fragmentation, something that e.g. can be seen with the across the board adoption of Kubernetes. For enterprises standards are good, and that Open Source allows to create these standard faster and across the platforms, is even better news.
Enterprise SaaS is built on itIn the past, enterprise software focusing on the application tier, had the luxury to create the own application technology stacks. Pressure to deliver software faster, and the adoption of public cloud for enterprise SaaS, have let to the adoption of IaaS platforms in SaaS products. And with IaaS platforms embracing Open Source, we can see more enterprise application software running on Open Source than … ever. And enterprise software is the largest load out there, the one the IaaS vendors are after in the move to the cloud, and the load that the SaaS vendors need to move in order to remain competitive. The result of massive load means that a technology stack will become more adopted and with that more relevant going forward… every SaaS vendor moving to IaaS is brining load to Open Source. And with load comes more commercial interest, more interest by developers and so on. Load is the fuel of the Open Source (and cloud) flywheel.
Enterprises want standardsCxOs want to build software and operate it on as much standard as possible. As standards given them the chance / opportunity to transport load across computing platforms – albeit often in theory and on paper only. But the desire for standard is well understood by the IaaS vendors, who are more than happy to show the usage of Open Source and with it is substantial adoption numbers… and adoption makes standards. The good news is that standards are winning faster than ever, so the 'standard wars' of the 90ies of the last century are not happening (at least now). In contrary, standards are winning faster than ever. It took S3 about 5 years to become the default 'standard' storage interface. It took Kubernetes less than 3 years… and it took Tensorflow (some may debate if it has won yet) about 2 years to become the leading / de-factor standard everybody needs to support.
The community aspect is the genie that can't be put back in the bottleGroup dynamic processes have a life and dynamic of their own. Open Source succeeds with the community dynamics, that make it an innovative and unique process to create software. The power of the community in regards of elasticity of resources, worldwide capacity, seamless contribution, additional quality processes has made Open Source pretty much unbeatable. If there will be a better way to create and propagate software, it will very likely have to include the same community dynamics that have helped Open Source put the traditional, enterprise-based development team approach to rest.
|Why Open Source Will keep Winning|