<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><div style="font-family: monospace; font-size: 15px;">[RESENT MESSAGE — see <a href="https://mail.haskell.org/pipermail/ghc-devops-group/2017-October/000004.html" class="">https://mail.haskell.org/pipermail/ghc-devops-group/2017-October/000004.html</a>]</div></div><div class=""><br class=""></div><div class="">[Includes all of Simon’s message]</div><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" class="">simonpj@microsoft.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 12pt;" class="">I don’t have a well-informed opinion, but in instinct is to follow the mainstream even if a technically-better alternative exists, unless it’s a LOT better.  For the reasons Manuel outlines.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 12pt;" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 12pt;" class="">Am I right that GitHub code review has improved?</span></div></div></div></blockquote><div class=""><br class=""></div><div class="">It has improved since this issue was discussed last. I believe one of the main criticisms in the past was that while people could comment on individual lines of a proposed contributions (aka pull request), there was no way to tie those into a code review unit. This facility has since been added. Moreover, contributors can now request code reviews from specific reviewers and the repositories can be configured such that contributions cannot be merged until signed off by a reviewer.</div><div class=""><br class=""></div><div class="">As Ben recently remarked, the main downside seems to be that GitHub code reviews don’t play very nicely with rebasing commits during a code review. However, some of these things are also a matter of using the right workflow.</div><div class=""><br class=""></div><div class="">As I mentioned before, the Swift compiler uses GitHub. They deal with a much bigger throughput. Here are their instructions to contributors (including the code review policy):</div><div class=""><br class=""></div><div class="">  <a href="https://swift.org/contributing/#contributing-code" class="">https://swift.org/contributing/#contributing-code</a></div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 12pt;" class="">Would using<span class="Apple-converted-space"> </span><a href="http://reviewable.io/" style="color: purple; text-decoration: underline;" class="">reviewable.io</a><span class="Apple-converted-space"> </span>impose similar socio-technical barriers that Phab does?</span></div></div></div></blockquote><div class=""><br class=""></div>No, it is more lightweight. Contributors don’t need to install extra software. Contributions are still just pull requests, and it could be used only for complex contributions (i.e., most people wouldn’t have to deal with it).<br class=""><div class=""><br class=""></div><div class="">Manuel</div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="border-style: none none none solid; border-left-width: 1.5pt; border-left-color: blue; padding: 0cm 0cm 0cm 4pt;" class=""><div class=""><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class=""><span lang="EN-US" class="">From:</span></b><span lang="EN-US" class=""><span class="Apple-converted-space"> </span>Ghc-devops-group [<a href="mailto:ghc-devops-group-bounces@haskell.org" class="">mailto:ghc-devops-group-bounces@haskell.org</a>]<span class="Apple-converted-space"> </span><b class="">On Behalf Of<span class="Apple-converted-space"> </span></b>Simon Marlow<br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>09 October 2017 08:58<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span>Manuel M T Chakravarty <<a href="mailto:manuel.chakravarty@tweag.io" class="">manuel.chakravarty@tweag.io</a>><br class=""><b class="">Cc:</b><span class="Apple-converted-space"> </span><a href="mailto:ghc-devops-group@haskell.org" class="">ghc-devops-group@haskell.org</a><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [GHC DevOps Group] Phabricator -> GitHub?<o:p class=""></o:p></span></div></div></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">Personally I prefer to stay with Phabricator because it's better for code reviews, and because we already use it.  Having said that, if a majority of the developer community would prefer GitHub, and there is effort available to make the transition, then we should do it. But I do have strong feelings on a couple of things:<o:p class=""></o:p></p><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""> </o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">- We should consult the whole developer community. Changing the code review tool affects not just potential contributors, but also the people doing the reviewing. If the reviewers are less productive or less keen to spend time on reviews, then overall quality will drop. An increase in contributions can only be supported if we also have an increase in the pool of people reviewing and merging contributions. It's about increasing the size of the developer community, not drive-by contributions.<o:p class=""></o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""> </o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">- We should use *one* code-review tool only.  Making a transition to a situation where we have two different code review tools (GitHub +<span class="Apple-converted-space"> </span><a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Freviewable.io&data=02%7C01%7Csimonpj%40microsoft.com%7C614abea30185416ae0fa08d50eeb77f2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636431326856129854&sdata=hvWIjcvsuaf1nOiiH88khDU%2Bt46JiZOH%2FHGN2GUZXGs%3D&reserved=0" style="color: purple; text-decoration: underline;" class="">reviewable.io</a>) would be a step backwards. (after all, one of the arguments below is against learning a new random tool....)<o:p class=""></o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""> </o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">The alternative that we discussed in the past is to better support contributions via GitHub, which we could still do.<o:p class=""></o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""> </o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">Cheers<o:p class=""></o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">Simon<o:p class=""></o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""> </o:p></p></div><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;"><o:p class=""> </o:p></p><div class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">On 9 October 2017 at 07:44, Manuel M T Chakravarty <<a href="mailto:manuel.chakravarty@tweag.io" target="_blank" style="color: purple; text-decoration: underline;" class="">manuel.chakravarty@tweag.io</a>> wrote:<o:p class=""></o:p></p><blockquote style="border-style: none none none solid; border-left-width: 1pt; border-left-color: rgb(204, 204, 204); padding: 0cm 0cm 0cm 6pt; margin-left: 4.8pt; margin-right: 0cm;" class=""><p class="MsoNormal" style="margin: 0cm 0cm 6pt; font-size: 11pt; font-family: Calibri, sans-serif;">I have spoken to a number of people about the question of using GitHub pull requests and code reviews instead of Phabricator for GHC development. And while some people are quite happy with Phabricator and/or prefer it due to using it at work anyway, the majority of people I talked to would prefer to use GitHub. In fact, some people (such as Neil Mitchell, Will Jones (VP Engineering @ Habito), and myself) stated that they do not contribute patches to GHC because they don’t want to deal with the overhead that Phabricator imposes. (So far, I haven’t had anybody who said they would not contribute if they have to use GitHub, but obviously my sample set is small and likely skewed.)<br class=""><br class="">Having said that, obviously, we will always find people preferring one tool over another. And also obviously, both tools can do the job (and for GitHub there are options for more sophisticated than the basic type of code reviews if need be:<span class="Apple-converted-space"> </span><a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Freviewable.io%2F&data=02%7C01%7Csimonpj%40microsoft.com%7C614abea30185416ae0fa08d50eeb77f2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636431326856129854&sdata=fVl8kNTSBU9j4AAwUbDJ%2FZWwwHV77O%2F3XtmodnYWVRc%3D&reserved=0" target="_blank" style="color: purple; text-decoration: underline;" class="">http://reviewable.io/</a>).<br class=""><br class="">Hence, I like to offer two technical and one social reasons why we should replace Phabricator by GitHub (and I do mean replace, not run both side-by-side).<br class=""><br class="">= Technical<br class=""><br class="">(1) Rule One of DevOps: minimise custom infrastructure<br class="">[Our resources are scarce. Why waste them on something that can be outsourced (for free)?]<br class=""><br class="">(2) We really need to sort out CI and integration with GitHub is easier — see also (1).<br class=""><br class="">= Social<br class=""><br class="">* Virtually every developer knows how to use GitHub and custom-anything creates friction. That learning Phabricator is little effort compared to learning to contribute to GHC is a red herring IMHO. Firstly, if the learning curve is steep, you don’t make it steeper. Secondly, there are people (e.g., Neil and me) who can very well contribute to GHC, but who don’t, because they don’t want waste time on yet another random tool. Life is too short!<br class=""><br class="">The reason why I don’t want to run Phabricator and GitHub side-by-side is because this would fail to help with the two technical reasons.<br class=""><br class="">Cheers,<br class="">Manuel<br class=""><br class="">PS: This is *not* about moving Trac to GitHub. We are only talking about pull requests and code reviews.<br class=""><br class=""><br class="">_______________________________________________<br class="">Ghc-devops-group mailing list<br class=""><a href="mailto:Ghc-devops-group@haskell.org" style="color: purple; text-decoration: underline;" class="">Ghc-devops-group@haskell.org</a><br class=""><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fhaskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-devops-group&data=02%7C01%7Csimonpj%40microsoft.com%7C614abea30185416ae0fa08d50eeb77f2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636431326856129854&sdata=yDdTfjZ6ibIHpECQQH5JKBiFONdTSNcsx9nC0vvZrQ4%3D&reserved=0" target="_blank" style="color: purple; text-decoration: underline;" class="">https://haskell.org/cgi-bin/mailman/listinfo/ghc-devops-group</a></p></blockquote></div></div></div></div></div></div></blockquote></div><br class=""></div>_______________________________________________<br class="">Ghc-devops-group mailing list<br class=""><a href="mailto:Ghc-devops-group@haskell.org" class="">Ghc-devops-group@haskell.org</a><br class="">https://haskell.org/cgi-bin/mailman/listinfo/ghc-devops-group<br class=""></body></html>