In demand


Sunday, August 9, 2015

PHP7 is a winner but the Internet Loses

There is lots of  talk about the coming PHP 7 release. The item most talked about is the performance benchmarks of existing code. No one is talking about the zero sum game being played between PHP performance improvements and lack of them in open source PHP projects.  Yes, a good part of the internet will be able to take advantage of the performance increases brought with PHP7. But  this is more than offset by code bloat, weak software architecture and decreasing performance of popular frameworks.

Your software Sucks!

In the face of clear warnings by Rasmus Lerdorf
about the state of frameworks. None of the popular open source projects are setting goals to surpass all the reported benchmarks. None of them are making claims that their next version  after PHP7 release will be less complicated. They will not be making higher quality software. They will just sponge up the extra performance increases given by PHP7 and squeeze it out in to a market campaign  like a TV commercial for toothpaste. Wordpress! "now 100% faster with  100% of the same bloat and complications you love!" PHP7 will make everything go  faster while bringing other changes in quality and features. But popular open source PHP software projects will ignore all of it. They will not  seek to change with it to make the internet a better place.  

Held hostage 

 The usual suspects in slow PHP version adoption are hosting companies but these days  with the growth of  VPS and cloud hosting they are just intermediaries. The internet is actually being held hostage by the popularity of Wordpress, Drupal and Joomla! with minor contributions from other projects. Many of the popular projects final decision makers are mostly confused and  ill-equipped to handle making choices of large magnitude and far reaching repercussions. Which is why they hire CEO's when suddenly millions of dollars of venture capital is invested in a commercial arm of their project.

Drupal's Dries Buytaert has failed miserably in keeping up with advancing PHP
If the PHP team would show that existing applications run faster by upgrading from PHP4 to PHP5, ISPs and end-users would have a strong incentive to upgrade. However, last time I checked, PHP5 was slower than PHP4. For anonymous users, Drupal is 13% slower with PHP5 than with PHP4. For authenticated users, this difference is only 4%. In other words, this gives them a good reason not to upgrade to PHP5. If the PHP team would show that PHP5 is more stable than PHP4, people might start to care. Unfortunately, PHP 5.0 was rather buggy and less compatible than hoped for. Even today, PHP5.x+APC feels less stable than PHP4.4+APC.

Wordpress's  Matt Mullenweg  is no better in keeping skin in the game.
Fast forward 3 more years and PHP 5 has been, from an adoption point of view, a complete flop. Most estimates place it in the single-digit percentages or at best the low teens, mostly gassed by marginal frameworks. Even hosted PHP-powered services who have no shared host compatibility concerns like 30boxes, Digg, Flickr, and, have been slow to move and when they do it will probably be because of speed or security, not features.
Laravel's Taylor Ortwell  is aware of the situation though not immune to having complacent behavior involving the PHP ecosystem.
When I first wrote Laravel and the framework was still young, I thought people would try to develop competing frameworks that competed on the RAD aspect of development. That was actually a pretty big fear of mine. But, interestingly, I feel like many of the people building those kinds of tools ran the totally opposite direction – towards complication and tons of configuration. I’m incredibly surprised more people aren’t trying to make PHP development easier. In fact, in my opinion, many of the other libraries / frameworks that have come out since Laravel was released are, in fact, less productive than even previous generation frameworks like CodeIgniter.

 If you read the posts in their entirety it will become very clear that in those moments both  Dries and Matt needed the influence and help of an advisory board.  It is very apparent that they do not  possess any of the traits of  Steve Jobs or  Thomas Edison. They might be good benevolent dictators but they are not leaders, innovators or visionaries. It is even hard to say that they are good or average coders of any note. It would be okay if it were just these two but the open source PHP ecosystem is filled with lazy managers like them.  A problem not solved by the Joomla! barrel of  three wise monkeys style of  leadership. The result being of course slow adoption rates and writing no new or refactored code  for later PHP versions. Lining up behind them are also commercial entities like Ebay's Magento that are not going to officially move to PHP version 7. Though they will take credit for any performance boost early adopters receive.

Frozen in the past

The present  picture of open source and PHP is ludicrous and will worsen with the release of  PHP7. Like taking all the progress made in engineering, materials and manufacturing  for the last fifty years and using it to build all the most popular motor vehicles between the late 60's and early 70's. Gas guzzler's they were but now with lighter materials and better engines. We can make them even bigger and more powerful  without  reducing fuel consumption or controlling emissions. Yeah! It's all good as long as the market  is not disrupted by Japan. Wait a minute that did actually happen.

Interrupt but no Disrupt

The problem is in the nature of open source and forks which only interrupts and never disrupts the market demand. In a situation similar to that of the auto industry decades ago.  New and  long time developers are constantly discouraged and instructed to not to try and be the next Toyota, Honda or Nissan. But to join in building  the future of  failing  Ford, General Motors and Chrysler. Be excited that their favorite products go faster and use less fuel on a downhill grade.

Previously in PHP

The same situation arises with every new and better  version  of PHP. History is constantly repeating itself from  php3  to  PHP4 to PHP5. So there is no reason to expect that the upcoming transition will be any different. With the possible exception that with another slow adoption rate PHP could loose it's foot hold on the web to another programming language the way Perl and Classic ASP lost theirs. Go Language, Java and Javascript loom like hungry predators waiting for any signs of weakness.

Listening to History

I am taking lessons learned from history, some of which is my personal encounter with PHP5 and Drupal. This is why I left any ties to present open source PHP  project communities behind to build my own.  The Content Connection Kit will be the first of  my projects that will disrupt the open source web cms market.  Using the latest and upcoming PHP technology and a modern crowd funding business model to build a sustainable product that will not only challenge the top three. But will open the door for others to do so.

Today's Links

Post a Comment

Print this!