David Blaikie via llvm-dev
2021-Oct-07 22:15 UTC
[llvm-dev] [cfe-dev] RFC: Code Review Process
On Thu, Oct 7, 2021 at 3:02 PM Renato Golin <rengolin at gmail.com> wrote:> On Thu, 7 Oct 2021 at 22:31, David Blaikie <dblaikie at gmail.com> wrote: > >> This is how we've always done it so far and it has been working well. At >>> least most people I know think that this is better than most other >>> alternatives, including ad-hoc decision making plans. >>> >> >> I'm not sure I'd say it's been working well - it took a lot of time, a >> lot of volunteers and dragging some folks along in the end anyway. I think >> there's a lot of merit in having a more structured (honestly: faster) >> decision making process. We often end up in choice/analysis paralysis - >> where it's easier to object than to address objections, which is tiring for >> those trying to make change & slows down things quite a bit. >> > > Right, "working well" can mean multiple things... :) > > Most people I spoke about this over the years think that it's still better > than other models, like "benevolent" dictator, "meritocratic" authority, > diverse types of voting systems, elected "officials", etc. > > There are plenty of big projects that follow those models and ours seems > to be the most inclusive and open to diversity, but not the most efficient. > I think that side of our community still attracts a lot of people from all > over the world and is an identifying trait. >I don't think diversity necessarily relates to this aspect of managerial structure. Unless we're talking about the less benevolent dictatorships where the authority figures both provide structure, but also set some fairly negative tones for how people should relate. Those things aren't necessarily connected though, and I don't see signs that's the kind of leadership we have or are moving towards in the LLVM community.> But this is mostly on the technical but not code decisions. Code decisions > I think we can be pretty efficient. >I think the code decisions also have some problems in LLVM, for what it's worth - "yes" is moderately easy (usually if someone feels empowered enough to say "yes" it's because they are, the rest of the community is comfortable with it, and you go forward with the work that's been approved), but "no" is hard to come by - absence of feedback/clear sense of ownership and authority can make it quite difficult to figure out how to approach an issue. Who's empowered to approve or disapprove of a patch that's on the edges of acceptability is quite often unclear (with various power vacuums opening up as key contributors/project founders have moved on to other focus areas), and what steps would be necessary/sufficient to make forward progress may be less clear still. Steps like the Contentious Decisions Process I think is a step to help mitigate some of that, though there's still a lot of gaps. - Dave -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/7da6f7a5/attachment.html>
Geoffrey Martin-Noble via llvm-dev
2021-Oct-07 22:36 UTC
[llvm-dev] [cfe-dev] RFC: Code Review Process
On Thu, Oct 7, 2021 at 2:32 PM David Blaikie via llvm-dev < llvm-dev at lists.llvm.org> wrote:> I think the term "ad-hoc" was applied to the process, not the outcome. I > don't think Reid's suggesting we'd end up with a "multiple different > kinds of review process", but that we don't have a good formal process for > decision making, so folks are experimenting with various ways to help move > big, difficult decisions forward in a more reliable way. >There is actually a formal LLVM decision making process: https://github.com/llvm/llvm-www/blob/master/proposals/LP0001-LLVMDecisionMaking.md. It has only been used a few times before, but may be worth using here. On Thu, 7 Oct 2021 at 22:31, David Blaikie <dblaikie at gmail.com> wrote:> I'm not sure I'd say it's been working well - it took a lot of time, a lot > of volunteers and dragging some folks along in the end anyway. I think > there's a lot of merit in having a more structured (honestly: faster) > decision making process. We often end up in choice/analysis paralysis - > where it's easier to object than to address objections, which is tiring for > those trying to make change & slows down things quite a bit. >I think this is pretty key, especially with infrastructure work. Infrastructure tends to be neglected because it's rarely the core of the project. And since it affects developer workflows, it tends to be contentious. It is very easy for people to come up with objections or muddy things enough that no progress is made at all. On Wed, Oct 6, 2021 at 1:46 AM James Henderson via llvm-dev < llvm-dev at lists.llvm.org> wrote:> Another side-point: whilst the IWG may consist of people who care about > LLVM, there are far more people who care as much, but who just don't have > the time to participate in such a group. >I would push back pretty strongly against this. Obviously the entire community should be able to voice its opinions, but at some point some people are the ones who are actually implementing things. It doesn't matter if the community comes to some consensus if no one is actually willing to build that thing. Again, and especially with infrastructure, it is very easy for people to complain about any solution, but much more effort to actually contribute to the one they prefer. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/d6ffcf4b/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3992 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/d6ffcf4b/attachment.bin>
Renato Golin via llvm-dev
2021-Oct-07 22:44 UTC
[llvm-dev] [cfe-dev] RFC: Code Review Process
On Thu, 7 Oct 2021 at 23:16, David Blaikie <dblaikie at gmail.com> wrote:> I don't think diversity necessarily relates to this aspect of managerial > structure. Unless we're talking about the less benevolent dictatorships > where the authority figures both provide structure, but also set some > fairly negative tones for how people should relate. Those things aren't > necessarily connected though, and I don't see signs that's the kind of > leadership we have or are moving towards in the LLVM community. >Sorry, that's not at all what I meant. LLVM attract all kinds of people, not just from different backgrounds and minorities, but also different cultures. And by culture I mean a lot of things. We have different countries and continents; academia, enterprise and government; students, professionals, directors; enthusiasts or people just trying to make some money; open and closed source source projects; embedded into or built as a library or being used by a dependency. I myself have belonged to many of those groups over the years. In my opinion, that variety in how we all use and rely on LLVM is key to its success, but it's also what makes it hard to drive larger changes that affect the least amount of people. Even foundations and working groups can't be representative of all people and most of the time we don't even know who "the people" are until we try to change something and it breaks for them. This is why long consensus "works" for us, because eventually by then, most people would have seen it and voiced their opinions. But it's slow and painful. I personally prefer that pain, then the pain of seeing each new decision alienating a small, but substantial, part of the community, and making the project less and less palatable to new contributors from different cultures.>-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/499b4e7c/attachment.html>