Proposed changes to merge request workflow
Niklas Larsson
metaniklas at gmail.com
Fri Nov 8 12:28:30 UTC 2019
Hi!
I have contributed a patch or two to GHC, so I guess I’m a reasonable example of an newbie.
The step of nominating reviewers just wouldn’t work for me. I have no idea of who in this project would be willing and able to give a review. Or who the eligible reviewers are. Maybe I’d select someone who haven’t been active for years.
If you do this, can you please add an alternative “I’m a clueless newbie, help me select reviewers” to that step?
Regards,
Niklas
> 8 nov. 2019 kl. 11:53 skrev Simon Peyton Jones via ghc-devs <ghc-devs at haskell.org>:
>
> | If the maintainers are not willing to either review or find reviewers
> | for a new contributors patch
> | then it doesn't seem to me that a project wants or values new
> | contributors.
>
> Yes, that would be an unfortunate -- and indeed wrong -- impression to convey. Thanks for highlighting it.
>
> You'd like the maintainers to have an *obligation* to cause someone to produce a good review on every patch. Here's the worst-case scenario: a well-meaning but inexperienced person produces a stream of large, ill-thought-out, and mostly wrong patches. To give a guarantee of high quality reviews of those patches amounts to a blank cheque on the time of volunteers working mostly in their spare time.
>
> Now, of course, that's an extreme scenario. But that's why I'm keen to avoid making it an unconditional obligation that the few maintainers must discharge.
>
> I don’t think there is really a difference of opinion here. Of course we welcome patches; of course everyone will try to help find reviewers if they are lacking!
>
> So how about this
> - the author nominates reviewers
> - if he or she finds difficulty in doing so, or the reviewers s/he
> nominates are unresponsive, then he or she should ask for help
> - maintainers should make efforts to help
>
> In other words, as an author you remain in control. But help is available if you need it.
>
> What do others think?
>
> Simon
>
> | -----Original Message-----
> | From: Matthew Pickering <matthewtpickering at gmail.com>
> | Sent: 08 November 2019 10:25
> | To: Simon Peyton Jones <simonpj at microsoft.com>
> | Cc: Ben Gamari <ben at well-typed.com>; ghc-devs at haskell.org
> | Subject: Re: Proposed changes to merge request workflow
> |
> | If the maintainers are not willing to either review or find reviewers
> | for a new contributors patch
> | then it doesn't seem to me that a project wants or values new
> | contributors.
> |
> | A maintainer can make a value judgement about a patch that is isn't
> | worth reviewing, but such
> | situations are exceedingly rare. Everyone contributes patches in good
> | faith in order to make the compiler better.
> |
> | Realistically it's impossible to be a good reviewer without having
> | implemented patches on the code base. If you don't
> | have a good handle for how things work then it's too big to get a feel
> | for just by reading the code. You need to learn how things
> | fit together by getting stuck writing patches.
> |
> | At least some of the maintainers are paid to maintain GHC and as such,
> | should be expected to perform responsibilities that
> | volunteers are not willing to perform. One of these tasks should be
> | finding reviewers for all patches and making sure contributions
> | do not languish indefinitely.
> |
> | Apart from this one point the suggested process sounds good but it
> | seems to have stalled in the last month.
> |
> | Cheers,
> |
> | Matt
> |
> | On Wed, Oct 9, 2019 at 11:31 AM Simon Peyton Jones
> | <simonpj at microsoft.com> wrote:
> | >
> | > | > Make it clear that it is the contributor's responsibility to
> | identify
> | > | reviewers for their merge requests.
> | > |
> | > | Asking for reviews is one of the most frustrating parts of
> | > | contributing patches, even if you know who to ask! So I think the
> | > | maintainer's should be responsible for finding suitable and willing
> | > | reviewers.
> | >
> | > It is true that it's hard to find reviewers. But if it's hard for the
> | author it is also hard for the maintainers. A patch is a service that an
> | author is offering, which is great. But every patch is owed, as a matter
> | of right, suitable and willing reviewers, the patch is /also/ a blank
> | cheque that any author can write, but it's up to someone else to pay.
> | That's not good either. No author has an unlimited call on the time of
> | other volunteers, and I don't think any author truly expects that.
> | >
> | > It's an informal gift economy. I review your patches (a) because I have
> | learned that you have good judgement and write good code (b) because I
> | want the bug that you are fixing to be fixed and (c) because you give me
> | all sorts of helpful feedback about my patches, or otherwise contribute to
> | the community in constructive ways.
> | >
> | > That may make it hard for /new/ authors to get started. Being an
> | assiduous reviewer is an excellent plan, because it gets you into GHC's
> | code base, guided by someone else's work; and it earns you all those good-
> | contributor points. But even then it may be hard. So I think it's
> | absolutely reasonable for authors to ask for help in finding reviewers.
> | >
> | > But simply saying that it's "the maintainers" responsibility to find
> | reviewers goes much too far in the other direction, IMHO.
> | >
> | > Perhaps we should articulate some of this thinking.
> | >
> | > Simon
> | >
> | > | -----Original Message-----
> | > | From: ghc-devs <ghc-devs-bounces at haskell.org> On Behalf Of Matthew
> | > | Pickering
> | > | Sent: 09 October 2019 11:18
> | > | To: Ben Gamari <ben at well-typed.com>
> | > | Cc: ghc-devs at haskell.org
> | > | Subject: Re: Proposed changes to merge request workflow
> | > |
> | > | Sounds good in principal but I object to
> | > |
> | > | > Make it clear that it is the contributor's responsibility to
> | identify
> | > | reviewers for their merge requests.
> | > |
> | > | Asking for reviews is one of the most frustrating parts of
> | > | contributing patches, even if you know who to ask! So I think the
> | > | maintainer's should be responsible for finding suitable and willing
> | > | reviewers.
> | > |
> | > | Cheers,
> | > |
> | > | Matt
> | > |
> | > | On Tue, Oct 8, 2019 at 7:17 PM Ben Gamari <ben at well-typed.com> wrote:
> | > | >
> | > | > tl;dr. I would like feedback on a few proposed changes [1] to our
> | merge
> | > | > request workflow.
> | > | >
> | > | >
> | > | > Hello everyone,
> | > | >
> | > | > Over the past six months I have been monitoring the operation of
> | our
> | > | > merge request workflow, which arose rather organically in the wake
> | of
> | > | > the initial move to GitLab. While it works reasonably well, there
> | is
> | > | > clearly room for improvement:
> | > | >
> | > | > * we have no formal way to track the status of in-flight merge
> | > | > requests (e.g. for authors to mark an MR as ready for review or
> | > | > reviewers to mark work as ready for merge)
> | > | >
> | > | > * merge requests still at times languish without review
> | > | >
> | > | > * the backport protocol is somewhat error prone and requires a
> | great
> | > | > deal of attention to ensure that patches don't slip through the
> | > | > cracks
> | > | >
> | > | > * there is no technical mechanism to prevent that under-reviewed
> | > | > patches from being merged (either intentionally or otherwise)
> | to
> | > | > `master`
> | > | >
> | > | > To address this I propose [1] a few changes to our workflow:
> | > | >
> | > | > 1. Define explicit phases of the merge request lifecycle,
> | > | > systematically identified with labels. This will help to make
> | it
> | > | > clear who is responsible for a merge request at every stage of
> | its
> | > | > lifecycle.
> | > | >
> | > | > 2. Make it clear that it is the contributor's responsibility to
> | > | > identify reviewers for their merge requests.
> | > | >
> | > | > 3. Institute a final pre-merge sanity check to ensure that
> | > | > patches are adequately reviewed, documented, tested, and have
> | had
> | > | > their ticket and MR metadata updated.
> | > | >
> | > | > Note that this is merely a proposal; I am actively seeking input
> | from
> | > | > the developer community. Do let me know what you think.
> | > | >
> | > | > Cheers,
> | > | >
> | > | > - Ben
> | > | >
> | > | >
> | > | > [1]
> | > |
> | https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.h
> | > | askell.org%2Fghc%2Fghc%2Fwikis%2Fproposals%2Fmerge-request-
> | > |
> | workflow&data=02%7C01%7Csimonpj%40microsoft.com%7Cd1199fd308b442cf744f
> | > |
> | 08d74ca2074b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6370621311033130
> | > |
> | 52&sdata=SxBADAuF%2FvGzduaytetUzIxGr8lC%2BjTX2eCLNEoOCkQ%3D&reserv
> | > | ed=0
> | > | > _______________________________________________
> | > | > ghc-devs mailing list
> | > | > ghc-devs at haskell.org
> | > | >
> | > |
> | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask
> | > | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-
> | > |
> | devs&data=02%7C01%7Csimonpj%40microsoft.com%7Cd1199fd308b442cf744f08d7
> | > |
> | 4ca2074b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637062131103313052&a
> | > |
> | mp;sdata=T%2FyLoRH9BTIVPxMzF0%2BAa3c20qCBkhvQrp53FtROz40%3D&reserved=0
> | > | _______________________________________________
> | > | ghc-devs mailing list
> | > | ghc-devs at haskell.org
> | > |
> | https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.hask
> | > | ell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-
> | > |
> | devs&data=02%7C01%7Csimonpj%40microsoft.com%7Cd1199fd308b442cf744f08d7
> | > |
> | 4ca2074b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637062131103323047&a
> | > |
> | mp;sdata=IwsIP3P6W5qtsLxfePbYOWTXdPLttNMLHWXkuTtVWgI%3D&reserved=0
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
More information about the ghc-devs
mailing list