A bit of history:

Up till 2004, the king of all blog software was Moveable Type, written in Perl. In theory, you had to pay for this, but there was a liberal free license. Then in 2004 they got strict and said, hey, everyone has to pay.

This set off a movement to find another free blog software package. For awhile it seemed like there were roughly a million blog software packages, written in different languages. PHP was easy to learn, so it gained traction. Blossom was big, Typo was big. Then WordPress gained traction.

During the long era when other blog software was dying, and WordPress was emerging as the clear winner, the success of WordPress was driven by the understanding of BDFL Matt that designers loved it. It worked well with software such as Dreamweaver. People came to PHP because it was easy to learn, and so WordPress should also be easy to learn. Because of this, Matt insisted that WordPress stick with PHP 4, rather than PHP 5, for many years. I believe PHP 5 had been around for 6 or 7 years before WordPress began using it. I believe Matt was worried that the Object Oriented ideas in PHP 5 would be difficult for newcomers to learn.

I believe the decision to stick with easy-to-learn PHP 4 was essential to the success that WordPress enjoyed during that era.

Which is why I am so surprised by Gutenberg. Telling the whole community that they need to learn React is a shocking change of tactics. Instead of focusing on easy-to-learn, WordPress suddenly wants to become best-of-breed? That is a different niche in the ecosystem of CMSs. Once a good value Honda, WordPress now wants to be the high quality BMW.

React radically increases the amount that new developers will have to learn to become proficient with WordPress. And if you're asking developers to radically increase their investment, then suddenly they are going to consider other options, such as Ruby On Rails. If WordPress suddenly becomes one of those frameworks that needs 2 years of hard study before you really understand it, then maybe you should be learning some other framework during those 2 years? Because there is also a lot of ugliness and technical debt in WordPress, things that made sense when the focus was "make life easy for designers" but which don't make sense if the goal is "be the best framework."

I was around in 2001 when PHP-Nuke decided to go down a similar road. The decision was made that it would be refactored into a series of components, each of which would have an elegant interface for interacting with the other components. PHP-Nuke was going to clean up its technical debt, become more secure, adopt best practices. But previously it had been playing the role of "easiest way to set up a blog or forum". It gave up one role and tried to become something else completely. It self-destructed. Two years later it was dead, no one was using it.

It seems to me that WordPress is going down the same road as PHP-Nuke. Obviously WordPress is a much bigger community than PHP-Nuke ever was, but it seems like it is making the same kind of mistake. I thought Matt was extremely wise for sticking with PHP 4 for so long, but Gutenberg seems like the kind of mistake he would have been making if he'd adopted PHP 5 too soon.