[llvm-dev] LLVM Discourse migration: goals justify means?

Joshua Cranmer via llvm-dev llvm-dev at lists.llvm.org
Thu Jan 27 08:42:30 PST 2022


On 1/26/2022 5:36 PM, Roman Lebedev via llvm-dev wrote:
> Hi all.
>
> As most of us here learned on Jan 7, apparently, we,
> the LLVM community, have overwhelmingly supported
> the decision to move to Discourse.
>
> It already raises a question as to how said decision was made,
> and what exactly said "majority of the community" is.
> While it is true that the LLVM RFC process is unclear at best,
> in this particular case the problem becomes exceptionally egregious.
>
> While it may be a selection bias, as a data point,
> everybody, that i regularly talk to, in #llvm IRC
> were just as surprised to learn of said development as I was.
>
> There was no indication on e.g. llvm-dev@,
> and in fact the last mention of the migration was:
> https://lists.llvm.org/pipermail/cfe-dev/2021-June/068449.html
> (over half a year ago!), but even if you just look at said thread,
> there were certain comments that weren't addressed, e.g.
> https://lists.llvm.org/pipermail/cfe-dev/2021-June/068406.html
>
> Hopefully, the "vote" wasn't held at the discourse itself,
> otherwise it very much mirrors certain recent & future world events,
> and does not paint the LLVM in a good light.
>
> I'm fearful that the same story is bound to happen yet again
> with GitHub Pull Request migration, that all the multitude of complaints
> that were received each time they were requested (and that happened
> a number of times, hopefully not to exhaust those providing said feedback!)
> will be just swept away and ignored, and the switch be pushed through
> regardless, in the name of a noble "lowering the barrier of entry" goal.
> (There's similar question about discord "RFC")

I agree with virtually everything else that has been said in this 
thread, so I'll limit this to saying things that I haven't seen said yet.

If you look at the history of the big infrastructure changes LLVM has 
made in the recent past, there's a worrying trend. The first big change 
I'm thinking of was the move from SVN to git via github. The discussion 
period for this change was quite long (several years), but the actual 
migration I remember as being relatively smooth. More recently, we had 
the move from Bugzilla to Github issues. The discussion period was 
similarly long, but the migration was far from smooth: the final 
notification (including things contributors needed to do) seemed to come 
out of nowhere, with short timetables, and over a holiday week, and the 
actual conversion process ran into several technical issues (to be fair, 
many of them were not easily foreseeable).

Now we have the migration to Discourse, where the previous discussion 
was arguably more contentious than the bug move and seemed to be left in 
a "no consensus" state. And again we have a very-little-notice 
announcement of the move, including a late Friday night or early 
Saturday morning announcement on a holiday weekend. And again, there are 
technical issues--the "mailing list mode" feature. However, this one 
really ought to have been foreseen: the amount of emails that llvm 
mailing lists send out a day should be *really* easy to estimate, so how 
is it a surprise that we're using too many emails?

The worrying thing is the extrapolation to the "next" infrastructure 
change, the move to PRs... which is the most contentious of the lot, 
with several contributors outright saying that it may cause them to stop 
contributing altogether. The infrastructure process clearly *isn't* 
working well right now, and I think we need to step back and fix that 
process before risking contributor loss.

I originally wasn't going to bring this up, but I think the decision to 
disable "mailing list mode" absolutely needs to part of the "what went 
wrong" postmortem. There may be a good reason why the problem of LLVM 
discourse sending too many emails wasn't foreseeable beforehand, but I'm 
not seeing it right now--it's important to understand where the blind 
spots of the infrastructure group exist right now. But the communication 
of the disabling of this feature really leaves something to be desired: 
it was announced on Discourse, after it had been disabled, so that 
everybody who was solely relying on it for email *never saw they had 
been cut off*. I myself only found out about this because it was 
mentioned in the IRC channel.

In a broader sense, I want to part with this observation. In my 
experience, large projects develop a kind of "in-group", a set of people 
who need to be interacted with to get things done in the project. Of the 
projects I've worked with, LLVM has had the most opaque "in-group", in 
the sense that it's difficult for a beginner (or even more experienced 
contributors) to figure out who you need to get to review a patch, or 
when you've got enough agreement on an RFC to move forward with 
implementation. This is a bigger issue with LLVM in general, but the 
risk with respect to infrastructure in particular is that I am extremely 
worried that the LLVM infrastructure group is pushing away much or all 
of the "in-group", and that has incumbent risks for the future health of 
the project as a whole.

-- 
Joshua Cranmer



More information about the llvm-dev mailing list