Hi,
On 15/05/20 23:58, Marc-André Lureau wrote:
Hi
On Fri, May 15, 2020 at 7:06 PM Francesco Giudici <fgiudici@xxxxxxxxxx
<mailto:fgiudici@xxxxxxxxxx>> wrote:
Hi,
the community around the SPICE project always tried to follow one
fundamental, implicit rule for accepting code contributions to the
project: every merge request (beside trivial patches) should be
reviewed
and acked at least by one before getting merged.
While everyone agrees with this fundamental rule, the actual status of
some SPICE projects makes the rule impractical to let the project move
forward.
I wasn't aware of a maintenance problem. Perhaps we should first list
the projects that have maintenance issues & discuss our options, before
changing the common rule.
The idea of this e-mail is exactly this: let's discuss. But starting
with a proposal and not only the issue seems to me the best way to try
to move things forward (also if in the end the proposal my be completely
changed it would have reached the goal).
Let's consider the spice/spice project as an example: the number of
contributions is very low, both on the commit side (only 4 different
contributors with more than 1 commit from the beginning of the year,
and
a single contributor with 90% of commits) and on the review side (in
the
last 40 merge requests before the C++ switch one, 21 had no comments).
You are omitting the passive reviewers. I consider myself as one of
them. If you need people to be more proactive, you could at least reach
me & probably others past contributors.
Great to know that you are looking at the contributions, also if not
sure what a "passive" reviewer does. In this case anyway I think if you
add a comment to the branch you looked at it will be much better. I'm
pretty sure the submitter will be happy that someone looked at it. So,
reaching out right now: if there are people looking at the branches and
not commenting, please start doing. Also partial comments (not full
reviews) may help I would say.
The x11spice project is another example: we have only 4 contributors
from the beginning of the year (and a single contributor holding 70% of
the commits) and the reviews on the gitlab merge requests have been
provided by two people only, each one reviewing the merge requests of
the other.
As projects become more specific/marginal, it's clear that the number of
maintainers is lower. Yet, we have those projects under the same
umbrella, and I don't think they should be treated differently.
Sorry, maybe I was not clear: projects under the same umbrella should be
treated equally. So, the rules will be the same for every project, and
can be used to address situations where contributions (reviews) are
missing. This is something that the number above suggests.
2 active
developers/maintainers can be very healthy, I would say. So do we have a
maintenance issue with x11spice? Do we want to move the project out of
the "Spice-space" projects for ex? What is the problem exactly?
I think you are not getting the point, maybe I was not clear: as long as
we have at least 2 contributors we get a review there. Perfect, nothing
changes.
What if one of the two developers/maintainers gets sick? For months? Or
stops for his own reasons to contribute to the project? Should the
project stop?
Problem is: if there is low contribution we don't want that active
contributors face even more obstacles to keep contributing. We want to
keep the project healthy and alive as much as possible.
For the sake of having the projects being able to move forward with a
reduced number of contributors/reviewers, the proposal is to *allow* a
maintainer to merge a Merge Request without an explicit ack if the
three
following conditions are met:
1) The Merge Request has been pending for at least 3 weeks without
getting new comments
2) The Merge Request submitter has kept asking a review on a weekly
basis
3) There are no pending nacks on the Merge Request
It's hard to define a delay to bypass a reviewing & consensus rule. In
general, it should really be frowned upon.
I understand your feeling and I feel the same at least in part: but the
rules we are talking about apply only when a project doesn't get reviews
and gets paralyzed. Also notice that it *allows* a *maintainer* to merge
the branch, it is not automatic. We give more freedom and trust to
maintainers over strict rules when contributions are low.
There is clearly more than
one person interested and using Spice. If the issue is important, it
should be fairly easy to get someone else to look at the issue in a
timely manner.
I like your optimism here, but honestly I don't think this is true. But
anyway, checking if someone will give the review is already part of the
proposal: the "asking a review on a weekly basis" meant this. Making
this more explicit would help?
If not, there are probably more important/interesting
things to do to get other interested.
That sounds great, but I don't have a clue here. If you have, please,
make a proposal!
If Spice is good enough for our users and interested parties, then it
may be risky to change it in wild directions without their approval.
I don't understand what you mean here. If the alternative is the project
not going forward anymore I would be in favor to let a maintainer push
his own commits and branches introducing new features, reworks and so
on. We are talking of an approved maintainer, not a casual committer. A
maintainer asking for reviews for 3 weeks without getting any feedback.
The other option, a fork leaving the original project abandoned (or just
the project abandoned) just because the maintainer doesn't want to
struggle in a discussion like this, wouldn't be worse?
But 3 weeks is way too short. You could have more important work, family
issue, get sick and go on holiday, all happening each after the other.
If we need you to review some code, because you have the best
experience, we should wait. If really we want a delay, I would argue
waiting 3 months minimum (there might be exceptional circumstances, but
they are exception, not the rule). And during that time, the contributor
should have attempted multiple time to involve people, by different
means (at least ML, irc and gitlab issue+MR - eventually try a conf call
to explain the motivation, present the work differently etc, complain
about the Spice project laziness on public blog if need be etc).
IMHO, I don't think is that fair that one proposing a branch should
fight to have someone even just looking at it. Likely, he/she will spend
his/her time in another project next time.
But it is great that you have some ideas... can you come out with a
draft amendment/proposal that looks good to you?
Note that having patches reviewed would still be the preferred way. If
at any time the number of contributors would raise again, we can switch
back to the mandatory review rule. Until then the priority is to allow
the project to move forward.
What do you think? Please share your thoughts and/or contribute with
your own ideas.
Thanks, but I think the trivial rule is already very subtle and
generally disapproved (fwiw, I am still in favor of a subjective trivial
rule), so I don't think this proposal would work.
This proposal is different from the trivial rule you mention. I would
say that if you ask to review a trivial patch for 3 weeks and no one
gives any feedback no one will be disappointed from someone merging it.
If someone is against this please tell :-)
ASAICS this merging without reviews already happened in gitlab somewhere
and went unnoticed...
We have to grow a community, by convincing people and doing interesting
work.
I would love this! But how? Living merge requests starving doesn't help
this, would work the opposite. What is your proposal?
Not by doing personal thing, and then leave the pieces behind,
because we did it alone and didn't gather others.
Sorry, this is just your thoughts (which I honestly think are plain
wrong). We are discussing rules exactly because this is a project with a
community. And if no one in the community is helping despite a
maintainer asking for help and that maintainers brings on the
development alone with all his best intentions... we'll, I have a lot of
respect for that maintainer as he/she is keeping the project alive.
But here we don't want to discuss our personal opinions, let's focus on
proposals.
Perhaps Spice is doing the job. Perhaps Spice needs to define new
objectives. These are interesting topics that I believe people would
want to discuss and participate. If not, we are doing it wrong.
Let's try to move forward then. Discussion and proposals on what to do
may really help.
Thanks
Francesco
thanks
--
Marc-André Lureau
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel