Like Bob Plankers, I’m also updating to the latest version of iOS 11 as I write this. His primary assertion that software is always broken is an interesting one.
His logic is seemingly sound. Most software updates offer a fairly innocuous list of fixes. At most you get a few specifically fixed bugs and some new features. Most of the time, you get the “fixes and improvements” treatment.
But this stable progression hides an underlying chaos. Searching through build and version numbers, we can see that these seemingly banal updates saw huge revision underneath. Bob points to VMware, where between releases, vCenter went from vCenter 6.5.0 build 5318154 to 5705665, meaning between updates they averaged thousands of builds a day. True this may be a result of automated build and testing, but automating the process doesn’t make it any less chaotic.
The question of software being broken gets tricky. For something to be broken, it must have at one point been whole, untarnished, ideal. At the very least, there must be an end goal of software that is in this state, perfectly complete in terms of functionality (no bugs) and in features. Asking if software is broken also then begs the question: can software ever be complete?
If it can’t, then it cannot be said to be broken. Rather, it is always in a state of becoming, defined by the tragedy of never actualizing itself. I think this fits the continuum of software releases as a framing metaphor better.
Of course, this doesn’t help when you have a critical bug that’s crashing your mission critical application or a new software release breaks a long establish workflow. As much as I would like to debate the philosophy of software, it is often brutally functional. Software being broken or in a state of becoming as a principal is less useful than if it’s usable in any given incarnation.
If I must consider software to be broken, I insist on applying the words of scholar Jens Lekman:
What’s broken can always be fixed, what’s fixed will always be broken
The Lone Sysadmin comments:
That’s why I always laugh at the people who say “if it ain’t broke don’t fix it.” Truth is that it’s all broken and we’ll never know just how bad the situation really is. The best thing we can do is move forward. Keep current on our patching, stay responsibly close to the current major version.
Read more at: Software is Always Broken