I like open source software. Throughout history, technological revolution has always brought about mass production. You know, common components that fit together to form larger thingies are mass-produced by one or two companies? Inevitably this leads to standards, which, ultimately benefit the consumer. You could argue that standards lead to fewer providers, which stifles competition. I believe, however, that while in the end there are fewer “vendor” choices, the interoperability that results from standards encourages a higher level of innovation.
Guess what? We’re seeing the exact same thing, and its name is Open Source. The hell, you say? Open Source is great, but it’ll never be commercially viable. Well, I beg to differ. I think open source is going to change the way we develop software forever. Think about construction. A long time ago, the average construction project involved on-site, custom creation of all components necessary to complete the undertaking. Need boards? Cut down some trees, saw ’em into boards and cut ’em to fit right there on site. Not today. There are standards. So the companies who can most profitably bring what was a tree to market as a 2 x 4 survived. Now if a builder needs some 2 x 4s, they order ’em in 8′ lengths, and have ’em delivered. Same with pipes, wires, carpet, hardwood flooring. (Okay, enough of the homebuilding analogies).
The point is this: somewhere down the line, there won’t be as many software companies building custom software as there are today. The ones who try to build custom solutions to every problem simply won’t be able to survive. The software systems of tomorrow will be made of a sea of components, placed together by skilled open source “plumbers” who are part of what will be a thriving software service industry (perhaps made up of many of the skilled professionals working today as consultants). I could be wrong, but history seems to have moved in that direction on more than one occasion. Can you name a company that makes 4″ PVC pipe? Maybe you can (I can’t). But can you name 10? No? Me neither. But I can open the phone book and find a hundred plumbers who can install and maintain all varieties of pipes, and valves and fittings,Â and, well, youÂ name it. I see our industry moving in the same direction. Some day, building software the way we do today will be a thing of the past. Only a few companies will produce software. The rest will service it. It’s as simple as that. Are you ready?
Who will those companies be? Well, I believe they will be open source communities. Our industry is similar in many ways to manufacturing, but different in one really important one: you can copy software. You can’t readily copy a 4″ PVC pipe. See, in order to mass produce software you only need to (in theory) write it once. Then it can be copied over and over. The value, then, is in the intellectual “raw materials” (i.e. brain power) that went into it. The upshot is that the best “widgets” will survive. The rest won’t. Open Source companies (consortia) will be supported by the best and brightest, many of whom will work in the service industry side of software. Why would the service industry support (fund) open source? More importantly, why would the best minds work on open source projects? Maybe it’s because it will be in their best interest to ensure the best components are produced. And maybe these bright folks are supported by those of us “plumbers” working in the service industry-side of software because they build really great stuff. This model has a distinct advantage over its manufacturing counterpart: we all own it, not one or two companies from whom we are all forced to buy our widgets.
But just imagine for a moment: what if someday the notion of paying for software is something to be laughed at (“Really, grandpa? People used to PAY for software?!?”)?
I think that day is coming. We’re not really assembling applications from simple widgets just yet. Even developers working on really cool open source efforts write a lot of stuff from scratch. There is significant reuse of common utilities, but not as much, I believe, as we will see 5, 10, 15 years from now.
I believe the day is coming when the choice of tools and libraries will be manageably small, and that will allow those of us who write business applications to focus on what we should be: solving business problems.
Software Plumber 🙂