Task-force/working-group: Governance model & documentation

Hi there,

This is an open call for volunteers for a working group of the NiPreps Community - the governance model.

It has become apparent that our community will need some prescriptions of how the community is steered, what are the possible roles for contributions and corresponding expectations, etc. We are running a little survey to learn about some broad aspects of the community. Preliminary results (with 16 responses at the moment) indicate that responders are willing to be participative in general, leaning towards “just being informed” rather than “very involved”.

Some points discussed in the latest “roundup” are:

  • @emdupre offered her experience as she has been involved in discussing the governance within several projects and also pointed out that discussions should be accessible by anyone. This discourse platform seems to sufficiently cover those needs, as members can sign up, follow threads, get notifications, etc. as they wish.
  • So, if you are willing to be part of this task force, please reach out to Eric, Elizabeth, or Oscar.
  • @effigies posted in the chat several governance models that could be of use here: NXEP 1 — Governance and Decision Making — NetworkX 2.5 documentation & Neuroimaging in Python — NiBabel 3.2.1+100.g9fdf5e3e documentation
  • @adelavega asked whether there is some utility in place to navigate through the many tools we are juggling with, releases, etc. This comment resonated with one left in the survey asking how potential contributors can check what work is going on and how to join efforts. OE presented the GH project panel (fMRIPrep - Development Road Map · GitHub) and roughly described how they were originally and over time used. @mgxd mentioned the idea of a “scrum master” who takes ownership of managing the panel and @effigies relatedly suggested “release masters” who have a similar role but are restricted within some release effort. @edickie pointed out that another aspect is “when/how often” this panel is reviewed and worked on. The task-force should prescribe whether and if so how this project panel is to be maintained and responsibilities around it.

@ericearl pointed out that it would be good to clearly define what are the goals of this task-force, so please help me complete/edit the following list:

  • Investigate existing governance models closer to us (starting with Chris’ suggestions and the experience from Elizabeth), and sort of map them into an spectrum of involvement of the median contributor role (i.e., the possible role of contribution we expect to have more members in it).
  • Analyze whatever input we can get from the members of the community (the survey, the GH team, etc) and place NiPreps somewhere in that spectrum.
  • Discuss a governance document draft created by looking to both ends from the point in the spectrum defined above. - Markdown would be preferred as format for the draft.
  • Present the draft in the most suitable roundup meeting
  • Prescribe how the approval of the document should be conducted (“raised hands at the meeting?”, “some doodle poll” -and how that would be distributed, “a PR to NiPreps’ documentation”, etc.)
  • Promote vote / prepare the process as discussed above
  • Send a PR against NiPreps’ documentation with the draft
  • Prescribe how the PR will be handled (and whether it is part of the decision making process above)

If you are willing to be part of these discussions and/or the task force, please post your comment here or reach out to @emdupre, @ericearl and/or @oesteban

Thanks!!

3 Likes

Okay, it seems someone is hearing us at GitHub - Minimum Viable Governance: lightweight community structure to grow your FOSS projects | The GitHub Blog

1 Like

@oesteban It looks like a good model. Is our governance task-force job nearly done then? :slight_smile:

I haven’t been able to investigate it very deeply, but it seems like a very solid foundation from which we can customize.

Thanks for sharing @oesteban ! Glad to see that GitHub is giving some guidance on this.

I think it would be nice to try and specify a bit more from what’s considered there (which makes sense, since they’re trying to be as generic as possible !). For example, a few immediate questions that jump to mind : who decides whether a new project is in the scope of NiPreps ? Is it only the technical steering committee ? How are those members appointed (and renewed, if someone moves off the project) ?

With the new grant (congratulations !! :tada: ), I imagine that there’s also a bit of enforced structure that’s worth just making explicit, in terms of priorities and deliverables.

1 Like

Okay, after a short pause I think I can push this forward again. Let’s schedule a kick-off meeting for this task force - fill your availability in https://doodle.com/poll/646qfpht3st7ydzk

We will have our meeting in the same chatroom of Zoom we use for roundups.

Meeting preparation:

