[Info-vax] Greg Kroah-Hartman on backwards compatibility

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Dec 1 13:39:00 EST 2020


On 2020-12-01 17:59:53 +0000, Dave Froble said:

> I tried to pass over this nonsense, I really tried, but I failed.
> 
> Tell me why it is harder to get into existing code for modifications, 
> maintenance, fixes, and such, then it is to explore the original 
> design, re-write the code in your language of the week, and then test 
> it to insure that you didn't screw things up royally?

If you're doing a wholesale port, or doing a wholesale rewrite, sure. 
Those tend to be wasteful.

All of the (successful) rewrites and overhauls I've been involved with 
have been incremental.

Usually by identifying the most problematic areas, and by identifying 
the areas where better and faster product differentiation can be 
maintained, or new features or new differentiations can be gained.

The best of those efforts further preserved and isolated the core of 
the working code too, though that's not always feasible. Sometimes 
bigger hunks necessarily get replaced.

> Go ahead and answer that.

I've been doing incremental re-work for years.

> Then tell me just what advantage there is to the entity that uses the 
> applications?  They paid very much for at best a sideways move, at 
> least from the user's perspective.

Incrementally, there is no particular advantage.  Longer-term, it's how 
an existing package suddenly finds itself becomes uninteresting.

> The only "business risk" that I can see is the risk that some 
> programmer won't get the opportunity to earn big bucks to re-do 
> something that was never broken.

The business risk is of a customer deciding that an environment is no 
longer suitable, and porting the data to a different platform.

> Maybe the best solution is to ignore the idiots that want to re-write 
> all the apps every year or two.

Remaining static, and not integrating changes and improvements works 
for a while.  But competitors have a habit of adapting and adopting and 
evolving, as do customer expectations.

Does this mean rewriting it all in Rust? Absolutely not. But does this 
mean more work on maintenance and refactoring than many legacy sites 
might want to expend? Yes.

Trade-offs. Trade-offs everywhere.

-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list