<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Nov 1, 2016 at 2:17 PM Alex Bradbury via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br class="gmail_msg">
<br class="gmail_msg">
Some discussions the night before prompted me to do a short lightning<br class="gmail_msg">
talk on 'improving the experience of first-time contributors' at the<br class="gmail_msg">
LLVM Cauldron back in September. I intended to write it up as an RFC,<br class="gmail_msg">
but have only just got round to doing so. I've tried to make this<br class="gmail_msg">
email self-contained, but you may still want to look at the slides or<br class="gmail_msg">
recording of the lightning talk.<br class="gmail_msg">
<br class="gmail_msg">
Slides: <a href="https://speakerdeck.com/asb/can-we-improve-the-experience-of-first-time-llvm-contributors" rel="noreferrer" class="gmail_msg" target="_blank">https://speakerdeck.com/asb/can-we-improve-the-experience-of-first-time-llvm-contributors</a><br class="gmail_msg">
Video: <a href="https://www.youtube.com/watch?v=32fmbEI9WrM" rel="noreferrer" class="gmail_msg" target="_blank">https://www.youtube.com/watch?v=32fmbEI9WrM</a><br class="gmail_msg">
<br class="gmail_msg">
# The problem<br class="gmail_msg">
As a first-time contributor, it's easy to be put off during the patch<br class="gmail_msg">
submission process. e.g. the patch may sit unreviewed for weeks.<br class="gmail_msg">
Typically people new to the project haven't yet reviewed 'review<br class="gmail_msg">
currency', and so their patches are less likely to be picked out by<br class="gmail_msg">
others scanning through llvm-commits. Obviously nobody is doing<br class="gmail_msg">
anything wrong here, it's just likely to be off-putting to newcomers.<br class="gmail_msg">
Even if feedback is negative, it's valuable to know someone has at<br class="gmail_msg">
least looked at your code.<br class="gmail_msg">
<br class="gmail_msg">
# How do other projects solve this?<br class="gmail_msg">
I've always been impressed at how Rust has been able to attract a<br class="gmail_msg">
steady stream of new contributors. They have a simple but seemingly<br class="gmail_msg">
effective tool for helping people land their first patch: the highfive<br class="gmail_msg">
bot. Upon a user making their first pull request, it posts a welcome<br class="gmail_msg">
message and assigns someone to review it.<br class="gmail_msg"></blockquote><div><br></div><div>On GitHub there is a project called "mention bot" [1] by Facebook that assigns reviewers by analysing the history of the files touched by the patch. Recently I was welcomed by a message: "thanks for your PR! By analyzing the history of the files in this pull request, we identified @A, @B and @C to be potential reviewers."</div><div><br></div><div>[1] <a href="https://github.com/facebook/mention-bot">https://github.com/facebook/mention-bot</a></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="gmail_msg">
# A proposal<br class="gmail_msg">
I propose that we form a group of people who specifically volunteer to<br class="gmail_msg">
help review first-time patches. A simple phabricator bot could assign<br class="gmail_msg">
someone randomly much like Rust's highfive.<br class="gmail_msg">
<br class="gmail_msg">
One potential pitfall I'd like to highlight is that many patches<br class="gmail_msg">
really require the sign-off of the code owner. It could be equally<br class="gmail_msg">
frustrating for newcomers if people helpfully tell them to tweak their<br class="gmail_msg">
variable names, fix their formatting, and make other cosmetic changes<br class="gmail_msg">
only to find that time was wasted when the code owner step in a week<br class="gmail_msg">
or two later to say a completely different approach needs to be used.<br class="gmail_msg">
<br class="gmail_msg">
# Next steps<br class="gmail_msg">
<br class="gmail_msg">
Does anybody have any views here? My 'raise your hand' poll at the<br class="gmail_msg">
LLVM Cauldron did seem to think many felt things could be improved.<br class="gmail_msg">
I'll be at the LLVM Dev Meeting this week and would love to discuss<br class="gmail_msg">
further. Perhaps the BoF on raising the next generation of LLVM<br class="gmail_msg">
developers would be an appropriate venue?<br class="gmail_msg">
<a href="http://lists.llvm.org/pipermail/llvm-dev/2016-October/106658.html" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2016-October/106658.html</a><br class="gmail_msg">
<br class="gmail_msg">
Best,<br class="gmail_msg">
<br class="gmail_msg">
Alex<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
LLVM Developers mailing list<br class="gmail_msg">
<a href="mailto:llvm-dev@lists.llvm.org" class="gmail_msg" target="_blank">llvm-dev@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="gmail_msg">
</blockquote></div></div>