<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.EmailStyle20
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:792135281;
mso-list-type:hybrid;
mso-list-template-ids:959462170 67698689 67698703 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level2
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Chris,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> I am greatly in favor of having a process to elevate issues and settle contentious arguments once and for all. Throughout my career, I often see organizations get bogged down in arguments over the course of years, never solving anything
because nobody is able/willing to “have the final say.”<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> An assorted list of thoughts and feedback items:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">2 weeks might be a bit short of a discussion period for major policy changes. Many people go on vacation for that amount of time, and it would be unfortunate to come back from vacation
and find that some major decision went in while you were out.<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">I think a separate mailing list would be good for these. RFC’s should also go into this new mailing list, so people who are too busy to follow [whatever]-dev can at least keep up to
date on the RFC’s mailing list. I think that it would also be good to have all the subproject RFC’s in once place; more than once I’ve seen an RFC get cross-posted to llvm-dev, then tried to reply and got the “your message is being held for moderation” message
because I’m not subscribed to flang-dev (or whatever mailing list). This might also have the side benefit of reducing noise on the subproject mailing lists if RFC’s are not posted (or cross posted) there.<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">Once the process is settled, it might be a good idea to settle some contentious issues that have been argued on the mailing list recently. For instance, the issue of bumping the CMake
minimum bound and API stability have been discussed on and off over the last 6 months, with no real resolution. I’m sure there are others that I haven’t noticed.<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">From the FAQ: “Should we improve the existing LLVM RFC processes?” I think this would be a good idea. I think many RFC’s don’t really get discussed until patches start landing, which
is really frustrating. If there were a process whereby RFC’s would be approved/denied, I think it would motivate people to pay more attention to them.<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">From reading the pitch, it sounds like the person drafting the pitch is responsible for nominating the 2-4 review managers. Assuming I understand this correctly, I think there are
a few issues with this: 1) It might create a conflict of interests. The person drafting the pitch obviously wants it to go their way. They may attempt to (either unconsciously, or consciously), “stack the panel” with people sympathetic to their cause. 2) Similar
to how it can be hard to pick code reviewers, it can be hard to know who to pick for the panel. This issue is especially true for new contributors who don’t know all the major players. It might be nice if there were an impartial third party responsible for
picking the panel.<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo1">In a previous round, you posted a google doc instead of a static page in github. I liked this because it allowed for inline comments to be posted and addressed. I think this would
be a better format for discussing specific proposals than the mailing lists. If not a google doc (since it’s hard to do versioning there), then perhaps as a phabricator diff, or github PR?<o:p></o:p></li></ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Regardless, thanks for working on this issue!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thank you,<o:p></o:p></p>
<p class="MsoNormal"> Christopher Tetreault<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> <b>On Behalf Of
</b>Chris Lattner via llvm-dev<br>
<b>Sent:</b> Monday, June 8, 2020 2:21 PM<br>
<b>To:</b> llvm-dev <llvm-dev@lists.llvm.org><br>
<b>Subject:</b> [EXT] Re: [llvm-dev] [PROPOSAL] Introduce a new LLVM process to resolve contentious decisions<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thank you to Mehdi and Kit for their feedback on this thread so far - I’d really love to hear from others in the community as well, even if it is a simple “+1 this sounds great” or “I’m concerned about XYZ specific aspect of this” or “-1,
LLVM has no problems making decisions” :-)<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-Chris<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Jun 2, 2020, at 1:19 PM, Chris Lattner <<a href="mailto:clattner@nondot.org">clattner@nondot.org</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi all,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Following up on the extensive discussions since January, many of us would like to put in place a process to improve LLVM’s decision making process for contentious issues. I’ve put together a proposal for how this works, and am recursively
using it to get feedback on the process itself. Thank you to the many people who contributed great ideas and improvements during the pitch phases and early drafts of the doc.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Because this is a weird case, I’m not setting up the standard review manager team for this. We’ll wing it, and if it doesn’t work out, we can try again.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">-Chris<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">——<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Hello LLVM community,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The review of "Introduce a new LLVM process to resolve contentious decisions" begins now and runs through <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">June 12, 2020. The proposal is <a href="https://github.com/llvm/llvm-www/blob/master/proposals/LP0001-LLVMDecisionMaking.md">available online</a>.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Feedback is an important part of the LLVM Proposal process. All review feedback<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">should be either on this forum thread or, if you would like to keep your feedback<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">private, directly to one of the review managers.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">**What goes into a review?**<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The goal of the review process is to improve the proposal under review through<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">constructive criticism and, eventually, determine the direction of LLVM. When <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">writing your response, here are some questions you might want to answer in your<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">review:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">* What is your evaluation of the proposal? What positive or negative <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> implications would accepting this have?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">* Do you have experience from other communities that relates to this <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> issue and is important to consider?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">* How involved have you been in the LLVM project? Frequent contributor, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> occasional contributor, user of LLVM libraries, user of LLVM-based tools,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> or other?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">* Self Evaluation: How much effort did you put into your review and how<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> knowledgeable are you about this area? For example, a quick reading or an <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> in-depth study?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">In addition to your opinion and thoughts, please include any additional <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">framing that may be useful.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thank you,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Chris Lattner<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Review Manager<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>