[Gluster-devel] Maintainers 2.0 Proposal
Niels de Vos
ndevos at redhat.com
Fri Mar 17 18:08:03 UTC 2017
On Fri, Mar 17, 2017 at 07:06:53PM +0100, Niels de Vos wrote:
> On Wed, Mar 15, 2017 at 10:12:18PM -0400, Vijay Bellur wrote:
> > Hi All,
> >
> > We have been working on a proposal [1] to make the lifecycle management of
> > Gluster maintainers more structured. We intend to make the proposal
> > effective around 3.11 (May 2016).
> >
> > Please review the proposal and let us know your feedback. If you need
> > clarity on any existing aspect or feel the need for something additional in
> > the proposal, please feel free to let us know.
>
> I'll just include the proposal here and add inline comments. I'm not
> sure if this is the best way, or if you would like anyone edit the
> document directly...
>
> > Thanks!
> > Amye & Vijay
> >
> > [1] https://hackmd.io/s/SkwiZd4qe
>
>
>
> > # Revised Maintainers for 3.11
> >
> > AI from Community Meeting, March 1:
> > amye to work on revised maintainers draft with vbellur to get out for
> > next maintainer's meeting. We'll approve it 'formally' there, see how it
> > works for 3.11.
>
> The next maintainers meeting happens when many maintainers are at VAULT.
> I would not expect a large attendance at that time. Also, Amye sent an
> email with a different target date?
>
> > ## Goals:
> > * Refine how we declare component owners in Gluster
> > * Create a deeper sense of ownership throughout the open source project
> > * Welcome more contibutors at a project impacting level
>
> It would be good to make a distinction between the Gluster Community and
> the GlusterFS Project. "Gluster" refers in my understanding to all the
> projects of the Gluster Community. This document looks most aimed at the
> GlusterFS project, with some Gluster Community references.
>
> > ## Definition of Owners + Peers
Also, what about the "Architects" we have in the GlusterFS project?
Should those not be mentioned in some way or form as well?
Niels
> > * Commit access to the project is not dependent on being a maintainer. A
> > maintainer is a leadership role within the project to help drive the
> > project forward.
>
> "the project", is that the glusterfs git repository, or any repository
> that we maintain? How would we see this for projects that contain
> Gluster modules like NFS-Ganesha and Samba? Or are those not considered
> as "our" components?
>
> > * Owner - Subject matter expert, help design large feature changes and
> > decide overall goal of the component. Reviews patches, approves
> > changes. Responsible for recruiting assisting peers. Owner of
> > component. (Principle Software Engineer - unconnected to actual role
> > in Red Hat organization)
>
> I would say a "subject matter expert" can give a +2 code-review in
> Gerrit, and the "owner" of the component would honour that opinion. I
> fail to see what "Principle Software Engineer" has to do with this if it
> is not connected to a role at Red Hat (hmm, I need to talk to my boss?).
>
> > * Peer - assists with design, reviews. Growing into subject matter
> > expert, but not required to be engaged in the overall design of the
> > component. Able to work largely without day-to-day supervision.
> > (Senior Software Engineer - unconnected to actual role in Red Hat
> > organization)
>
> A "peer" would do code-review +1 on the proposed design and/or change.
> That means it still needs a "subject matter expert" to really approve
> the change. Hopefully all the straight forward points have been checked
> by peers for changes (coding style, basic error checking and resource
> allocation/freeing, test-case, ...).
>
> > ## Additional changes:
> > * Carving out new components needs Project Lead + Community lead
> > approval - we can expand this as needed.
>
> Yes, please expand. Are new projects (like the recent gluster-block) new
> components? Who is/are Project Lead and Community Lead, are these the
> same people for all projects in the Gluster Community?
>
> > * Project Lead and Community Lead should watch out for people owning
> > lots of components with no peers. This may lead to burn out. Identify
> > these owners and assist them in getting new peers.
>
> This means that for the GlusterFS project the MAINTAINERS file needs to
> be maintained very well. How do you plan to keep track of all the other
> related projects?
>
> > * Owners can pick peers for their components with just an announcement.
>
> I do not think "peers" should need approval. Is not everyone allowed to
> review designs and patches? Sending an announcement for new contributors
> that just reviewed their first patch does not sound scalable. New
> "peers" can review proposals for any component. I must be missing
> something here, a better explanation would be most welcome.
>
> > ## Transition
> > * Current maintainers get to choose between ownership/peer of components
> > they're listed as owners.
>
> Well, yes, hopefully everyone being an "owner" or "peer" does so
> voluntary. Obviously certain companies have an interest in getting their
> employees to volunteer to do the work (and hopefully the tasks are part
> of their official job).
>
> > * Have people focus on maximum of two components as an owner. If they
> > have more, they should be strongly suggested to invite new people as
> > peers to be trained as future owners. If current owners consider
> > somebody as being ready to take over as owner of a component that they
> > are managing, please announce new owners with appropriate
> > justification on maintainers ML.
>
> Why two components? The majority of people listed in the glusterfs
> MAINTAINERS file already have more. And that is only for the glusterfs
> project, many will have additional projects they are responsible for.
>
> > * It's okay to drop a component if they are not able to find
> > time/energy. Owners are requested to minimize disruption to the
> > project by helping with transitions and announcing their intentions.
>
> Yes, of course :)
>
> > * Project Lead and Community Lead are responsible for maintaining the
> > health of the community. This includes balancing work for component
> > owners or choosing which components aren't included in the cycle in a
> > way that minimizes disruption to the project.
>
> What "cycle" is meant here?
>
> > References:
> > https://www.mozilla.org/en-US/about/governance/policies/module-ownership/
> > https://www.drupal.org/dcoc
>
> Maybe also see how QEMU and the Linux kernel handle this? I'm definitely
> more familiar with those projects than Mozilla or Drupal.
>
> Thanks!
> Niels
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.gluster.org/pipermail/gluster-devel/attachments/20170317/bec58790/attachment-0001.sig>
More information about the Gluster-devel
mailing list