Here is a quick outline regarding the reasons for using a
    version agnostic system.  These have not been well
    communicated before which resulted in some resentment of the
    approach.  I urge to read this with an open mind.

    Advantages:

    a) Improving accessibility to the source code for everyone.
    b) Fostering synchronization across branches.
    c) Enables easy migration between trees.

    Disadvantages:

    d) Win32 developers might lose 10s every 6-18 months.


    a) Improved accessibility to the source code for everyone.

      The module name phpX suggests that you instantly get PHP X
      which is not true, unless PHP X is on the HEAD branch.

      This has resulted in lots of frustration in the past where
      people could not figure out why "php4" would not give them
      PHP 4, but a broken PHP 5 checkout.

      Thus, "php4" has been already eliminated.  For the same
      reason, "php5" would become defunct, but people would
      continue to try using it.  Embedding a version in the
      module name simply does not work in the long run, because
      it implies semantics which cannot be supported by CVS.

    b) Fostering synchronization across branches.

      The module name "php5" is misleading. If developers think
      of the PHP HEAD branch as a separate "php5" module, they
      will not be aware of other branches.  And thus,
      improvements will not be merged properly, causing a
      detoriation in code quality.

      A recent example: When the SNMP maintainer wanted to
      apply/test a patch properly, he had to come to this mailing
      list to ask for the proper procedure.  Other maintainers
      might simply not bother and will leave the code as it is:
      unpatched.

    c) Enables migration between trees.

      With php4/php5 you had to have distinct checkouts.  With
      php-src, you only need one checkout where "cvs upd -r XXX"
      lets you switch between the major PHP versions.

    Disadvantages:

    d) Win32 developers might lose 10s every 6-18 months.

      After a fresh checkout, VC++ needs to be restarted once.

      Note that building PHP takes already ten times longer than
      this little one-time step.

    - Sascha

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to