Code Review: Sharing the load: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Nils Jeisecke's notes, via e-mail)
 
(Link to the follow-up session's write-up.)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:QtCS2019]]
[[Category:QtCS2019]]
* Situation: Many reviews in queue for long time (forever?)
This was a round-table session at the [[Qt Contributors Summit 2019]] initiated by [[User:Eddy|Eddy]] without an preparation, due to being too busy with reviewing other folks' changes.  Minutes kindly recorded by Nils Jeisecke, later tidied by Eddy.
  * Android: They have a button: Find "Maintainers" (Plugin for Gerrit)
 
  * Thiago: Would solve the first 15 Minutes for Contributors, not enough
* Situation: Many reviews in queue for long time (forever?), some contributors too busy reviewing to actually hack on code.
  * Improve the culture, appreciate the effort ("Thank you!")
** Android: They have a button: Find "Maintainers" (Plugin for Gerrit)
  * Get more people on-board as reviewers (not as approvers yet)
** Thiago: Would solve the first 15 Minutes for Contributors, not enough
  * Idea: Should not be +1 and +1, should be "Thumbs up" and "Tick!"
** Improve the culture, appreciate the effort ("Thank you!")
    * Some reviewers don't understand the implication of "+1" (two "+1" != "+2")
** Get more people on-board as reviewers (first step on a road that may eventually make them approvers)
** Idea: Should not be +1 and +2, should be "Thumbs up" and "Tick!"
*** Some reviewers don't understand the implication of "+1" (two "+1" ≠ "+2")


* What does a good patch looks like?
* What does a good patch looks like?
* breaking patch up into multiple patches
** breaking patch up into multiple patches
* Is the documentation really good enough (opinions vary)
** Is the documentation really good enough (opinions vary)


* Ask contributors whose changes have just been review to review others (sometimes happens)
* Ask contributors whose changes have just been review to review others' changes (this  does sometimes happen already)


* Gerrit
* Gerrit
  * Sanity bot is good
** Sanity bot is good – could do more, e.g. {{Issue|QTQAINFRA-1478}}.
  * Revive early warning bot!
** Revive early warning bot!
    * Should changes only be approved after tests has run on CI?
*** Should changes only be approved after tests has run on CI?
    * Can we get a "small CI" run (just Linux, "does it build?")
*** Can we get a "small CI" run (just Linux, "does it build?")
    * Should the bot automatically run tests if tests have been changed?
*** Should the bot automatically run tests if tests have been changed?
    * Should the bot automatically give a warning if tests have not been added (excluding doc only changes)?
*** Should the bot automatically give a warning if tests have not been added (excluding doc-only changes)?
  * "Auto defer" bot is currently not active, would be useful to automatically
*** Can we restore running of QDoc to reveal any new warnings caused by the change?
    defer patches where contributor did not response to requests.
** "Auto defer" bot is currently not active, would be useful to automatically defer patches where contributor did not respond to requests.
  * Automatically stage when change is approved? Faster turnaround time.
** Automatically stage when change is approved? Faster turnaround time – but not always what the contributor wants (waiting for other changes first).
  * Mail (monthly?) reports to maintainers (or others?) (based on gerrit dashboard config?): "N Changes approved, but not staged? Link to staging page", List per module?
** Mail (monthly?) reports to maintainers (or others? based on gerrit dashboard config?): "N Changes approved, but not staged? Link to staging page", List per module?
  * Let's try it and see how it works out
** Let's try it and see how it works out


* Gerrit Features unused right now
* Gerrit Features unused right now
  * Attach labels
** Attach labels
  * Bot could apply hashtags ("wants adoption", "stage-me")
** Bot could apply hashtags ("wants adoption", "stage-me")
  * Has a feature to make clazy automatically appply improvements to the change ("contributor has to click a button")
** Has a feature to make clazy automatically apply improvements to the change ("contributor has to click a button")
   
   
* Public Community Feedback does not exist
* Public Community Feedback does not exist
  * Alex: Use Thiago's script to highlight new contributions (Grafana?)? "Welcome new contributor!" for blog post (Like KDE does)?
** Alex: Use Thiago's script to highlight new contributions (Grafana?)? "Welcome new contributor!" for blog post (Like KDE does)?
 
---


Follow-up session extensions (lots of overlapping topics)
== Related notes from the next session ==
This session was followed, in the same room, by one on
[[Qt Contributors Summit 2019 - Contributor Experience|Improving the contributor experience of the Qt project]],
with lots of overlapping topics, from which we gleaned the following further notes:


* Give contributor feedback
* Give contributor feedback
  * Bot should say: "Welcome, Thanks for your first contribution"
** Bot should say: "Welcome, Thanks for your first contribution"
  * Monthly blog post advertising external contributors?
** Monthly blog post advertising external contributors?
  * Send out physical awards? T-Shirts, "Thank you" letter, ...?
** Send out physical awards? T-Shirts, "Thank you" letter, …?


* Make contributing easier
* Make contributing easier
  * Put contributor documentation into Qt's documentation ("Gettings started")?
** Put contributor documentation into Qt's documentation ("Gettings started")?
  * Link freenode IRC Web-Backend to simplify access to IRC for new contributors
** Link freenode IRC Web-Backend to simplify access to IRC for new contributors
  * Use Qt account profile to setup everything needed for contributing (ssh keys, CLA check, ...)
** Use Qt account profile to setup everything needed for contributing (ssh keys, CLA check, …)
  * Adapt github workflow (Checklist "Auto test done", "Documentation done", ...)
** Adapt github workflow (Checklist "Auto test done", "Documentation done", …)


* Triage bugs
* Triage bugs
  * Add Jira label ("for juniors")?
** Add Jira label ("for juniors")?


* Community
* Community
  * Missing Community manager (Consent: Yes, it's needed)
** Missing Community manager (Consensus: Yes, it's needed)
  * Missing "qt-project" entity, kind of a foundation? Funding?
** Missing "qt-project" entity, kind of a foundation? Funding?
  * Redefine: What is the qt-project?
** Redefine: What is the qt-project?


* Activating new contributors
* Activating new contributors
  * Communication of Qt (company) targets companies, not community (qt.org => qt.io => sales)
** Communication of Qt (company) targets companies, not community (qt.org ⇒ qt.io ⇒ sales)
  * Microsoft pushes its stuff to universities, why not Qt (or qt-project?)
** Microsoft pushes its stuff to universities, why not Qt (or qt-project?)
  * Qt project needs a proper homepage. With nice, contemporary Howtos, ...
** Qt project needs a proper homepage. With nice, contemporary Howtos, …

Revision as of 16:11, 22 November 2019

This was a round-table session at the Qt Contributors Summit 2019 initiated by Eddy without an preparation, due to being too busy with reviewing other folks' changes. Minutes kindly recorded by Nils Jeisecke, later tidied by Eddy.

  • Situation: Many reviews in queue for long time (forever?), some contributors too busy reviewing to actually hack on code.
    • Android: They have a button: Find "Maintainers" (Plugin for Gerrit)
    • Thiago: Would solve the first 15 Minutes for Contributors, not enough
    • Improve the culture, appreciate the effort ("Thank you!")
    • Get more people on-board as reviewers (first step on a road that may eventually make them approvers)
    • Idea: Should not be +1 and +2, should be "Thumbs up" and "Tick!"
      • Some reviewers don't understand the implication of "+1" (two "+1" ≠ "+2")
  • What does a good patch looks like?
    • breaking patch up into multiple patches
    • Is the documentation really good enough (opinions vary)
  • Ask contributors whose changes have just been review to review others' changes (this does sometimes happen already)
  • Gerrit
    • Sanity bot is good – could do more, e.g. QTQAINFRA-1478.
    • Revive early warning bot!
      • Should changes only be approved after tests has run on CI?
      • Can we get a "small CI" run (just Linux, "does it build?")
      • Should the bot automatically run tests if tests have been changed?
      • Should the bot automatically give a warning if tests have not been added (excluding doc-only changes)?
      • Can we restore running of QDoc to reveal any new warnings caused by the change?
    • "Auto defer" bot is currently not active, would be useful to automatically defer patches where contributor did not respond to requests.
    • Automatically stage when change is approved? Faster turnaround time – but not always what the contributor wants (waiting for other changes first).
    • Mail (monthly?) reports to maintainers (or others? based on gerrit dashboard config?): "N Changes approved, but not staged? Link to staging page", List per module?
    • Let's try it and see how it works out
  • Gerrit Features unused right now
    • Attach labels
    • Bot could apply hashtags ("wants adoption", "stage-me")
    • Has a feature to make clazy automatically apply improvements to the change ("contributor has to click a button")
  • Public Community Feedback does not exist
    • Alex: Use Thiago's script to highlight new contributions (Grafana?)? "Welcome new contributor!" for blog post (Like KDE does)?

Related notes from the next session

This session was followed, in the same room, by one on Improving the contributor experience of the Qt project, with lots of overlapping topics, from which we gleaned the following further notes:

  • Give contributor feedback
    • Bot should say: "Welcome, Thanks for your first contribution"
    • Monthly blog post advertising external contributors?
    • Send out physical awards? T-Shirts, "Thank you" letter, …?
  • Make contributing easier
    • Put contributor documentation into Qt's documentation ("Gettings started")?
    • Link freenode IRC Web-Backend to simplify access to IRC for new contributors
    • Use Qt account profile to setup everything needed for contributing (ssh keys, CLA check, …)
    • Adapt github workflow (Checklist "Auto test done", "Documentation done", …)
  • Triage bugs
    • Add Jira label ("for juniors")?
  • Community
    • Missing Community manager (Consensus: Yes, it's needed)
    • Missing "qt-project" entity, kind of a foundation? Funding?
    • Redefine: What is the qt-project?
  • Activating new contributors
    • Communication of Qt (company) targets companies, not community (qt.org ⇒ qt.io ⇒ sales)
    • Microsoft pushes its stuff to universities, why not Qt (or qt-project?)
    • Qt project needs a proper homepage. With nice, contemporary Howtos, …