The decision to make – or not make – a “breaking” change is always difficult.
A “breaking change” is a change made to an application that either forces an upgrade to a new OS, a new piece of hardware, or in any way fundamentally changes the app in such a way that the application won’t work the way it used to.
Sometimes one must make a decision to roll out a breaking change because the gain is much more than the pain felt in not doing the breaking change.
And sometimes, developers make breaking changes for no good reason whatsoever.
Like, for example, the change made by Google’s Android SDK team when they changed the name of their “tools” directory – the directory where all of the utilities needed to build and deploy Android apps – to “platform-tools.”
No new features were added. No additional functions.
Just a change that caused every developer who downloads the latest sdk to have to change his system configuration. And waste 15 minutes or more for a change that adds no value. Zilch.
Even if a change only involves changing a PATH statement (as this change did), why make the change at all if it is only to satisfy some arbitrary naming aesthetic?
And makes me want to whup somebody’s tail for being stupid.
Listen – I can appreciate wanting to correct past wrongs. But sometimes, the gain (zero in this case) is not worth the aggravation you cause the entire community by your breaking change.
So please, consider that the most valuable asset we all have is our time.
And when you waste it doing stupid stuff like this, it shows disrespect and a total lack of consideration.
There are absolutely times when breaking changes are warranted. In this case, Google, changing the name of the tools directory was unwarranted and idiotic.