Agenda:

  1. Self-organization of the task-force. Call for a lead and some sort of secretary. The lead will then take over conducting meetings (this one included) and the secretary will be in charge of drafting the PR to nipreps docs. Everyone in the meeting will take the responsibility of helping, commenting and editing in such draft.
  2. Evaluate/discuss how much of the GitHub MVG documents we can adopt/reuse, analyzed in the context of the other sources of inspiration (NetworkX, NiPy, nilearn, scikit-learn, etc.)
  3. Identify friction points, with special attention to the issues @emdupre has already brought up:
  • who decides whether a new project is in the scope of NiPreps? (which I would complement with the question of who decides whether a new feature should be added into an existing NiPreps?
  • is a technical steering committee necessary? how is that work/committee coordinated with the grant (see the grant text for technical promises here - OSF | NiPreps NIH Grant proposals)
  • if a TC is involved, how members are appointed? and more generally, what are the contribution roles/membership roles that are necessary (check Membership - NiPreps first).
  • what is the process of adopting an existing tool as a NiPreps? (I’m particularly thinking of ASLPrep, which already exists and we plan its integration within the context of the NIH grant). Clarify copyright rules (being conscious that ASLPrep might need to stay as an exception because some steps have been taken already) and update authorship rules.
  1. Organize the process of drafting a PR to be presented at the next roundup.
  2. As the governance document does not exist yet, pre-specify which of the decision-making procedures applies to the approval of the document in the roundup (or later).

This agenda is subject to changes as I talk more with other PIs in the NiPreps grant.

Hi all, the kick-off meeting will finally take place next Friday 20 @ 5pm CEST (click for conversion to your timezone)

Updated Agenda:

  1. Self-organization of the task-force. Call for a lead and some sort of secretary. The lead will then take over conducting meetings (this one included) and the secretary will be in charge of drafting the PR to nipreps docs. Everyone in the meeting will take the responsibility of helping, commenting and editing in such draft.
  2. Evaluate/discuss how much of the GitHub MVG documents we can adopt/reuse, analyzed in the context of the other sources of inspiration (NetworkX, NiPy, nilearn, scikit-learn, etc.)
  3. Identify friction points, with special attention to the issues @emdupre has already brought up:
  • who decides whether a new project is in the scope of NiPreps? (which I would complement with the question of who decides whether a new feature should be added into an existing NiPreps?
  • is a technical steering committee necessary? how is that work/committee coordinated with the grant (see the grant text for technical promises here - OSF | NiPreps NIH Grant proposals)
  • if a TC is involved, how members are appointed? and more generally, what are the contribution roles/membership roles that are necessary (check Membership - NiPreps first).
  • what is the process of adopting an existing tool as a NiPreps? (I’m particularly thinking of ASLPrep, which already exists and we plan its integration within the context of the NIH grant). Clarify copyright rules (being conscious that ASLPrep might need to stay as an exception because some steps have been taken already) and update authorship rules.
    • NEW pass/discuss authors’ list ordering scripts
  1. Organize the process of drafting a PR to be presented at the next roundup.
  2. As the governance document does not exist yet, pre-specify which of the decision-making procedures applies to the approval of the document in the roundup (or later).

Based on the MVG and NiBabel’s and NetworkX’s governance documents, I’ve put together a proposal for the governance task-force meeting next Friday - https://github.com/nipreps/GOVERNANCE

Please, do send any comments, feedback, edit proposals, etc. before the meeting if possible.

An example of how this proposal may look in the wild, taking dMRIPrep for testing subject, is here - MAINT: Adopt new NiPreps' governance model [example] by oesteban · Pull Request #174 · nipreps/dmriprep · GitHu

I think @emdupre asked about this in the meeting, and at the time it either didn’t exist or I wasn’t aware of it, but indeed there are organization-wise document - Creating a default community health file - GitHub Docs

I’ve just learned about it because the bids-standard organization has already set them up.

I’ll start working on setting this up as it will simplify the governance documents maintenance.

1 Like

Ahh that’s great. Thank you for following up on this, @oesteban !

I think having this at the organization-level will significantly simplify adoption and ensure that sub-projects are setup for success re: governance !

Okay, unfortunately, it does not automate replicating files with arbitrary names, so I just proposed those that are currently supported here ENH: Initiate default community files in the magic ``.github`` repo by oesteban · Pull Request #1 · nipreps/.github · GitHub

It’s not going to ease the GOVERNANCE repo a whole lot, but it’s useful anyway. Also, I can see that we will see more changes towards these default files across repos.