<div dir="ltr">Hi,<div><br></div><div>Before people get too active in removing old stuff - is that always what we want?</div><div><br></div><div>One *good* aspect with anybody being able to upload pretty much anything is that it also serves as a repository others can use to have a look at such a change, comment (even if it&#39;s still very far from actually making it into the master branch), or simply sharing development.</div><div><br></div><div>If we want to go the route of only having &quot;prime&quot; patches show up in Gerrit, we also need a strategy for where everything else should go - and then we might end up with a synchronization problem between the two places instead.</div><div><br></div><div>If anything, I would be more inclined to having a hot-list of changes we agree need attention the next few days/weeks (depending on size and complexity), and that this is a list we update jointly e.g. at the telcos (although for large changes it should normally have been preceded by a joint decision it&#39;s a needed feature and a discussion about the design)?</div><div><br></div><div>Cheers,</div><div><br></div><div>Erik</div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 19, 2019 at 10:44 PM David van der Spoel &lt;<a href="mailto:spoel@xray.bmc.uu.se">spoel@xray.bmc.uu.se</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Den 2019-02-19 kl. 09:30, skrev Magnus Lundborg:<br>
&gt; Hi,<br>
&gt; <br>
&gt; I&#39;d just like to add that it would be good to get developers used to <br>
&gt; abandoning patches that are no longer worth reviewing/submitting. There <br>
&gt; are some patches in gerrit that are over five years old and quite a few <br>
&gt; that are over three years old. If we want to routinely review the oldest <br>
&gt; changes, which I think is good in general but should definitely not be a <br>
&gt; rule, we really need to make sure that the oldest changes are still <br>
&gt; interesting to submit.<br>
<br>
Interesting discussion. An observation when looking at &quot;My Open Issues&quot; <br>
is that there are quite a few people who have way too many patches open <br>
simultaneously (including myself and other core-developers). This makes <br>
it difficult to keep them all up to date (as Roland noted, by rebasing) <br>
and many patches disappear from the front page and those that are on the <br>
front page have merge conflicts. A patch that is evidently not <br>
up-to-date to me signifies that the developer is not likely to work on <br>
it in the near future and hence there is little point to review the <br>
patch (if I have the competence to do so).<br>
<br>
I started abandoning a couple of patches that were old and removing my <br>
name from others. As a result those ancient patches now top the list. If <br>
other people do the same we can probably clean up the todo list for <br>
everyone?<br>
<br>
Finally, I am one of the culprits generating large patches. Some of <br>
these have gained some approval in the past but not (yet) enough to make <br>
it in. There are likely more such patches by others. We need to find a <br>
way to deal with those as well as small patches.<br>
<br>
<br>
&gt; <br>
&gt; Cheers,<br>
&gt; <br>
&gt; Magnus<br>
&gt; <br>
&gt; On 2019-02-19 09:22, Erik Lindahl wrote:<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; We actually brought that up at our internal gromacs-group kick-off in <br>
&gt;&gt; January (both BioExcel and staff funded by some other projects).<br>
&gt;&gt;<br>
&gt;&gt; The first important lesson is that code review can be a relatively <br>
&gt;&gt; major task that in general should be planned already when we start <br>
&gt;&gt; working on a new module/feature/whatever. It takes (and should take <br>
&gt;&gt; time) for several developers, but that also means it&#39;s something we <br>
&gt;&gt; need to plan/prioritize based on the overall project needs and what <br>
&gt;&gt; people have funding to work on, so we make it clear that one of the <br>
&gt;&gt; tasks for developers X &amp; Y the next three months is to help reviewing <br>
&gt;&gt; the code for project Z.<br>
&gt;&gt;<br>
&gt;&gt; Another important caveat is that we cannot have the combination that <br>
&gt;&gt; anybody can push anything to gerrit, and that also meaning a guarantee <br>
&gt;&gt; that it will eventually make it into the master branch. The cost of <br>
&gt;&gt; allowing anything there is that many patches will never make it (for <br>
&gt;&gt; various reasons), and we might need to get better at separating <br>
&gt;&gt; small/old things that have fallen between chairs from changes where <br>
&gt;&gt; there are no strong incentives for the entire project to include the <br>
&gt;&gt; change (in the sense of all new code/features being added liability <br>
&gt;&gt; for somebody to support)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I would say large changes tend to fall in three categories:<br>
&gt;&gt;<br>
&gt;&gt; 1) Things that are on the overall project roadmap, and where we (or <br>
&gt;&gt; somebody else) have funding for people to work on it so it is both a <br>
&gt;&gt; plan for long-term maintenance and other people have stepped up in <br>
&gt;&gt; redmine to help with the review so it is also planned and sync:ed when <br>
&gt;&gt; the changes are coming in. These tend to be reviewed quickly, although <br>
&gt;&gt; the amount of comments/changes required might still mean it takes a <br>
&gt;&gt; while for it to get in.<br>
&gt;&gt;<br>
&gt;&gt; 2) Other large changes that are in principle good (say, cleanup), but <br>
&gt;&gt; that might not have been on people&#39;s radar. These will sometimes go in <br>
&gt;&gt; within days if they are trivial, but sometimes the can take a very <br>
&gt;&gt; long time to get in. The latter usually because people are busy and <br>
&gt;&gt; their time is already full with things that we agreed had high <br>
&gt;&gt; priority, and there might not be any time to drop those other things <br>
&gt;&gt; short-term just because there&#39;s another feature that could also be <br>
&gt;&gt; useful. In my experience, the best way to handle this is to be very <br>
&gt;&gt; active with helping reviewing other people&#39;s code and build karma - <br>
&gt;&gt; suddenly those reviews start showing up magically.<br>
&gt;&gt;<br>
&gt;&gt; 3) The third category is when somebody who has not been very involved <br>
&gt;&gt; in the project before uploads a large change for a new semi-niche <br>
&gt;&gt; feature, it takes ~50 changes for it to compile cleanly, and then <br>
&gt;&gt; there are another ~50 rebases over the course of a year. Although it <br>
&gt;&gt; might sound tough, for these changes I think the solution increasingly <br>
&gt;&gt; needs to be that they will have to live outside of master branch until <br>
&gt;&gt; (a) there is a clear record of the feature being widely used, (b) <br>
&gt;&gt; somebody continuously involved in the project and reviewing other code <br>
&gt;&gt; takes a responsibility to maintain it. Here we rather send a very bad <br>
&gt;&gt; message if people just start to review any code that shows up in <br>
&gt;&gt; gerrit - IMHO this type of change should NOT be reviewed unless it&#39;s <br>
&gt;&gt; the result of if a Redmine thread where we agreed on a plan for <br>
&gt;&gt; supporting it in the releases. That does not mean it&#39;s bad code, but <br>
&gt;&gt; until the impact and long-term support is clear, it should not be in <br>
&gt;&gt; master.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; So, I like the suggestions of e.g. looking at older changes and/or <br>
&gt;&gt; removing reviewers who don&#39;t have time.<br>
&gt;&gt;<br>
&gt;&gt; However, I don&#39;t see that it will work with a combination of allowing <br>
&gt;&gt; anybody to submit anything, assigning reviewers automatically, and <br>
&gt;&gt; then saying that assignment implies it should be done within a week <br>
&gt;&gt; unless explicitly declined :-) That comes with the risk of spending a <br>
&gt;&gt; lot of time on minor cleanup changes, while we won&#39;t have time for the <br>
&gt;&gt; large things people are funded for.<br>
&gt;&gt;<br>
&gt;&gt; There I think a better solution is to get better with the social <br>
&gt;&gt; planning at the bi-weekly telcos we have - but rather than merely <br>
&gt;&gt; stating what we are working on right now, we should get better at <br>
&gt;&gt; coming with suggestions ahead of time and then checking (a) if other <br>
&gt;&gt; people also want to prioritize that to help with reviewing, and (b) <br>
&gt;&gt; what other reviewing we can help with.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; In principle we&#39;d be delighted to have other people join our internal <br>
&gt;&gt; planning, with two caveats: NDAs means we need to keep some things <br>
&gt;&gt; orthogonal between vendors, and our staff resources are based on the <br>
&gt;&gt; things we have funding to deliver, so if somebody needs help with <br>
&gt;&gt; their feature X, we likely need them to help us review features Y &amp; Z :-)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Cheers,<br>
&gt;&gt;<br>
&gt;&gt; Erik<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Feb 19, 2019 at 5:33 AM Schulz, Roland <br>
&gt;&gt; &lt;<a href="mailto:roland.schulz@intel.com" target="_blank">roland.schulz@intel.com</a> &lt;mailto:<a href="mailto:roland.schulz@intel.com" target="_blank">roland.schulz@intel.com</a>&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;     Hi,<br>
&gt;&gt;<br>
&gt;&gt;     It seems to me based on my observations (no statistics so likely<br>
&gt;&gt;     biased), we have a high inefficiency in that we have certain<br>
&gt;&gt;     patches which go months without code review, and the author is<br>
&gt;&gt;     forced to regularly rebase because anything not on the first page<br>
&gt;&gt;     of gerrit is likely to go unnoticed.<br>
&gt;&gt;<br>
&gt;&gt;     If that’s true, it seems we should have some way:<br>
&gt;&gt;<br>
&gt;&gt;     -As an owner to find out whether a change will ever get reviewed<br>
&gt;&gt;     or whether the owner should abandon it because it doesn’t have<br>
&gt;&gt;     enough interest for it to go in.<br>
&gt;&gt;<br>
&gt;&gt;     -Have a more efficient way of communicating that changes aren’t<br>
&gt;&gt;     abandoned and are in need of code review which doesn’t require<br>
&gt;&gt;     regularly rebasing them just to get noticed.<br>
&gt;&gt;<br>
&gt;&gt;     Based on these observation, I suggestion the following:<br>
&gt;&gt;<br>
&gt;&gt;     -We should make the reviewer list on a change useful. Currently we<br>
&gt;&gt;     have changes which haven’t seen any significant review in months<br>
&gt;&gt;     and have a lot of reviewers listed. I suggest, being listed as a<br>
&gt;&gt;     reviewer on a change starts to mean one has the intention of<br>
&gt;&gt;     reviewing it fully with voting in a timely manner (e.g. within a<br>
&gt;&gt;     week for a small change or incremental reviews and within a month<br>
&gt;&gt;     for a large initial review). If one is added as a reviewer (either<br>
&gt;&gt;     because someone else added one or  one has commented in the past)<br>
&gt;&gt;     and one doesn’t have sufficient time or interest in the topic to<br>
&gt;&gt;     do a full review in a timely manner or doesn’t feel qualified to<br>
&gt;&gt;     vote, one should remove oneself from the reviewer list. This would<br>
&gt;&gt;     allow us to find out as a reviewer: are there changes which<br>
&gt;&gt;     require reviewers and which changes am I expected to review. And<br>
&gt;&gt;     as an owner: should I ask for reviews or (after having asked) is<br>
&gt;&gt;     there no interest and I might need to abandon the idea.<br>
&gt;&gt;<br>
&gt;&gt;     -We should use the dashboard to check for incoming reviews rather<br>
&gt;&gt;     than primarily using the first page. We should usually start<br>
&gt;&gt;     reviewing with the oldest rather the newest changes (requires us<br>
&gt;&gt;     to either clean up all the old changes or have a start-date for<br>
&gt;&gt;     the policy).<br>
&gt;&gt;<br>
&gt;&gt;     -We should encourage owners to add others as reviewers to ask them<br>
&gt;&gt;     for review (if we notice some people get spammed we might need<br>
&gt;&gt;     some suggestions of how to avoid that). This makes it clear if<br>
&gt;&gt;     there is no interest if everyone removes themselves. And either<br>
&gt;&gt;     lets the owner abandon it or ask for more clarification regarding<br>
&gt;&gt;     interest per email.<br>
&gt;&gt;<br>
&gt;&gt;     -We could potentially improve the dashboard with extensions such<br>
&gt;&gt;     as <a href="https://github.com/openstack/gerrit-dash-creator" rel="noreferrer" target="_blank">https://github.com/openstack/gerrit-dash-creator</a><br>
&gt;&gt;<br>
&gt;&gt;     Do you think a change in the direction would be useful (which<br>
&gt;&gt;     should probably decide on the direction before discussing details<br>
&gt;&gt;     such as what “timely” means)? Or do have different observations<br>
&gt;&gt;     and/or suggestions?<br>
&gt;&gt;<br>
&gt;&gt;     TLDR: Should every reviewer one a change be expected to review in<br>
&gt;&gt;     a timely manner or remove themselves as reviewer from the change?<br>
&gt;&gt;<br>
&gt;&gt;     Roland<br>
&gt;&gt;<br>
&gt;&gt;     -- <br>
&gt;&gt;     Gromacs Developers mailing list<br>
&gt;&gt;<br>
&gt;&gt;     * Please search the archive at<br>
&gt;&gt;     <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a><br>
&gt;&gt;     before posting!<br>
&gt;&gt;<br>
&gt;&gt;     * Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
&gt;&gt;<br>
&gt;&gt;     * For (un)subscribe requests visit<br>
&gt;&gt;     <a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a><br>
&gt;&gt;     or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a><br>
&gt;&gt;     &lt;mailto:<a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>&gt;.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; -- <br>
&gt;&gt; Erik Lindahl &lt;<a href="mailto:erik.lindahl@dbb.su.se" target="_blank">erik.lindahl@dbb.su.se</a> &lt;mailto:<a href="mailto:erik.lindahl@dbb.su.se" target="_blank">erik.lindahl@dbb.su.se</a>&gt;&gt;<br>
&gt;&gt; Professor of Biophysics, Dept. Biochemistry &amp; Biophysics, Stockholm <br>
&gt;&gt; University<br>
&gt;&gt; Science for Life Laboratory, Box 1031, 17121 Solna, Sweden<br>
&gt;&gt;<br>
&gt; <br>
&gt; <br>
<br>
<br>
-- <br>
David van der Spoel, Ph.D., Professor of Biology<br>
Head of Department, Cell &amp; Molecular Biology, Uppsala University.<br>
Box 596, SE-75124 Uppsala, Sweden. Phone: +46184714205.<br>
<a href="http://www.icm.uu.se" rel="noreferrer" target="_blank">http://www.icm.uu.se</a><br>
-- <br>
Gromacs Developers mailing list<br>
<br>
* Please search the archive at <a href="http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List</a> before posting!<br>
<br>
* Can&#39;t post? Read <a href="http://www.gromacs.org/Support/Mailing_Lists" rel="noreferrer" target="_blank">http://www.gromacs.org/Support/Mailing_Lists</a><br>
<br>
* For (un)subscribe requests visit<br>
<a href="https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers" rel="noreferrer" target="_blank">https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers</a> or send a mail to <a href="mailto:gmx-developers-request@gromacs.org" target="_blank">gmx-developers-request@gromacs.org</a>.</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Erik Lindahl &lt;<a href="mailto:erik.lindahl@dbb.su.se" target="_blank">erik.lindahl@dbb.su.se</a>&gt;</div><div>Professor of Biophysics, Dept. Biochemistry &amp; Biophysics, Stockholm University</div><div>Science for Life Laboratory, Box 1031, 17121 Solna, Sweden</div></div></div></div></div></div></div></div></div>