Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119618 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 31223 invoked from network); 28 Feb 2023 22:08:34 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 28 Feb 2023 22:08:34 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 383C4180504 for ; Tue, 28 Feb 2023 14:08:33 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 28 Feb 2023 14:08:32 -0800 (PST) Received: by mail-ed1-f41.google.com with SMTP id ck15so46428994edb.0 for ; Tue, 28 Feb 2023 14:08:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1677622111; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=3t8Rep4OGeAZSFFqE4syp8BpcYHwDOzkr9I5xnWvtVI=; b=IrN5LZK732OB5+rNnzvRjIh80NtHwsWwy7Es6ShTskJ/19ofmiFFWEiRQrm3VPls7s fWMgquxKdJ1wgdTTdRfvEqRpMfRhysvNcZZEQXox9vdzt9tb0F0XZMe1ovqRNz7mcQKt +HdGw9MJztGFJGD2DK5zj9c0eFrbM1C8DVofVJSQiNx9UmdxoqmO/WrkYKbcVgM6Inon U/1aPlum1DjgvP2dfiNJBiJoTCbakjizneTUd4xpSz00fcnkrkga08YNuk6p2GimgQ5d AfDcQyzPPGqZghuYT9vviqd2IYppeM4TuykgfeUGTOn5sTxO6WtbcfsRwPE+HqzIkmmi tL1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677622111; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3t8Rep4OGeAZSFFqE4syp8BpcYHwDOzkr9I5xnWvtVI=; b=Hia0Xk8UVjO6EImrm5fQ1+GBrAAEytXk8z2Ag+V+9oQlis2XTgTqVbClN5W95GZeK3 RYnc1b6DUcrp+F5X5wDXCM+s+OJxIhHTZaIMxx3y6RnXcKVqlbISr5ZhDkbyTTde9jlu AQtQT9cmns5gNtixWrl0ie5ndt1HiI7rIPGK4HpW9UMCQr/VwOICbvYRBE/Z67mB3GBI b7TInHQEVQGdgrYo3axKZgc9Vzg8KxYqIVv3hZE4FbAML+nzJa8ypWGQgLPUHIcLiFcM RtXsxZnkKl20ue65Xa0y2xaVsiBjrUcjJxlwfSqQtINDB8vcXei9DzTTGBQmz/mH2QjE SU7A== X-Gm-Message-State: AO0yUKVdc4+M2SJGOKwTpNbg4FAH3VJdp2pX6lQo5pCSjyr9a8gQ8kYP nx7Lq9L51oxrcaeKhXOEvWnY76CYDJScdPTiBYCwPT6D X-Google-Smtp-Source: AK7set8qd6zhqmoFt9gvRS9dhkWEBC411fz4BLBNlVczs18G0oeu37ARGgaST+0jeYpChqIW3C8wMiSskLoN2MWup/Q= X-Received: by 2002:a50:bacf:0:b0:4ad:6fc8:69c1 with SMTP id x73-20020a50bacf000000b004ad6fc869c1mr2614757ede.3.1677622111230; Tue, 28 Feb 2023 14:08:31 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Wed, 1 Mar 2023 01:08:20 +0300 Message-ID: To: Max Kellermann Cc: PHP Internals Content-Type: multipart/alternative; boundary="00000000000001de0805f5c9d616" Subject: Re: [PHP-DEV] PHP code refactoring (was: include cleanup) From: dmitrystogov@gmail.com (Dmitry Stogov) --00000000000001de0805f5c9d616 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Mar 1, 2023 at 12:04=E2=80=AFAM Max Kellermann w= rote: > On 2023/02/28 21:16, Dmitry Stogov wrote: > > Recently we voted for inluce cleanup RFC > > https://wiki.php.net/rfc/include_cleanup and it was declined. > > Despite that a series of code refactoring commits from Max were silentl= y > > merged into the master. > > As this is a violation of the community rules and we should do somethin= g. > > I don't get any of that. Please be more specific. > > Which community rule was violated by whom? > Merging the things that were rejected. You may name this differently but this is still code refactoring. In your opinion, what exactly does the outcome of the vote mean? Does > it mean that include cleanups are now forbidden (despite being wanted > by the majority of voters)? Or does it mean that nothing changes > because no new rule has taken effect? (I asked that already, but > nobody replied.) > Include cleanups RFC was rejected. No refactoring RFC was presented. A lot of changes that affect all core contributors are committed into master. If you think this is questionable, we may ask for help from some arbitr. > > What do you mean by "merged silently"? All of my PRs were submitted > in the public, and everybody had a chance to comment on these (which > you did, for example, in https://github.com/php/php-src/pull/10641). > It usually takes a week or so before they are merged. If you feel > that is not enough time, why not post a RFC and vote on a mandatory > minimum review duration for all merges/pushes? > I don't review every PR. Only when I asked. I'm mainly busy with new development and bug fixes. > Though, by contrast, you merge most of your own PRs shortly after you > create them without any code review. Quite often, you even push > commits without any PR. In my opinion, that's more "silent" than my > work, don't you agree? > Currently, I merge into master only bug fixes. And yes, sometimes my fixes may introduce new bugs. My new development is done in a separate branch and will be presented in RFC when ready. > Which specific commits do you wish to revert? Is this about include > cleanups (none of which were merged) or about header splitting (which > a supermajority voted for) or about other kinds of code refactoring > (which was not voted on)? > All code refactoring commits. Can you imagine you commited something like this into Linux, JVM, GCC? > > Then most of the work should be done in a separate branch and merged > > into the master all together after a final review. > > The problem with merge conflicts was your major complaint about branch > merging (and that was only about merging bug fixes, not about merging > two volatile branches together) - and now you suggest something that > will certainly lead to merge conflicts because your suggestion > postpones the big merge for as long as possible. That will inflict > major pain to PHP maintainers (though not to outside contributors like > me, so why would I care). > PHP-6 was developed in a separate branch and we were able to stop it when understood that it is not good enough. PHPNG was developed in a separate branch and was presented and accepted only when we showed the benefits. A new JIT has been developed in a separate branch for more than a year... > Another big problem: if it's uncertain that some changes ever get > merged, because the "final review" may reject it after months or years > of work, nobody will ever want to clean up the PHP code again, because > it's very likely that you'll veto it again, and then all the time > would be wasted. Not a great prospect. If you want to scare away > contributors, that's how to do it. > As I said, I won't object to the terms of accepted RFC. I already made much more noise than I liked. My opinion is: if a patch improves a piece of code, it should be > merged. Of course, whether something is an improvement is debatable; > but postponing that decision is pointless and harmful. > Changing code back and force without a plan is also harmful. I proposed to you a way to do what you like in agreement with other contributors. Doing this without agreement won't work. Thanks. Dmitry. > Max > --00000000000001de0805f5c9d616--