One of the key moments in the rise of GNU/Linux was when software companies producing their own variant of Unix realised that it made no sense for them all to work on something that was no longer providing any competitive advantage - it was simply part of the digital plumbing that had to be provided in some form. That meant they could usefully collaborate on a common platform, and differentiate themselves in other ways - higher up the software stack, or through services, for example.
Then the question became: whose Unix should they all standardise on? To choose any one of the available commercial Unixes would naturally give the company offering it a big advantage; what was needed was a neutral middle-ground. That middle-ground was GNU/Linux. Not only did it have all the advantages of traditional Unix, but its openness meant that it could be easily customised without requiring complicated licensing agreements.
Commoditisation has now spread to many other areas, notably in the smartphone and embedded sectors, as companies realise that it makes sense to collaborate on the common elements, which saves money and time, and frees up resources to work on more specialised aspects which might produce bigger paybacks.
This dynamic is by now well-known and hardly anything surprising. But what I have been waiting for is an understanding among companies outside the software industry - particularly larger enterprises - that it applies to them too. A report in the Australian title IT News suggests that some people are finally beginning to twig this:
Barclays’ global chief data officer Usama Fayyad revealed he is working with CommBank [CBA] to tee up a cross-border partnership that will see the London-based company use open source data analytics tools developed by internal CBA coders.
The collaboration will see the two banks working on CBA's extract, transform, load (ETL) tool that runs on top of the open source Apache Hadoop to analyse extremely large data sets. As the article rightly says:
“For most banks this is not the normal way to approach a problem. They hardly ever think about open source, and if they do they think about it as consumers not contributors."
Despite the resources poured into the development, however, the Barclays CDO said the open source decision made sense for CommBank.
“The whole area of ETL is not really viewed as competitive between banks,” he said.
That's because ETL has now become part of the digital plumbing for big banks, just as operating systems did twenty years ago. It makes more sense for banking institutions to work with their competitors on this kind of code than for them all to produce their own variants. And using open source has another big advantage:
“Banks in particular face a lot of problems if they have developers of a low quality, because it is very rare that someone will be looking over what they do.
“They could be using junk code without even knowing it. But if you are using open source then people are looking over this all the time. I think of it as peer review, like in the academic system.”
That's a hugely important point, and applies to just about every business writing code in-house. By opening things up, there are not only all the traditional advantages of collaboration, but the additional one that code can get checked by others. Indeed, just this possibility might help to concentrate the minds of programmers who otherwise could assume that no one will ever look at their code, and so try to cut corners.
Just as open source is inarguably the norm for enterprises when it comes to infrastructure - operating systems, databases etc. - I predict that this kind of inter-company collaboration on non-competitive code will soon become absolutely standard for larger companies that have in-house programmers. Call it the second enterprise open source revolution.