Open Source Zombies Take Over the World!

The world of open source  software has been taken over by Zombies.  Old PHP versions is the virus infecting patient zero for the zombie outbreak.  This is might not be post-apocalyptic nonsense but the reality of today's web. A coding horror that  Jeff Atwood has yet to discover is the infectious nature of backwards-compatibility. Open source for web development is never re-factored enough to eliminate the use of end of life versions of PHP.

When a project hits a certain point in its life cycle, the unpleasant issue of backward compatibility begins to rear its ugly head. All of a sudden the changes introduced in a new release of the software have a dark side to them. They hold hidden possibilities that will break something one of your users depends on. This is true in both open and closed source projects, but in the open source world it seems that the community spends less time worrying about it than in the closed source world.



End of Life


PHP versions do reach their end-of-life.  This means that much of PHP code if it wants to continue live on should be upgraded. But the code is not re-factored by the developers and the dead parts removed. It is just partially adjusted to live in the newer version of PHP and the old dead code is kept in some strange effort to maintain backwards compatibility to a version that is no longer supported.  Sometimes this is a good thing because some code should remain dead and buried.  While other parts should be allowed to live. The tree should not be cut down just because a new season is coming. This allows room for newer  technologies and ideas in the minds of developers. But at other times it can create something that is of no good to anyone.



The Walking Dead


Many code bases and projects are dead but they don't know it. So they wander around the web looking for unsuspecting users and eat their minds.  They gather in the dankness of web hosting companies that support their unnatural lives. They are sheltered by businesses who cannot bring themselves to part with  their beloved. They wait in hiding for the unsuspecting at github.com.

The incredible part about it is so many become excited about what  they find that they never question it's existence. There must  be new comers  from schools and self teachers coming from other professions that still believe that formmail.pl  is the best project ever. Never mind that they know absolutely zero Perl, "What's that?". The fact that they have never heard about it must mean it is the latest cutting edge technology.

FormMail is a generic HTML form to e-mail gateway that parses the results of any form and sends them to the specified users. This script has many formatting and operational options, most of which can be specified within each form, meaning you don't need programming knowledge or multiple scripts for multiple forms. This also makes FormMail the perfect system-wide solution for allowing users form-based user feedback capabilities without the risks of allowing freedom of CGI access. There are several downloading options available below and more information on this script can be found in the Readme file. FormMail is quite possibly the most used CGI program on the internet, having been downloaded over 2,000,000 times since 1997.
 

Re-animators


Code projects die this is for sure. They can also be re-born, adopted by  developers willing to experiment with porting the code base to the latest version of the programming language or supporting platform. These re-animated corpses of code are not to be confused with Zombies. Re-animation is the most arcane of traits of open source code. If miss used it can bring about abominations of source code. Source code that is not  useable in production. But not all projects die of natural causes. Sometimes they have to be killed with a fork so the experiment in re-animation can take place.

The GitHub solution makes it easy for developers to copy or "fork" the code from a project they’re interested in. With just one click, a developer can create a local copy of a project.  Forks are meant for developers to experiment with making changes, often with the intention of submitting bug fixes or new features to the original project. But they also come in handy when the creator of a project stops updating their code and it dies.

Forking is something that was blasphemy not long ago. I created a fork  (Drupal for PHP5) and  was part of a project for a fork (ezPublish for PHP5) for getting code to work on the then new PHP5. And was harassed endlessly as being a troublemaker. This was because these projects refused to believe that developers cared about the upgrades in features and would choose the faster PHP4. This time around things are different. Now PHP7 has performance on it's side.

The  unfortunate  problem with open source for web development is process allows for the existence of Zombie code. More sad is the expected use of this property in PHP, Javascript and other web languages.

Even as WordPress Core continues to expand its support for new versions of PHP, we have no intention of abandoning support for older versions until usage numbers show that the impact on users will be minimal. -- Aaron Jorbin

It's not strange that this is what the Drupal and ezPublish Core groups said about PHP5 almost verbatim! 

Comments