Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120171 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 87108 invoked from network); 1 May 2023 17:00:23 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 1 May 2023 17:00:23 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id D45A3180552 for ; Mon, 1 May 2023 10:00:19 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_NONE,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-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 ; Mon, 1 May 2023 10:00:19 -0700 (PDT) Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-956ff2399b1so570234366b.3 for ; Mon, 01 May 2023 10:00:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=basereality-com.20221208.gappssmtp.com; s=20221208; t=1682960418; x=1685552418; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=9hz231P27tH/GpeG6K0c7DCqOD96gSjOdWaxyPwdd3g=; b=2qBpSoHWXYRvF/Hv5w1K/SgxhhjCJwvwymjGNsy5HLiyqjeJKgEOXSZoJvUr0B3RSv Lzif5tLusTCNo6Z/Yn9zzCMN0KeKDRe84jtXLeHCepB/zYZNWOQ7UlPGYJwN6YuI9xfV nMUp/24DzOJme5ReT0GjXOqSQXdOby3eM+b76OnYxsrNNBRd6I6ox/+GQLPIOZKqzVOO RgKjHH7fNCPXbtN2P+YJ4boqGztFJNtTR032Mh9QFWXoDWQGE4qay8Um6/t3XVHBb+nH g62dd23f8avAgP9dSMzdKWaYOS5g6fAx/Y+/H38TR+iBATLRPvHnaKZYFT4Jh8bKimTV 6xig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682960418; x=1685552418; 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=9hz231P27tH/GpeG6K0c7DCqOD96gSjOdWaxyPwdd3g=; b=fPaL4+oLalm4JHo1Zv/xWR9E0NuWbe8Ri7bSL5fy+GzwWYQGuHr7Gpaai7pTcW1XGi h0cDtYL1i0G+7P+HjFrxG94+ai7dkBAPwa5R461JhdIkvMCiADIZjh/ymyw3qTlchAbi ctEh+lCrYwHq/tAwEjVP9WBY/A3wEbIO7nKErKftSHAa4rFyUO1dkij5oXke9O36xYFX 4lCVXoiXfSvekCPqlv2ObQf60PuxOYDaO2Fs+b1sYLU148KhJP1SpXb7lo6OJTjNQOmz O+1fv9Hd8mwIj58/7gcbAI6GxeqFNABBAvr9L/DlNt3v1rlldb0PEU5EGlI0xT07l/yL Fq8A== X-Gm-Message-State: AC+VfDy31Ls04LBt/mQxACfBYs3o//EMs3Hn/YKA+qlNYP0U/SnfMS6z OOae7jhPYyzdN7QhdhvllGLPLoe+pyD0aP/8vR4JjSP8Mvlr6NNgvIoMOw== X-Google-Smtp-Source: ACHHUZ750S4YHpLZL9Fi0zjcy9Kx91AqoWDr+uSVJksHWAarfmY7IBfHAfgarFySo3/GhEWv1/+8ACmOKFKtnBYzUZM= X-Received: by 2002:a17:907:9716:b0:961:272d:bdbe with SMTP id jg22-20020a170907971600b00961272dbdbemr9047130ejc.35.1682960417851; Mon, 01 May 2023 10:00:17 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 1 May 2023 18:00:06 +0100 Message-ID: To: Jakub Zelenka Cc: PHP internals list Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] Current RFC process and project decisions From: Danack@basereality.com (Dan Ackroyd) On Mon, 1 May 2023 at 12:21, Jakub Zelenka wrote: > It seems that in the current definition, the RFC is just for blocking > rejected features to get to the next release rather than requiring accepted > features to be in the next release....It means it requires some > sort of consensus between core developers or at least no objections from > some core developers. It might be better to think of the RFC process for new features to be a decision on "should this feature be in PHP?" rather than a "must this feature be in PHP?". As far as I can remember, there is a single RFC that wasn't merged in the next planned release: https://wiki.php.net/rfc/null_coalesce_equal_operator The vote was passed on 2016/04/02 so 7.1 was the next release version, but it wasn't merged until 2019/01/22 and so was in PHP 7.4. That was due to a technical problem with the implementation - I don't recall/understand the exact details. But it wasn't (afaik) a controversial decision to not merge it until the patch was good enough. This was possible to happen because we don't require a complete patch that is ready to merge. Ironing out all of the minor details for a new feature is a huge amount of work (that people in userland are usually completely oblivious to) which would increase the burden of passing RFCs. Seeing as one of the big long term problems PHP has, is that many contributors stop contributing after they get burnt out by doing an RFC, I would oppose making RFCs take more work. Once an RFC is passed the conversation changes from whether the RFC is a good idea or not, to being a conversation about how to best implement it, and whether the patch has some show-stopper issues or not. > This is largely undefined as almost always the core > developers would follow the decision in RFC but technically there is > nothing in our process that would require them to do so. Technically correct. Though the situation where all of the core contributors refuse to merge a PR, probably means the PR shouldn't be merged. > The idea is to maybe create a single document in the wiki collecting both > linked RFCs with extended clarifications and maybe mirror it in git so the > future proposal are easier to do. At the risk of being a senior programmer; what problem are you trying to solve? I mean, clearly there have been problems that could do with clarifying: * when are and what types of code cleanups allowed to happen? What notice should be given, to avoid causing work for other developers, who might have large existant branches they've been working on? * are pull-requests that merely add comments allowed? This is something some long-time core contributors have strong feelings about, which I and other people disagree strongly with, but we haven't had a framework to discuss it without shouting. And there are probably other non-userland affecting code maintenance tasks. But as far as as I'm aware, there hasn't been a problem with an RFC passing and the core contributors refusing to accept it. So please can we discuss the exact problem you want to solve, so that we can agree it's the right problem to solve, before suggesting solutions? If nothing else, some problems are unsolvable by lots of documentation and bye-laws. cheers Dan Ack