Recently, preparing a case study for a client, I was struck by the idea of a “lurking technology”. (The history of technology is the trade secret of IT consulting, or something.) That’s one that isn’t necessarily obviously linked to the end user, has broad influence, and causes changes to happen. You can make a case that Ethernet was such a thing for the media in the 1980s and 1990s – the new colour print machines, the Apple Macs in the layout department, and the faxes and WAN technologies supporting the reporters are all influential in themselves, but they wouldn’t have worked without good local area networking to tie them together. You could say something similar about finance, and taken together, there’s a case that its influence has been mostly evil:-)
But the one I fixed on was distributed version-control. (I thought of Whitworth’s screw-originating machine, but I felt it might be a bit recondite.) It’s easy enough to see that there are a hell of a lot of Linux/Apache/MySQL/programming language beginning with P servers out there, and an absolutely enormous number of Android devices, to say nothing of BSD Unix-based iPhones. And it’s even easier to crack out 800 shiny radical words on the joy of open source.
However, just remember the last time you circulated a document for comment around a dozen people and what a pain in the arse that was. Now scale up to a million lines of code and several hundred contributors distributed around the world, and require that every change be submitted to automated testing, and imagine just how much pain and trouble and time this is going to involve.
The lurking technology that fixes this, and makes it possible, is distributed version control. Like all lurking technologies, very few people really care, a few more master it as part of a trade, and a bigger pool just assume it’s there. Of course, the people who do care over-care and imagine you could just sling the statute book in Github, and of course they are wrong, as a real expert points out here.