Illusions of chaos, illusions of calm
As luck would have it, I have spent the last few months oscillating between a number of development projects using wildly different technology stacks. Keeping all the details of any one development project in your head is hard. Keeping the details of multiple projects and switching between them rapidly is very hard. If the various projects are on wildly different technology stacks, the problem is even harder. I'm feeling a bit frazzled as a result and looking forward to a few days off around the Christmas break.
My particular scenario involves a commercial software stack in one project and an open source stack in another. It has been interesting to stand back a little and compare the dynamics of the two projects. The area that has been most striking is the deep equivalencies in the complexities in both environments.
I say 'deep' because on the surface open source looks more chaotic than commercial software which appears calm and ordered by comparison. On the face of it, open source software is an intensely chaotic primordial soup. A constantly evolving mish-mash of technical brilliance co-existing with the not-so-brilliant; of ego clashes and flame wars. High drama executed 24x7, fully visible to anyone who wants to look. Like all primordial soups, a quick glance leaves you with the impression that chaos truly reigns.
On the face of it, closed-source software is much more ordered. Applications proceed in an orderly fashion, progressing from concept through to implementation. Applications have nice tidy version numbers that proceed from 1 upwards or perhaps by year, upwards. Ordered, safe, predictable. The complete opposite of chaos.
I won't go in to the reasons why the latter simply isn't the way the world actually works but trust me, the world doesn't work that way. Here I would like to concentrate on one of the reasons why closed-source software would appear to progress in a calmer fashion than open source software.
The key word I think is 'brand'. A brand is a device used to great effect to create 'sameness' in software. The industry is overflowing with examples of applications that are all branded as 'Application X' but in reality, are totally different depending on the year you are talking about, the version you are talking about, and so on.
The reasoning behind brands is clear and obvious and sound and I have nothing against them whatsoever. However, at an engineering level, they are largely meaningless. The file formats between two versions of Application X may be totally different. The APIs totally different. In extreme cases (of which there are quite a few), every single line of code between two versions of Application X are different. Every developer has had experience of a conversation that goes something like this 'we have Application X, you have Application X what could possibly go wrong'? Like I said, the world does not work like that.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
Esther Schindler
If the comments are ugly, the code is ugly
claird
SVG a graphics format for 21st century
pasmith
Take Chrome OS for a test spin
Sandra Henry-Stocker
Solaris Tip: Have Your Files Changed Since Installation?
jfruh
Android fragments vs. the iPhone monolith
mikelgan
What Gizmodo missed about the Pro WX Wireless USB disk drive
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













