Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:2843 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41187 invoked from network); 26 Jun 2003 15:40:08 -0000 Received: from unknown (HELO milton.schell.de) (217.160.72.35) by pb1.pair.com with SMTP; 26 Jun 2003 15:40:08 -0000 Received: (qmail 23241 invoked by uid 501); 26 Jun 2003 15:40:07 -0000 Received: from unknown (HELO eco.foo) (80.143.41.69) by kdserv.de with SMTP; 26 Jun 2003 15:40:07 -0000 Received: from localhost (localhost [127.0.0.1]) by eco.foo (Postfix) with ESMTP id D8C3B2B25C for ; Thu, 26 Jun 2003 17:40:06 +0200 (CEST) Date: Thu, 26 Jun 2003 17:40:06 +0200 (CEST) X-X-Sender: sas@eco.foo To: internals@lists.php.net Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: Version agnostic module names From: sascha@schumann.cx (Sascha Schumann) 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