Hi, I'd like to propose the "Anti-PEP". As I'm sure you've all noticed, contentious PEPs like 572, and now 622, generate a lot of email discussion. It's easy to feel that people's opinions are being dismissed and that legitimate criticisms aren't being heard. Conversely, PEP authors may feel they are being bombarded with criticism, which can be overwhelming. The acceptance, or rejection, of a PEP should be a cool technical decision. Whilst there may be considerations of aesthetics and usability that make it difficult to objective, the goal should be to choose what is best for the language in the long term. When deciding on PEP 484, I had to decide between a formally written PEP on one hand, and a mass of emails and informal polls I had done at conferences, on the other. I hope I made the right decision. Whether the ultimate decision is made by the steering committee or by a PEP delegate, it is hard to make a decision between the pros and cons, when the pros are in a single formal document and the cons are scattered across the internet. An Anti-PEP is a way to ensure that those opposed to a PEP can be heard and, if possible, have a coherent voice. Hopefully, it would also make things a lot less stressful for PEP authors. The Anti-PEP ------------ The Anti-PEP is a single document that describes why a particular PEP should be rejected. An Anti-PEP is not a counter PEP. A counter PEP suggests an alternative solution to the same problem and will often share the same motivation as the original PEP. An Anti-PEP would usually reject the motivation or rationale, either as insufficient or as incorrect. An example of a counter PEP is 576, which was a counter to 575. The motivation was the same, but means proposed was quite different. As a result of the ensuing to and fro, we ended up with PEP 590, which was a clear improvement. I don't have an example of an Anti-PEP. We could start with PEP 611, https://www.python.org/dev/peps/pep-0611/. There were many criticisms of it on this mailing list, and I can promise the PEP author won't be upset by an Anti-PEP :) Anyone care to volunteer? Cheers, Mark.
A natural question that arises is who will be responsible for authoring it? I'd guess anyone with a strong enough opinion (and there's no shortage of those) could be the one who does it. Separating bikeshedding from refusals/rejections definitely has merit though, especially for the person making the final decision. Best Regards, Jim Fasarakis Hilliard On Thu, Jun 25, 2020 at 2:08 PM Mark Shannon <mark@hotpy.org> wrote:
Hi,
I'd like to propose the "Anti-PEP".
As I'm sure you've all noticed, contentious PEPs like 572, and now 622, generate a lot of email discussion. It's easy to feel that people's opinions are being dismissed and that legitimate criticisms aren't being heard. Conversely, PEP authors may feel they are being bombarded with criticism, which can be overwhelming.
The acceptance, or rejection, of a PEP should be a cool technical decision. Whilst there may be considerations of aesthetics and usability that make it difficult to objective, the goal should be to choose what is best for the language in the long term.
When deciding on PEP 484, I had to decide between a formally written PEP on one hand, and a mass of emails and informal polls I had done at conferences, on the other. I hope I made the right decision.
Whether the ultimate decision is made by the steering committee or by a PEP delegate, it is hard to make a decision between the pros and cons, when the pros are in a single formal document and the cons are scattered across the internet.
An Anti-PEP is a way to ensure that those opposed to a PEP can be heard and, if possible, have a coherent voice. Hopefully, it would also make things a lot less stressful for PEP authors.
The Anti-PEP ------------
The Anti-PEP is a single document that describes why a particular PEP should be rejected.
An Anti-PEP is not a counter PEP. A counter PEP suggests an alternative solution to the same problem and will often share the same motivation as the original PEP. An Anti-PEP would usually reject the motivation or rationale, either as insufficient or as incorrect.
An example of a counter PEP is 576, which was a counter to 575. The motivation was the same, but means proposed was quite different. As a result of the ensuing to and fro, we ended up with PEP 590, which was a clear improvement.
I don't have an example of an Anti-PEP.
We could start with PEP 611, https://www.python.org/dev/peps/pep-0611/. There were many criticisms of it on this mailing list, and I can promise the PEP author won't be upset by an Anti-PEP :) Anyone care to volunteer?
Cheers, Mark. _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/JVKWNZED... Code of Conduct: http://python.org/psf/codeofconduct/
On Thu, 25 Jun 2020 11:57:49 +0100 Mark Shannon <mark@hotpy.org> wrote:
An Anti-PEP is a way to ensure that those opposed to a PEP can be heard and, if possible, have a coherent voice. Hopefully, it would also make things a lot less stressful for PEP authors.
I don't think this really works. A PEP has to present a consistent view of the world, and works as a cohesive whole. Arguments against a PEP don't form a PEP in themselves, they don't need to be consistent with each other; they merely oppose a particular set of propositions. So an "anti-PEP" would not be anything like a PEP; it would just be a list of assorted arguments. Also, in the case of PEP 622, I haven't seen anyone argue against the PEP in general. Rather, against specific design decisions in the PEP. Regards Antoine.
On Thu, Jun 25, 2020 at 5:45 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
On Thu, 25 Jun 2020 11:57:49 +0100 Mark Shannon <mark@hotpy.org> wrote:
An Anti-PEP is a way to ensure that those opposed to a PEP can be heard and, if possible, have a coherent voice. Hopefully, it would also make things a lot less stressful for PEP
authors.
I don't think this really works. A PEP has to present a consistent view of the world, and works as a cohesive whole. Arguments against a PEP don't form a PEP in themselves, they don't need to be consistent with each other; they merely oppose a particular set of propositions. So an "anti-PEP" would not be anything like a PEP; it would just be a list of assorted arguments.
I agree, and that's what the Rejected Ideas section is supposed to capture. If a PEP is not keeping a record of what is discussed, including opposing views which the PEP is choosing not to accept, then that's a deficiency in the PEP and should be fixed. And if people feel their opposing view was not recorded properly, then that should be brought up. Otherwise in my view the only time an opposing PEP should be written is if it's actually proposing an alternative solution, not to simply refute a PEP to not be accepted.
On Thu, Jun 25, 2020 at 11:52 AM Brett Cannon <brett@python.org> wrote:
On Thu, Jun 25, 2020 at 5:45 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
I don't think this really works. A PEP has to present a consistent view of the world, and works as a cohesive whole. Arguments against a PEP don't form a PEP in themselves, they don't need to be consistent with each other; they merely oppose a particular set of propositions. So an "anti-PEP" would not be anything like a PEP; it would just be a list of assorted arguments.
I agree, and that's what the Rejected Ideas section is supposed to capture.
When I read the description of Rejected Ideas in PEP 1, it seems like it's more for ideas that have been rejected that are still in line with the overall PEP / motivation. It seems like what Mark is suggesting would fit better in a separate "Arguments Against" section. I guess it would be possible to include "reject the PEP" as a rejected idea or each individual argument against as its own rejected "idea," but it would seem a little weird to me to organize it that way. I do see that PEP 1 says about the Rationale section: The rationale should provide evidence of consensus within the community and
discuss important objections or concerns raised during discussion.
But what Mark is suggesting might be too large for the Rationale section. --Chris
If a PEP is not keeping a record of what is discussed, including opposing views which the PEP is choosing not to accept, then that's a deficiency in the PEP and should be fixed. And if people feel their opposing view was not recorded properly, then that should be brought up.
On Thu, Jun 25, 2020 at 1:37 PM Chris Jerdonek <chris.jerdonek@gmail.com> wrote:
On Thu, Jun 25, 2020 at 11:52 AM Brett Cannon <brett@python.org> wrote:
On Thu, Jun 25, 2020 at 5:45 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
I don't think this really works. A PEP has to present a consistent view of the world, and works as a cohesive whole. Arguments against a PEP don't form a PEP in themselves, they don't need to be consistent with each other; they merely oppose a particular set of propositions. So an "anti-PEP" would not be anything like a PEP; it would just be a list of assorted arguments.
I agree, and that's what the Rejected Ideas section is supposed to capture.
When I read the description of Rejected Ideas in PEP 1, it seems like it's more for ideas that have been rejected that are still in line with the overall PEP / motivation.
We can change PEP 1 if necessary to make people feel more comfortable in using the Rejected Ideas section to record objections.
It seems like what Mark is suggesting would fit better in a separate "Arguments Against" section. I guess it would be possible to include "reject the PEP" as a rejected idea or each individual argument against as its own rejected "idea," but it would seem a little weird to me to organize it that way.
I personally don't think so. "Don't do this PEP", to me, is still a rejected idea in the eyes of the PEP. 😉 -Brett
I do see that PEP 1 says about the Rationale section:
The rationale should provide evidence of consensus within the community
and discuss important objections or concerns raised during discussion.
But what Mark is suggesting might be too large for the Rationale section.
--Chris
If a PEP is not keeping a record of what is discussed, including opposing views which the PEP is choosing not to accept, then that's a deficiency in the PEP and should be fixed. And if people feel their opposing view was not recorded properly, then that should be brought up.
On Sat., 27 Jun. 2020, 3:42 am Brett Cannon, <brett@python.org> wrote:
On Thu, Jun 25, 2020 at 1:37 PM Chris Jerdonek <chris.jerdonek@gmail.com> wrote:
On Thu, Jun 25, 2020 at 11:52 AM Brett Cannon <brett@python.org> wrote:
On Thu, Jun 25, 2020 at 5:45 AM Antoine Pitrou <solipsis@pitrou.net> wrote:
I don't think this really works. A PEP has to present a consistent view of the world, and works as a cohesive whole. Arguments against a PEP don't form a PEP in themselves, they don't need to be consistent with each other; they merely oppose a particular set of propositions. So an "anti-PEP" would not be anything like a PEP; it would just be a list of assorted arguments.
I agree, and that's what the Rejected Ideas section is supposed to capture.
When I read the description of Rejected Ideas in PEP 1, it seems like it's more for ideas that have been rejected that are still in line with the overall PEP / motivation.
We can change PEP 1 if necessary to make people feel more comfortable in using the Rejected Ideas section to record objections.
The most effective cases where I've seen this done have involved putting an explicit "Do nothing" or "Preserve the status quo" heading under "Rejected Ideas". Another related element is to list folks that contribute significantly to that aspect of the PEP in an Acknowledgements section - adding them as co-authors doesn't make sense (as being listed as a co-author typically implies endorsement), but having specific names listed helps people to feel heard as long as they saw at least one of the listed names stating their own objections during the discussion. Cheers, Nick.
Brett Cannon writes:
I agree, and that's what the Rejected Ideas section is supposed to capture.
Perhaps there could be guidance, in documentation (and if appropriate from the PEP-Delegate or the Steering Council), that the PEP proponent collaborate with a leading opponent, critic, and/or undecided party on the Rejected Ideas section? It shouldn't be presented as a big deal for fairness (PEPs are supposed to be advocacy documents), but rather offloading some of the work on an interested party whose specific interest is in the opposition side of the discussion. Thus it would contribute to a more complete summary of the discussion. As long as I'm here, -1 on Anti-PEPs as such. I agree with the reasons given by others. I also feel that although Rationale and Rejected Ideas sections tend to be extremely compressed compared to the mailing list discussions, they usually do reflect the essentials of those discussions. At least in cases where I personally felt the PEPs were questionable ideas at the time.[1] In particular, IMO Rationale need not rebut every objection, but must present a *sufficient* case for implementation, including overcoming concrete objections (specific design flaws and the like). In cases where the go-no-go decision came down to the wire, the PEP-Delegate and Steering Council should ensure that the Rationale section should reflect their concerns about balancing interests as well. Steve Footnotes: [1] The fact is that I'm more likely to carefully read a PEP that I find questionable than one that I agree with from the get-go. YMMV.
On 25.06.2020 13:57, Mark Shannon wrote:
Hi,
I'd like to propose the "Anti-PEP".
As I'm sure you've all noticed, contentious PEPs like 572, and now 622, generate a lot of email discussion. It's easy to feel that people's opinions are being dismissed and that legitimate criticisms aren't being heard. Conversely, PEP authors may feel they are being bombarded with criticism, which can be overwhelming.
The acceptance, or rejection, of a PEP should be a cool technical decision. Whilst there may be considerations of aesthetics and usability that make it difficult to objective, the goal should be to choose what is best for the language in the long term.
When deciding on PEP 484, I had to decide between a formally written PEP on one hand, and a mass of emails and informal polls I had done at conferences, on the other. I hope I made the right decision.
Whether the ultimate decision is made by the steering committee or by a PEP delegate, it is hard to make a decision between the pros and cons, when the pros are in a single formal document and the cons are scattered across the internet.
What prevents the cons from being included into a PEP, too?
An Anti-PEP is a way to ensure that those opposed to a PEP can be heard and, if possible, have a coherent voice. Hopefully, it would also make things a lot less stressful for PEP authors.
The Anti-PEP ------------
The Anti-PEP is a single document that describes why a particular PEP should be rejected.
An Anti-PEP is not a counter PEP. A counter PEP suggests an alternative solution to the same problem and will often share the same motivation as the original PEP. An Anti-PEP would usually reject the motivation or rationale, either as insufficient or as incorrect.
An example of a counter PEP is 576, which was a counter to 575. The motivation was the same, but means proposed was quite different. As a result of the ensuing to and fro, we ended up with PEP 590, which was a clear improvement.
I don't have an example of an Anti-PEP.
We could start with PEP 611, https://www.python.org/dev/peps/pep-0611/. There were many criticisms of it on this mailing list, and I can promise the PEP author won't be upset by an Anti-PEP :) Anyone care to volunteer?
Cheers, Mark. _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/JVKWNZED... Code of Conduct: http://python.org/psf/codeofconduct/ -- Regards, Ivan
In my experience, different people keep proposing the same idea until it's recorded in the PEP. The PEP doesn't have to address all remarks or take in account all ideas, but it's good to record the most common proposed ideas. The important part is to show that other people's opinions have been heard. If you want to have a clear summary of email discussions, maybe a wiki page could be created somewhere. A PEP is usually authored by less than 5 people. Collaborating on editing an anti-PEP doesn't sound trivial. A wiki may better fit your use case, no? Victor Le jeu. 25 juin 2020 à 13:03, Mark Shannon <mark@hotpy.org> a écrit :
Hi,
I'd like to propose the "Anti-PEP".
As I'm sure you've all noticed, contentious PEPs like 572, and now 622, generate a lot of email discussion. It's easy to feel that people's opinions are being dismissed and that legitimate criticisms aren't being heard. Conversely, PEP authors may feel they are being bombarded with criticism, which can be overwhelming.
The acceptance, or rejection, of a PEP should be a cool technical decision. Whilst there may be considerations of aesthetics and usability that make it difficult to objective, the goal should be to choose what is best for the language in the long term.
When deciding on PEP 484, I had to decide between a formally written PEP on one hand, and a mass of emails and informal polls I had done at conferences, on the other. I hope I made the right decision.
Whether the ultimate decision is made by the steering committee or by a PEP delegate, it is hard to make a decision between the pros and cons, when the pros are in a single formal document and the cons are scattered across the internet.
An Anti-PEP is a way to ensure that those opposed to a PEP can be heard and, if possible, have a coherent voice. Hopefully, it would also make things a lot less stressful for PEP authors.
The Anti-PEP ------------
The Anti-PEP is a single document that describes why a particular PEP should be rejected.
An Anti-PEP is not a counter PEP. A counter PEP suggests an alternative solution to the same problem and will often share the same motivation as the original PEP. An Anti-PEP would usually reject the motivation or rationale, either as insufficient or as incorrect.
An example of a counter PEP is 576, which was a counter to 575. The motivation was the same, but means proposed was quite different. As a result of the ensuing to and fro, we ended up with PEP 590, which was a clear improvement.
I don't have an example of an Anti-PEP.
We could start with PEP 611, https://www.python.org/dev/peps/pep-0611/. There were many criticisms of it on this mailing list, and I can promise the PEP author won't be upset by an Anti-PEP :) Anyone care to volunteer?
Cheers, Mark. _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/JVKWNZED... Code of Conduct: http://python.org/psf/codeofconduct/
-- Night gathers, and now my watch begins. It shall not end until my death.
In my humble opinion, this doesn't warrant the creation of a new structure, but rather a restructuring of PEPs. As mentioned by others, we have a "Rejected Ideas" section already, but that seems to somewhat miss the point. It captures only the arguments that have won, arguments moved against specific parts of the PEP which have managed to overthrow that specific part. I propose to expand this into a section (call it Anti-PEP if you like, though I'd prefer something less arcane myself) that systematically approaches every argument moved against the PEP as a whole and any specific part of it, signalling the state of each objection (updated on a schedule, perhaps). This would achieve: - Keeping everyone informed at a glance on every objection. - Prevent duplicate objections, as you'd be aware of similar objections to the one you want to raise and have your voice be heard there. - Put all the pros and cons in one place, clearly labelled. - Give a better overview of the objective arguments for and against: I believe subjective and emotional motivations would end up being compressed by the format in a way that would make it clear whether there is any value to them.
On Mon, Jun 29, 2020 at 12:53 AM <salernof11@gmail.com> wrote:
In my humble opinion, this doesn't warrant the creation of a new structure, but rather a restructuring of PEPs.
As mentioned by others, we have a "Rejected Ideas" section already, but that seems to somewhat miss the point. It captures only the arguments that have won, arguments moved against specific parts of the PEP which have managed to overthrow that specific part.
"Rejected Ideas" is more about alternatives, not about why this entire proposal should be rejected.
I propose to expand this into a section (call it Anti-PEP if you like, though I'd prefer something less arcane myself) that systematically approaches every argument moved against the PEP as a whole and any specific part of it, signalling the state of each objection (updated on a schedule, perhaps).
Yep! A number of PEPs have "Objections" sections. I think that'd be a good title for it.
This would achieve: - Keeping everyone informed at a glance on every objection. - Prevent duplicate objections, as you'd be aware of similar objections to the one you want to raise and have your voice be heard there. - Put all the pros and cons in one place, clearly labelled. - Give a better overview of the objective arguments for and against: I believe subjective and emotional motivations would end up being compressed by the format in a way that would make it clear whether there is any value to them.
Agreed. If a PEP author doesn't feel s/he can do justice to the Objections section, it would make very good sense to collaborate with someone of opposing view for that purpose. And if someone feels that the PEP author isn't properly representing the opposing views, raise the matter and ask the author to expand that section. I don't think we need any concept of "Anti-PEP", but I would definitely support a push to have a better "Objections" section in controversial PEPs. ChrisA
On 6/28/20 11:02 AM, Chris Angelico wrote:
Yep! A number of PEPs have "Objections" sections. I think that'd be a good title for it.
Yes, that was my thought. Have the PEP author include a summary of the major objections, and their defense to those objections. (The presence of the defense doesn't mean that the object HAS been overcome, but documents the authors opinion of why the PEP should be able to be accept dispite that objection, the final decision still will rest on the Steering Committee or their delegate). If the Objections section is well written, then opponents can refer to the section and simply restate their objection, and it will somewhat organize the opposition. If the Objections section is NOT well written, that might be a sign that the PEP needs work as the author doesn't seem to have understood some of the objections, and cleaning up that section may bring more clarity to the PEP as a whole. -- Richard Damon
participants (12)
-
Antoine Pitrou
-
Brett Cannon
-
Chris Angelico
-
Chris Jerdonek
-
Ivan Pozdeev
-
Jim F.Hilliard
-
Mark Shannon
-
Nick Coghlan
-
Richard Damon
-
salernof11@gmail.com
-
Stephen J. Turnbull
-
Victor Stinner