Hi Richard!
thanks for creating the pull request with a full proposal. You beat me to it - tried writing up much the same before stopping for dinner, essentially capturing just one of the points in Moritz's earlier (large) proposal. Moritz, I would encourage you like Richard did earlier to split the remaining points in your proposal into separate PR's too.
So Richard, I created a PR to your PR to add in a little bit more detail: keeping the two mirrors in sync, role of the release manager to ensure that adequate reviewers get identified so that patches don't go unnoticed by an interested party who'd specifically want to review the patch on Phabricator, etc.
I also moved one of the two choices you mention to the "alternatives" section of the document, thinking that's the pupose of the section.
On another note, I solicited an experience report from Gabriel Scherer earlier this week. The Ocaml community likewise pondered using GitHub back in 2014, and in fact lauched an experiment to that effect. So I was curious to hear how it went after 2 years of data.
You can see the announcement here:
Gabriel tells me that the initial situation for Ocaml was different from that of GHC: they had no formal code review tool in use, but would swap around patches on the Mantis issue tracker. Be it as it may, it's interesting to note just how much the number of contributions to Ocaml has increased in recent years, after this experiment started:
This experiment is today considered a big success. A key ingredient I gather is that Gabriel volunteered to triage the GitHub PR's and play the go-between to make sure all Mantis users were aware of any proposed changes relevant to them.
The key insight I would put forth here is that how-to-accept-patches and where-to-review-them should be an agreement between the contributor and the assigned reviewer(s), in particular for trivial changes. For any given patch, provided the reviewer(s) is/are game, and provided all protential reviewers are made aware of its existence, it shouldn't matter much whether the patch came from Trac, Phabricator or GitHub.
PS: Gabriel was very kind to also point out that the LLVM community has been big users of Phabricator and pondering introducing GitHub into the mix too. The discussion there should be relevant to this thread:
Best,