<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: arial,helvetica,sans-serif; font-size: 10pt; color: #000000'><br><hr id="zwchr"><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><b>From: </b>"PaweÅ‚ Bylica via llvm-dev" <llvm-dev@lists.llvm.org><br><b>To: </b>"Alex Bradbury" <asb@asbradbury.org>, "llvm-dev" <llvm-dev@lists.llvm.org><br><b>Sent: </b>Tuesday, November 1, 2016 12:02:12 PM<br><b>Subject: </b>Re: [llvm-dev] RFC: Improving the experience of first-time        contributors<br><br><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" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); 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" target="_blank">https://github.com/facebook/mention-bot</a></div></div></div></blockquote>That sounds really nice!<br><br> -Hal<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0); font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div dir="ltr"><div class="gmail_quote"><div></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); 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>
<br>_______________________________________________<br>LLVM Developers mailing list<br>llvm-dev@lists.llvm.org<br>http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br></blockquote><br><br><br>-- <br><div><span name="x"></span>Hal Finkel<br>Lead, Compiler Technology and Programming Languages<br>Leadership Computing Facility<br>Argonne National Laboratory<span name="x"></span><br></div></div></body></html>