seedling · planted · tended

Upgrade or rewrite?

All notes, by stage

In March 2015, W3Techs had PHP on 82 percent of websites, and 18 percent of those were still on PHP 5.2. Support for 5.2 had ended in January 2011.

That's a lot of applications that hadn't had a security fix in four years. 5.3 had gone out of support in August 2014 too, and 5.4 was due to follow in September 2015.

The rough rule

  • Upgrade if the application can get to supported versions of its language and framework, and the roadmap is something it can do.
  • Rewrite if the roadmap needs something the current application can't do, or it can't run safely in a modern environment. If the costs are close, rewrite: it buys a longer life.

Either way, agree a timeline to get to each major version, and then agree to never be more than a year behind current stable.

Once you're current, staying current is maintenance; let it slide and it's a project again.

The case I wanted to make was a business one: what changed in each major version and what it costs to move, against what it costs to stay put.

Related: maintenance is a market you have to make, and the versions question in the inherited web app checklist.