Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85635 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 2997 invoked from network); 1 Apr 2015 11:52:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 1 Apr 2015 11:52:16 -0000 Authentication-Results: pb1.pair.com smtp.mail=tyra3l@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=tyra3l@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.173 as permitted sender) X-PHP-List-Original-Sender: tyra3l@gmail.com X-Host-Fingerprint: 209.85.214.173 mail-ob0-f173.google.com Received: from [209.85.214.173] ([209.85.214.173:35455] helo=mail-ob0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DF/01-30489-DEBDB155 for ; Wed, 01 Apr 2015 06:52:14 -0500 Received: by obcjt1 with SMTP id jt1so75282012obc.2 for ; Wed, 01 Apr 2015 04:52:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=eOD2YotQeqrUQl+Wgt29zI8LEyX8GsO/5YVLcD1C7IQ=; b=wGHpXCAWz7NldZOCljmXKDzvsH+WyGBgrzSYgjBHfJzEGQOFelRkbiwLMJt9FqtM+p 8ZKX7QRd6uynO/aB4fAkrsZ7P7keAIGjNnZgwW0RqfbAudTjIkJWdKQ9Fb7c8EuFn+IB 92ayH6IkimR4R6u/USDLfoK7ggtrxbSJrotVp18xrLDluF1tzsl+bq3rKGB4s+/GcAmX d5AT9icnsHImKB8I9CRr1KjDpQpBMAs1LyA+NIkdpGsPOVnfoL5RSNnckphDcqGtoNrj 8UURCBwy9L1wSRMxMlWE64rJJ5vie/9JUu9zsMBP5sVeFoJ9aIuiwhvn5sM4dWTxxS1w pVxQ== MIME-Version: 1.0 X-Received: by 10.60.92.71 with SMTP id ck7mr5606106oeb.14.1427889131068; Wed, 01 Apr 2015 04:52:11 -0700 (PDT) Received: by 10.60.81.201 with HTTP; Wed, 1 Apr 2015 04:52:10 -0700 (PDT) In-Reply-To: <02f101d06c6e$3790c020$a6b24060$@php.net> References: <551BC7CF.3080309@birkholz.biz> <02f101d06c6e$3790c020$a6b24060$@php.net> Date: Wed, 1 Apr 2015 13:52:10 +0200 Message-ID: To: francois@php.net Cc: Dennis Birkholz , PHP Internals Content-Type: multipart/alternative; boundary=047d7b33caf26fa1cc0512a8589d Subject: Re: [PHP-DEV] What's our official stance on small self-contained additions in a micro version From: tyra3l@gmail.com (Ferenc Kovacs) --047d7b33caf26fa1cc0512a8589d Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Wed, Apr 1, 2015 at 1:23 PM, Fran=C3=A7ois Laupretre = wrote: > > De : Dennis Birkholz [mailto:dennis@birkholz.biz] > > > > in my opinion all feature changes should go in the next X.Y version and > > should require an RFC. > > The reason is that "small self-contained changes" that get pulled in > > without a discussion on internals and an RFC can easily lead to bad > > design decisions in the long run. > > Correct. The "small self-contained changes" concept easily leads to the > rules not being the same for everyone. > this is what I feel, and one of the reasons for starting this thread. > > > I am sorry for the contributor but my example is > > https://github.com/php/php-src/pull/1145 > > (DateTime::createFromImmutable() method) which was posted here on the > > list, got three negative replies but was merged nevertheless. I will no= t > > reproduce the arguments here but now the door for a clean solution > > inside the DateTimeInterface seems closed forever. > > This example is clearly an RFC released as a PR to bypass the rules > (discussion, vote, and feature freeze date). I don't understand why it wa= s > accepted and merged. Can someone give the rule that was followed in this > case ? If it should have gone through an RFC, can we revert the change an= d > send him back to the RFC process ? > > https://wiki.php.net/rfc/releaseprocess "No feature addition after final x.y.0 release (or x.0.0). Self contained features or new SAPIs could be carefully considered on a case by case basis." "Bugfixes only (with a room for exceptions on a case by case basis and only for small self contained features additions)." The problem is that there is no definition/explanation for the case-by-case basis. Does it need a vote? Does it need prior discussion on the thread? Does it need explicit approval from the RMs? This problem was brought up in the past a couple of times (the releaseprocess RFC being too vague here and there also this specific issue about not having an agreed upon workflow for the approval process for micro versions), but no resolution was reached so there are examples where we have lengthly discussion and fullblown RFC for adding a new constant option to json_encode() while some other feature request just gets merged by an RM or maintainer of that given extension. I could accept any decision between holding off new features until next minor/major and allowing features explicitly without going through an RFC, but I want to have an explicit definition on what is allowed and how should the case-by-case process work. --=20 Ferenc Kov=C3=A1cs @Tyr43l - http://tyrael.hu --047d7b33caf26fa1cc0512a8589d--