My 2c is that my experience of this model is that maintainers typically get 
frustrated and disillusioned over time and become inactive, as they feel they 
are minions, doing the tough and often invisble review work but with no real 
authority over a feature. You end up with maintainer churn etc.

That is why I push for a strong correlation between maintainers and committers. 
Committers should be a maintainer of something and the number of maintainers 
who are not committers should be small. A maintainer with no commit rights, 
should be a committer in waiting with a clear path to graduating to be a 
committer.

I see that. Interesting to see how it develops. Not suggesting we should cast 
this in stone. .

Understand why we want to make a change, want to ensure we move to a sustainable model.

I imagined the opposite. That a maintainer had super-powers for his feature, 
but perhaps wasn't so interested in the rest of the system. Then the role of 
the committer is more one of architectural oversight and someone who ensures 
that the right hoops were jumped.

In that case the committer, needs to review everything that a maintainer has already approved, to ensure it is 'architecturally agreeable' and 'boxes have been ticked'. Kinda sounds like we are doubling the work?


I kind of think of a maintainer as a committer for a particular 
feature/area/plugin.

Well if they are a 'committer' then dispense with the extra bureaucracy and give them commit rights?


Try and then adjust as we go along?

Cheers,
Ole




Ray K

On 21/12/2016 12:18, Ole Troan wrote:
Guys,

The discussion we had on the Tuesday meeting about the maintainers file got me 
thinking.

I think there are two problems with the current model.
- It puts a high burden on the committers, since at least one among the 
committer set has to know every piece of the code.
 Aka. it doesn't scale very well.
- It doesn't allow the code authors aka maintainers of a given component any 
control of changes to 'their' component.

Proposal:
1) Each component has a set of owners (or named list).
2) When a change is submitted. A gerrit hook processes the list of changed 
files, and automatically adds the component owner lists or individuals to the 
reviews list.
   (e.g. Ole Troan (vnet/map), Neale Ranns (vnet/ip))
3) A committer will then see when maintainers have +1 for each affected 
component. And then either submit or chase component owners for review.

A maintainer can then raise a "discuss" by a -1.

If there is support for this we need to:
- create maintainer file (and keep this up to date)
- write gerrit hook

Btw, Damjan pointed me to the Xen project's definition of maintainers vs 
committers:
----
Maintainers

Maintainers own one or several components in the Xen tree. A maintainer reviews 
and approves changes that affect their components. It is a maintainer's prime 
responsibility to review, comment on, co-ordinate and accept patches from other 
community member's and to maintain the design cohesion of their components. 
Maintainers are listed in a MAINTAINERS file in the root of the source tree.

Committers

Committers are Maintainers that are allowed to commit changes into the source 
code repository. The committer acts on the wishes of the maintainers and 
applies changes that have been approved by the respective maintainer(s) to the 
source tree. Due to their status in the community, committers can also act as 
referees should disagreements amongst maintainers arise. Committers are listed 
on the sub-project's team portal (e.g. Hypervisor team portal).
----

Views?

Best regards,
Ole
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to