Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109093 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 17298 invoked from network); 17 Mar 2020 04:39:02 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 17 Mar 2020 04:39:02 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 32D8B1804DD for ; Mon, 16 Mar 2020 20:01:35 -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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE 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-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 16 Mar 2020 20:01:34 -0700 (PDT) Received: by mail-qt1-f175.google.com with SMTP id g16so16234019qtp.9 for ; Mon, 16 Mar 2020 20:01:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=FA155QtRjvgS2LzRwnWpFldKKRNf6KZT4gXR876jzCA=; b=u8qRfCnejsiCcQbLw/vG6SYguFrww4Z9Fwe6k7Edmn+dFwWr3D0hJne+1BiYJ+4hO/ sqQgq0gJEjpUJvBmSb+JNmM3XgQaTqQpLrxgGfBFn1dZHoA9tbEDRI+SbGy88qw4VuPc b8QEEAVKxG2HYwtOOW/ZwujO4s5LvgTNrIqKQMnu6Y8er7LTryC/nuM1H3BsIbGEwZwV DkhTIV2TM3x26i555aUAlfHzzmYaxywssu2wMD7hn45FAtLDOBkX1W0qbcgTRGIbyvD9 fXssCSVOTaGalVgyaWrhBX+o0PXWlEe3bdNU7oJx0+FtAm+Om5D/ZG4u8axqI621MJnB bm2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=FA155QtRjvgS2LzRwnWpFldKKRNf6KZT4gXR876jzCA=; b=nrgEY+mTuA6iJ2rCRGF12TlCDbJitdJ8asBDBOIMSvNpD7A1zRy/5Tbv8rhm0kOW9w FNf2k+0jDbQYuMcnuoOuDMS/QLNUTfryXbpbADJYgP2iEJEMgEb9IvWswtb7AFUf/78H n8Hg/Olmr7Ylx1yopzB3g6BvnjNmqW1cVkxbx61ndxguL7khGqYJSaZG9VD9erlv3pqt kb0prY0rpEUIcB+GBHWVhwjh8ouWS2k8yFS6RhyQSbUHcV87yMXJDz2Ll4NV0ZHjRo2t DBkrf7PhUXlXFBU6Hafj/gQXulRB2CTCiTzxb7IvzP9Gajc2sikTMdH9uQuUFYZ3k+7R VEDA== X-Gm-Message-State: ANhLgQ37ZPiSC5IiSaDdhMVALOGyHzqDxfqfAI6QtTvNLhLWaJHafbv+ sHsT4NlrgrANkVYAmvcnAiIxEctP09O6hQ== X-Google-Smtp-Source: ADFU+vtKbKs82fJqOCZi1mF9scJq/pTqwdtJQW76q5PppjS7z8sYmt8z5cu1cBgczH61x+HryoOelg== X-Received: by 2002:ac8:4555:: with SMTP id z21mr3472844qtn.340.1584414093396; Mon, 16 Mar 2020 20:01:33 -0700 (PDT) Received: from ?IPv6:2601:c0:c680:5cc0:10a6:890:e364:da48? ([2601:c0:c680:5cc0:10a6:890:e364:da48]) by smtp.gmail.com with ESMTPSA id l2sm1194485qtq.69.2020.03.16.20.01.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 Mar 2020 20:01:32 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) In-Reply-To: Date: Mon, 16 Mar 2020 23:01:31 -0400 Cc: PHP Internals Content-Transfer-Encoding: quoted-printable Message-ID: <2AE639B7-7775-48CC-8435-2F455D429E6A@newclarity.net> References: <14383D05-EA33-4CD2-9648-40AA29A837A5@newclarity.net> To: Dan Ackroyd X-Mailer: Apple Mail (2.3445.104.11) Subject: Re: [PHP-DEV] Capturing reasons for votes for historical sake? From: mike@newclarity.net (Mike Schinkel) > On Mar 16, 2020, at 9:20 PM, Dan Ackroyd = wrote: >=20 > On Mon, 16 Mar 2020 at 18:29, Mike Schinkel = wrote: >>=20 >> Would it be possible to add a feature when voting were people either = need to type in >> a one to two sentence reason why they voted "no" on a proposal >=20 > Pretty strong no for me. Thank you for your reply. Let me start with the end of your reply, what = you state was your biggest issue: > And the big issue, where possibly I disagree with your reasons for = wanting this: >=20 >> and their reasons are really important when it comes >> to future consideration of the same issue >=20 > This kind of makes an assumption that all RFCs should have some path > to being passed. >=20 > For some RFCs, there just isn't a good path forward for them. Actually no. You are assuming wrong. If we had history we could better see the RFCs that had valid reasons = for not passing and that should not be revisited vs. the ones that = didn't pass for some technicality and didn't pass because the timing was = not right that should be revisited. =20 If we knew WHY RFCs were turned down then the next time someone brings = the issue up again =E2=80=94 which we they will =E2=80=94 we could say = "Here, read this. Chances are this idea will never pass for the reasons = explained, so don't waste all of our bandwidth (unless you can counter = all those objections, which you probably cannot.)" So actually part of what I am asking for is a way to put the bad ones = down, and for good. > btw I think there's a bigger problem on some RFCs being accepted, > particularly where people who aren't core maintainers are voting on > things that really need an informed understanding of internals. I can certainly understand that perspective. But what's the proposal to = improve that situation? =20 Actually, I think you are under-appreciating what I proposed. Consider = if instead of a "Yes/No" prompting people to vote, there was a list of = reasons to vote "no" from those who already voted no. Isn't it likely = that people who got to review that list would be more likely to vote = "no" in the case of something that should not actually be accepted? (To be fair, if we did that we'd probably need a list of reason why = people votes "yes" too so that voters could see why others voted yes and = no.) (BTW, I do think having a good history of why things failed might keep = bad ones from being approved in the future "accidentally.") >> However in PHP we have no way of knowing why people voted against a = proposal >=20 > I think this type of analysis belongs off-list. Which is why: > https://github.com/Danack/RfcCodex/blob/master/rfc_codex.md That's nice, but requires superhuman efforts on one individual's part, = is contained on the GitHub account controlled by one individual, and is = inherently slanted by one individual's bias, even if only unconscious = bias. =20 So it is really not a solution for the PHP community in general, = notwithstanding that it is a nice resource that you have provided of = your own industriousness. > * Explaining exactly why you're voting no can be hard as there can be > multiple overlapping reasons for voting no. 1. Nothing I proposed would stop someone from listing multiple reasons. = Free-form text would allow someone to write a dissertation, if they = desire.=20 2. If someone votes "no" but cannot put it into words, it is really fair = that are driving the destiny of PHP used by ~5 million programmers? 3. There is nothing that In I am proposing that would stop you from just = typing in "I really don't like this" and leave it at that. > * It sets up arguments about what is and isn't a valid reason for = voting no. Not sure how this is relevant. Once it is voted down it doesn't matter = if people felt the reasons were valid or not, it would still be voted = down. BTW, I am not proposing that the reasons be tied to individuals. Those = would be separated from the vote and displayed anonymously. So who = specifically would they argue with? Unless of course you are earnestly = concerned about this syndrome: https://imgur.com/gallery/91sn32Q > * It drives people who might want to vote no away from the project, if > they have to take the extra time to justify their position. That is why I proposed that they could select from the list of all other = things people have provided. If someone does not want to type a reason = then just pick from one of the reasons other people already submitted. > * Shifts the part of the burden for coming up with a plan for how to > get the RFC implemented onto people who are not in favour of the RFC. Currently it takes herculean effort to get almost anything approved, but = it takes effectively zero effort to stifle the hard work someone invests = in trying to improve PHP. Is it really just that all their work can be = nullified by a simple thumbs down like an emperor deciding the death of = a gladiator? (sorry, couldn't resist using that analogy. ;-) BTW, I am thinking of the outrageous amount of work Paul M Jones is = putting into Server-Side Request and Response Objects (v2) and fear for = him that all his effort will be for naught, and he won't even have a = concise list of reasons why it was voted down. The best he will be able = to do is infer from the comments in thousands of the messages why people = voted down. But he still won't know.=20 Frankly it also feels to me that people seeing that will be a lot more = likely to be be driven away from the project than the fact that people = who have already gotten the right to vote on the project actually have = to write a sentence or two to go along with their votes. I know that if = people vote down his work after all his effort I will feel less like = contributing for fear of the same outcome. But being told that I am = expected to help future people by recording my reason to vote? Hell, I'd = feel like I was being granted an honor and I would want to rise to the = occassion. It is almost like you are arguing the with great power comes no = responsibility (sorry, couldn't resist using allusion, either. ;-) > * The phrase "this is a terrible idea and I don't have enough crayons > to explain why to you" would be more likely to be used, and wouldn't > add much to the discussion. In which case we would be no worse off than we are now. However, if even only 1/3 the people who voted actually did provide an = intelligible reason then we'd be much farther along to know how and why = we should reconsider something in the future, OR NOT. =20 And this might stop a *lot* of wasted effort. Otherwise we continue to = be "Those who are ignorant of the past are doomed to repeat it." =20 -Mike P.S. Some modifications to the proposal might include: 1. As Jakob Givoni proposed: a list of predetermined reasons even the = first voter course pick from a list , OR they would write their own if = they want. 2. Create a two (2) phase process. =20 Phase 1: Solicit people enter a short concise reason to vote "no" or = "yes", or to select to join one of the existing reasons. This is = basically everyones way to lobby for yes or no. Phase 2: Do the actually vote where people can select a reason from the = list to go with their vote, or enter a new one.