There have been a number of interesting comments on my recent post on the build/buy debate. Leo de Sousa feels I have missed out “reuse” as the first port of call. And I guess he’s right, since I haven’t been explicit about the role of reuse in all this. So I will modify what I said earlier and try and make this more explicit:
- For common problems use Opensource (thereby reusing community property)
- For rare problems use Buy (thereby reusing the learning of someone who has already solved the problem for a few others)
- For unique problems use Build (but do so in an environment of component architecture and reuse)
I could just say
- For common problems use Opensource
- For rare problems use Buy
- For unique problems use Build
- And in all cases make sure you maximise reuse
Abhijit Nadgouda points out that “with opensource, it is quite possible that you end up doing all three”. Which is also something I agree with, I think we are heading towards a time when opensource is the heart of all software development, but with some local builds and some specialised builds in a hybrid model. The distinction between build and buy and opensource then becomes one of scarcity economics versus abundance economics. Everyone’s got bills to pay, we just have to get the funding models right. Whatever the answer, one thing’s for sure, the current model’s busted.
Louis Nauges takes the argument in a slightly tangential direction, suggesting that SaaS plus open APIs is a different option. I guess I considered it nothing more than a variant of Buy, but then I may have misinterpreted what Louis said. Yes there are SaaS examples that are free-as-in-gratis, but opensource to me remains free-as-in-freedom, so I can’t really find examples of “opensource” SaaS. I need to think about this a little more.
Jag takes a completely different line, one that I am still pondering. What kind of ontology and taxonomy is needed in order for us to classify the problems and their domains accurately? How do we have to educate IT professionals as a consequence of this? More of this later.
Once again, do keep the comments coming. I really do appreciate them, even where I don’t answer back individually. And I learn from them. Occasionally I land up with quite a backlog as a result, but that’s a nice problem to have.
And remember, these conversations are snowballs. None of us should be proprietary about how they evolve and where they get to. You start them off and soon they have a life of their own. Sometimes someone else starts them off, and all you do is add bits to it.
Yes of course the conversations get fragmented. But this is better than stultifying and straitjacketing the conversation in the first place. And if we use tags and folksonomies sensibly, we can always de-fragment them.