[dpdk-dev] [dpdk-techboard] Consider improving the DPDKcontribution processes

Jerin Jacob jerinjacobk at gmail.com
Tue May 26 12:16:14 CEST 2020


On Tue, May 26, 2020 at 3:13 PM Burakov, Anatoly
<anatoly.burakov at intel.com> wrote:
>
> On 25-May-20 7:44 PM, Morten Brørup wrote:
> >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Thomas Monjalon
> >> Sent: Monday, May 25, 2020 6:29 PM
> >>
> >> 25/05/2020 18:09, Burakov, Anatoly:
> >>> On 25-May-20 5:04 PM, Maxime Coquelin wrote:
> >>>> On 5/25/20 5:59 PM, Burakov, Anatoly wrote:
> >>>>> On 25-May-20 4:52 PM, Maxime Coquelin wrote:
> >>>>>> On 5/25/20 5:35 PM, Jerin Jacob wrote:
> >>>>>>> On May 25, 2020 Thomas Monjalon wrote:
> >>>>>>>> My concern about clarity is the history of the discussion.
> >>>>>>>> When we post a new versions in GitHub, it's very hard to keep
> >> track
> >>>>>>>> of the history.
> >>>>>>>> As a maintainer, I need to see the history to understand what
> >> happened,
> >>>>>>>> what we are waiting for, and what should be merged.
> >>>>>>>
> >>>>>>> IMO, The complete history is available per pull request URL.
> >>>>>>> I think, Github also email notification mechanism those to
> >> prefer to see
> >>>>>>> comments in the email too.
> >>>>>>>
> >>>>>>> In addition to that, Bugzilla, patchwork, CI stuff all
> >> integrated into
> >>>>>>> one place.
> >>>>>>> I am quite impressed with vscode community collaboration.
> >>>>>>> https://github.com/Microsoft/vscode/pulls
> >>>>>>
> >>>>>> Out of curiosity, just checked the git history and I'm not that
> >>>>>> impressed. For example last commit on the master branch:
> >>>>>>
> >>>>>>
> >> https://github.com/microsoft/vscode/commit/2a4cecf3f2f72346d06990feeb74
> >> 46b3915d6148
> >>>>>>
> >>>>>>
> >>>>>> Commit title: " Fix #98530 "
> >>>>>> Commit message empty, no explanation on what the patch is doing.
> >>>>>>
> >>>>>> Then, let's check the the issue it is pointed to:
> >>>>>> https://github.com/microsoft/vscode/issues/98530
> >>>>>>
> >>>>>> Issue is created 15 minutes before the patch is being merged. All
> >> that
> >>>>>> done by the same contributor, without any review.
> >>>>>>
> >>>>>
> >>>>> Just because they do it wrong doesn't mean we can't do it right :)
> >> This
> >>>>> says more about Microsoft's lack of process around VSCode than it
> >> does
> >>>>> about Github the tool.
> >>>>>
> >>>>
> >>>> True. I was just pointing out that is not the kind of process I
> >> would
> >>>> personally want to adopt.
> >>>>
> >>>
> >>> You won't find disagreement here, but this "process" is not due to
> >> the
> >>> tool. You can just as well allow Thomas to merge stuff without any
> >>> review because he has commit rights, no Github needed - and you would
> >> be
> >>> faced with the same problem.
> >>>
> >>> So, i don't think Jerin was suggesting that we degrade our
> >> merge/commit
> >>> rules. Rather, the point was that (whatever you think of VSCode's
> >>> review/merge process) there are a lot of pull requests and there is
> >>> healthy community collaboration. I'm not saying we don't have that,
> >>
> >> Yes, recent survey said the process was fine:
> >>      http://mails.dpdk.org/archives/announce/2019-June/000268.html
> >>
> >>
> >>> obviously, but i have a suspicion that we'll get more of it if we
> >> lower
> >>> the barrier for entry (not the barrier for merge!). I think there is
> >> a
> >>> way to lower the secondary skill level needed to contribute to DPDK
> >>> without lowering coding/merge standards with it.
> >
> > That is exactly what I am asking for: Lowering the barrier and increasing the feeling of success for newcomers. (The barrier for merge is probably fine; I'll leave that discussion to the maintainers.)
> >
> >>
> >> About the barrier for entry, maybe it is not obvious because I don't
> >> communicate a lot about it, but please be aware that I (and other
> >> maintainers I think) are doing a lot of changes in newcomer patches
> >> to avoid asking them knowing the whole process from the beginning.
> >> Then frequent contributors get educated on the way.
> >
> > Great! I wish that every developer would think and behave this way.
>
> Part of the problem is, there are two different maintainers here:
> maintainers like myself, who maintain a certain area of the code, and
> maintainers like Thomas, who has *commit rights* and maintains the
> entire tree.

Yes. I had a similar thought when I said about the "fine-grained"
maintainership/ownership.
The patchwork does not reflect the fine-grained owner of this patch series.
IMO, patch review will speed up or improve if we give the
responsibility of the patch to
specific maintainer based on the MAINTAINERS file.

Github picks up the default owner as CODEOWNERS(The PRIMARY one
responsible for the file or section of the code)
 https://github.com/zephyrproject-rtos/zephyr/blob/master/CODEOWNERS.

The policy for merge permission( Can CODEOWNERS merge the patch) will
be specific to the project.
IMO, This scheme would enable CODEOWNERS are more responsible for the
code review and
we have need system where query what is pending the CODEOWERS.
This http://patches.dpdk.org/project/dpdk/ list does not depict the
CODEOWERS in DPDK.



>
> And therein lies the problem: Thomas (David, etc.) doesn't look at every
> area of the code, he relies on us to do it. However, *he* is doing the
> committing, and fixing up patches, etc. - so, i can't really say things
> like, "hey, your indentation's wrong here, but Thomas will fix it on
> apply" because that's me pushing more work onto Thomas, something i
> don't think i have the moral right to do :)
>
> So, while Thomas is free to "fix on apply" at his own desire, i don't
> think we have to make this a habit.
>
> >
> >>
> >> I think the only real barrier we have is to sign the patch
> >> with a real name and send an email to right list.
> >> The ask for SoB real name is probably what started this thread
> >> in Morten's mind. And the SoB requirement will *never* change.
> >
> > The incorrect Signed-off-by might be the only hard barrier (which we cannot avoid). But that did not trigger me.
> >
> > I was raising the discussion to bring attention to soft barriers for contributors. What triggered me was the request to split the patch into multiple patches; a kind of feedback I have seen before. For an experienced git user, this is probably very easy, but for a git newbie (like myself), it basically means starting all over and trying to figure out the right set of git commands to do this, which can be perceived as a difficult task requiring a lot of effort.
> >
> > Perhaps we could supplement the Contributor Guidelines with a set of cookbooks for different steps in the contribution process, so reviewers can be refer newcomers to the relevant of these as part of the feedback. Just like any professional customer support team has a set of canned answers ready for common customer issues. (Please note: I am not suggesting adding an AI/ML chat bot reviewer to the mailing list!)
>
> That's a great idea, although it's arguably slightly out of scope for
> DPDK. Then again, we do have a "fixline" instructions, so why not have a
> "git reset HEAD^ && git add -p" in there while we're at it :)
>
> >
> > The amount of Contributor Guideline documentation is also a balance... it must be long enough to contain the relevant information to get going, but short enough for newcomers to bother reading it.
> >
>
>
> --
> Thanks,
> Anatoly


More information about the dev mailing list