Running in place
By Anthony Veale on Apr 29, 2017 | In Upgrade
I am beginning to see signs that Open Source is losing its way.
Here is the red flag for me: I have seen a number of software projects decide to radically change their entire design, but keep the same name. Version 2.0 ends up being a completely different program, not just completely different code.
I understand the need to refactor code. Long history of development accumulates cruft and eventually you are trapped in a spaghetti code nightmare. Sometimes rewriting from scratch is the only hope of making the code supportable again.
But when you do that, you should make it your plan to recreate the existing functionality. That is what DEFINES your software. You shouldn't call it 2.0 if it isn't at least as functional as 1.9.
I've been trying to express this without calling out any names. Here I am failing: KDE4.
KDE is a window manager system on Linux. It runs your desktop. Applications ask it to place their windows. Users configure its look-and-feel. It controls most of what you see and how you work when you are doing stuff before, after and between multiple applications. And it had long history and spaghetti code and design decisions that limited the developers' ability to add new functionality and fix old functionality. Slash and burn rewrite was probably the only hope.
But KDE 4.0, the first result of slash and burn, was bad. It wasn't stable enough to support users. It probably didn't implement 50% of what KDE 3.x could do. I say "probably" because I couldn't use it for long enough to find out whether my problems were due to broken code or just missing functionality.
And yet they managed to convince Linux distributions to not only include KDE 4.0, but make it the default after an upgrade.
They needed this hugely, because they really needed people to test it in order to iron out the copious bugs.
I don't know about you, but I route around impediments to my work. I'm not a software test engineer. I never signed up to be a beta tester for KDE 4.0. I DIDN'T WANT THAT CRAP ON MY COMPUTER!
KDE 4.1 was better. It only seemed to crash every few days instead of every few hours. Now I CAN tell that it didn't implement a lot of what KDE 3.x had. I downgraded again.
KDE 4.2 was required. "It's good enough now that we won't even include that nasty old KDE 3.x." Well, you were wrong. It still crashed at least once per week. That's unacceptable. I found my way back again.
KDE 4.3 actually got to the point where I could use it. Now I really began to miss my old friend features from KDE 3.x.
You know what? I still miss them. KDE decided that they would never reimplement some of them, I guess because they had their hands full just making the dang thing stay up for long enough to be useful.
KDE 4 was only the first package that I saw do this.
Here's the big hint for any software package that decides to completely change their interface during a major release:
If I have to learn how to use your new version from scratch again, then there is NO ADVANTAGE to learning your new version over learning SOMEONE ELSE'S software.
Every time one of my favorite packages has done this to me, I have ended up using a different program. Every time. And advertisers? I have no brand loyalty either.
All I want is for an updated package today to be at least as good as yesterday. If you are going to make me run as hard as I can just to remain in the same place, I'm going to call you the Red Queen and go off looking for the White Queen. So what if she's just as eccentric as the Red Queen? At least I'm not out of breath just trying to do the same thing today.
No feedback yet
| « User Hostile | Misunderstood » |