Re: [discuss] So what does Gerrit actually get us, anyway?
Gerrit is certainly an acquired taste. It is more easily acquired by people with a background in OpenStack development (which I believe the original Contrail development team had) although I don’t know if that has shifted. There are pros and cons to the GitHub UI and workflow, but I would say the biggest point against GitHub is philosophical, not technical. GitHub (as distinct from Git) is a closed source software-as-a-service whereas Gerrit is an Open Source piece of software. The LF installs Gerrit on servers that belong to LF (or to be very precise, I believe it’s on VMs that LF obtains from VexxHost as infrastructure-as-a-service).
Fundamentally it’s the difference between editing your documents on OpenOffice installed on your own laptop or editing them on Office365 via your web browser to Microsoft’s cloud hosted version. With Gerrit/OpenOffice you have both your document and the tool used to create/modify your document. With GitHub/Office365 (web browser version) you can save a local copy of your document, but the original is hosted on Microsoft’s infrastructure and you can only work on it via Microsoft’s infrastructure. (And note that since Microsoft bought GitHub this is literally true, not just an analogy.)
The Git repos may be cloned from GitHub, but all the rest, pull requests, comments, issues, permissions are part of the web UI and backend database, not part of the Git repos. You can’t backup/restore/move to new hosting provider, you can only use on Microsoft’s software-as-a-service or abandon entirely.
h=6.626 070 15 × 10-34
e=1.602176634 × 10-19
k= 1.380649 × 10-23
NA=6.02214076 x 1023
From: dev@... <dev@...> On Behalf Of Jan Gutter
Sent: Monday, June 10, 2019 13:09
Subject: Re: [TF Dev] [discuss] So what does Gerrit actually get us, anyway?
Please note, the following is a subjective biased view, responding to a subjectively phrased question. It's not intended to be an objective comparison and will conflate a number of concepts together.
I've dealt a lot with the OpenStack development workflow , and very little with Github's workflow. In the OpenStack workflow, Gerrit is primarily used for review, by humans and by CI. In some respects, it's also used for planning (when specs are used), and it's an excellent tool for doing collaborative review on documentation, with good traceability. In contrast, it's hard to find any collaborative review on review.opencontrail.org, by human or by CI, with virtually no comments by humans and frequent 'rechecks' being thrown at the CI to try to get it to pass.
Giving up Gerrit will likely drive TF towards a more monolithic design. Committing to Gerrit properly can help modularise TF into separate, upgradeable components. Personally, I don't find Gerrit a misery when the community is extremely helpful and forthcoming.
I think I might have set the tone a little too aggressive for this message. If it were me, I'd look at the workflows that developers of adjacent and competing projects are using and try to fit in closer with them.