Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:22304 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 94462 invoked by uid 1010); 9 Mar 2006 19:27:45 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 94446 invoked from network); 9 Mar 2006 19:27:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Mar 2006 19:27:45 -0000 X-Host-Fingerprint: 24.71.223.10 shawidc-mo1.cg.shawcable.net Received: from ([24.71.223.10:14677] helo=pd3mo2so.prod.shaw.ca) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id F7/D1-27106-FA180144 for ; Thu, 09 Mar 2006 14:27:44 -0500 Received: from pd4mr4so.prod.shaw.ca (pd4mr4so-qfe3.prod.shaw.ca [10.0.141.215]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IVV002L1KPZULA0@l-daemon> for internals@lists.php.net; Thu, 09 Mar 2006 12:27:35 -0700 (MST) Received: from pn2ml4so.prod.shaw.ca ([10.0.121.148]) by pd4mr4so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IVV003FMKPZVFO0@pd4mr4so.prod.shaw.ca> for internals@lists.php.net; Thu, 09 Mar 2006 12:27:35 -0700 (MST) Received: from S01060050babc7470.ed.shawcable.net ([68.149.207.30]) by l-daemon (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IVV00CRSKPYHV90@l-daemon> for internals@lists.php.net; Thu, 09 Mar 2006 12:27:35 -0700 (MST) Received: from localhost (localhost [127.0.0.1]) by loki.digitaljunkies.ca (Postfix) with ESMTP id DCCF84ADE0 for ; Thu, 09 Mar 2006 12:30:19 -0700 (MST) Received: from S01060050babc7470.ed.shawcable.net ([127.0.0.1]) by localhost (loki [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 00961-05 for ; Thu, 09 Mar 2006 12:30:15 -0700 (MST) Received: from mjollnir.digitaljunkies.ca (mjollnir [10.1.1.16]) by loki.digitaljunkies.ca (Postfix) with ESMTP id 474894A9A2 for ; Thu, 09 Mar 2006 12:30:15 -0700 (MST) Date: Thu, 09 Mar 2006 12:27:25 -0700 In-reply-to: <1fc601c643aa$68c46300$6402a8c0@foxbox> To: internals@lists.php.net Message-ID: <200603091227.25162.benjcarson@digitaljunkies.ca> MIME-version: 1.0 Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit Content-disposition: inline X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at digitaljunkies.ca References: <7.0.1.0.2.20060309124054.06c31238@zend.com> <1fc601c643aa$68c46300$6402a8c0@foxbox> User-Agent: KMail/1.9.1 Subject: Re: [PHP-DEV] Give the Language a Rest motion From: benjcarson@digitaljunkies.ca (Benj Carson) > How do we do it? Unfortunately, I can't come up with a real mechanism > to 'enforce' a due process and reasoning for new features. One mechanism that the MapServer project[1] has adopted is that all "major" features require an RFC before they are accepted and implemented. Whoever is proposing the feature or change writes the RFC, which outlines what the impact of the change will be on users, how much code it touches, whether there are any BC breaks, etc. Once the RFC is finalised, the core group of developers vote on the RFC and if the vote carries the feature is implemented. (There's more to it than that, but this is the basic idea. See [2] for the full policy.) Writing the RFC helps the person requesting the feature to stop and think about the implications of the change and to identify any potential technical hurdles before plowing into the code. It also helps everyone else by having a concise, concrete description of the proposed feature that can be referred to during discussions. When the feature is debated on their dev list everyone is one the same page. Any changes or suggestions that come up during discussion can be included in the RFC. Another benefit of this policy is that it increases the legitimacy of the project in corporate settings. The so-called "Enterprise User" can point to it and say, "Hey, here's how these guys make decisions, it makes sense. My manager will like that". The drawback to this scheme is that not many programmers like writing design documents, and would much rather just bang away at code. This could have the effect of deterring potential contributors. (That said, I haven't personally had any problem submitting patches to Mapserver.) Anyway, just something to consider from a list-lurker... PHP is a much bigger project than MapServer, so having a process as structured as theirs might not be feasible. However, requiring RFCs for core language changes might be a good compromise between trying to implement any and every fancy new language feature and stopping core language development altogether. Benj Carson [1] http://mapserver.gis.umn.edu/ [2] http://mapserver.gis.umn.edu/development/rfc/ms-rfc-1/