Skip to content

Commit c204610

Browse files
committed
Refactor NetworkX to Nibabel
Still need more on BIAP process.
1 parent d9841d0 commit c204610

File tree

2 files changed

+64
-60
lines changed

2 files changed

+64
-60
lines changed

doc/source/devel/devguide.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,14 @@ the algorithms with implications to the performance or validity of results.
109109
It may list references to 3rd party bugtrackers, in case the reported bugs
110110
match the criteria listed above.
111111

112-
Contributor guidelines
113-
======================
112+
.. _mission_and_values:
113+
114+
.. _community_guidelines:
115+
116+
.. _code_of_conduct:
117+
118+
Community guidelines
119+
====================
114120

115121
Please see `our community guidelines
116122
<https://github.com/nipy/nibabel/blob/master/.github/CODE_OF_CONDUCT.md>`_.

doc/source/devel/governance.rst

Lines changed: 56 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,13 @@
11
.. _governance:
22

3-
=======================================
4-
NXEP 1 — Governance and Decision Making
5-
=======================================
6-
7-
:Author: Jarrod Millman <millman@berkeley.edu>
8-
:Author: Dan Schult <dschult@colgate.edu>
9-
:Status: Draft
10-
:Type: Process
11-
:Created: 2020-06-25
3+
==============================
4+
Governance and Decision Making
5+
==============================
126

137
Abstract
148
========
159

16-
NetworkX is a consensus-based community project. Anyone with an interest in the
10+
Nibabel is a consensus-based community project. Anyone with an interest in the
1711
project can join the community, contribute to the project design, and
1812
participate in the decision making process. This document describes how that
1913
participation takes place, how to find consensus, and how deadlocks are
@@ -24,22 +18,24 @@ Roles And Responsibilities
2418

2519
The Community
2620
-------------
27-
The NetworkX community consists of anyone using or working with the project
21+
22+
The Nibabel community consists of anyone using or working with the project
2823
in any way.
2924

3025
Contributors
3126
------------
27+
3228
Any community member can become a contributor by interacting directly with the
3329
project in concrete ways, such as:
3430

3531
- proposing a change to the code or documentation via a GitHub pull request;
3632
- reporting issues on our
37-
`GitHub issues page <https://github.com/networkx/networkx/issues>`_;
33+
`GitHub issues page <https://github.com/nipy/nibabel/issues>`_;
3834
- discussing the design of the library, website, or tutorials on the
39-
`mailing list <http://groups.google.com/group/networkx-discuss/>`_,
35+
`mailing list <https://mail.python.org/mailman/listinfo/neuroimaging>`_,
4036
or in existing issues and pull requests; or
4137
- reviewing
42-
`open pull requests <https://github.com/networkx/networkx/pulls>`_,
38+
`open pull requests <https://github.com/nipy/nibabel/pulls>`_,
4339

4440
among other possibilities. By contributing to the project, community members
4541
can directly help to shape its future.
@@ -48,25 +44,25 @@ Contributors should read the :ref:`contributor_guide` and our :ref:`code_of_cond
4844

4945
Core Developers
5046
---------------
47+
5148
Core developers are community members that have demonstrated continued
5249
commitment to the project through ongoing contributions. They
53-
have shown they can be trusted to maintain NetworkX with care. Becoming a
50+
have shown they can be trusted to maintain Nibabel with care. Becoming a
5451
core developer allows contributors to merge approved pull requests, cast votes
5552
for and against merging a pull request, and be involved in deciding major
5653
changes to the API, and thereby more easily carry on with their project related
57-
activities. Core developers appear as team members on the `NetworkX Core Team page
58-
<https://github.com/orgs/networkx/teams/core-developers/members>`_ and can
59-
be messaged ``@networkx/core-developers``. Core
60-
developers are expected to review code contributions while adhering to the
61-
:ref:`core_dev`.
62-
63-
New core developers can be nominated by any existing core developer.
64-
Discussion about new core developer nominations is one of the few activities
65-
that takes place on the project's private management list. The decision to
66-
invite a new core developer must be made by “lazy consensus”, meaning unanimous
67-
agreement by all responding existing core developers. Invitation must take
68-
place at least one week after initial nomination, to allow existing members
69-
time to voice any objections.
54+
activities. Core developers appear as team members on the `Nibabel Core Team
55+
page <https://github.com/orgs/nipy/teams/nibabel-core-developers/members>`_ and
56+
can be messaged ``@nipy/nibabel-core-developers``. We expect core developers to
57+
review code contributions while adhering to the :ref:`core_dev`.
58+
59+
New core developers can be nominated by any existing core developer. Discussion
60+
about new core developer nominations is one of the few activities that takes
61+
place on the project's private management list. The decision to invite a new
62+
core developer must be made by “lazy consensus”, meaning unanimous agreement by
63+
all responding existing core developers. Invitation must take place at least
64+
one week after initial nomination, to allow existing members time to voice any
65+
objections.
7066

7167
.. _steering_council:
7268

@@ -83,76 +79,78 @@ long experience with both the project and the larger ecosystem. When the core
8379
developer community (including the SC members) fails to reach such a consensus
8480
in a reasonable timeframe, the SC is the entity that resolves the issue.
8581

86-
Steering Council members appear as team members on the `NetworkX Steering
82+
Steering Council members appear as team members on the `Nibabel Steering
8783
Council Team page
88-
<https://github.com/orgs/networkx/teams/steering-council/members>`_ and
89-
can be messaged ``@networkx/steering-council``. Core
84+
<https://github.com/orgs/nipy/teams/nibabel-steering-council/members>`_ and
85+
can be messaged ``@nipy/nibabel-steering-council``. Core
9086

9187
Decision Making Process
9288
=======================
9389

9490
Decisions about the future of the project are made through discussion with all
9591
members of the community. All non-sensitive project management discussion takes
9692
place on the project
97-
`mailing list <http://groups.google.com/group/networkx-discuss/>`_
98-
and the `issue tracker <https://github.com/networkx/networkx/issues>`_.
93+
`mailing list <https://mail.python.org/mailman/listinfo/neuroimaging>`_
94+
and the `issue tracker <https://github.com/nipy/nibabel/issues>`_.
9995
Occasionally, sensitive discussion may occur on a private list.
10096

10197
Decisions should be made in accordance with our :ref:`mission_and_values`.
10298

103-
NetworkX uses a *consensus seeking* process for making decisions. The group
99+
Nibabel uses a *consensus seeking* process for making decisions. The group
104100
tries to find a resolution that has no open objections among core developers.
105101
Core developers are expected to distinguish between fundamental objections to a
106102
proposal and minor perceived flaws that they can live with, and not hold up the
107103
decision making process for the latter. If no option can be found without
108104
an objection, the decision is escalated to the SC, which will itself use
109105
consensus seeking to come to a resolution. In the unlikely event that there is
110106
still a deadlock, the proposal will move forward if it has the support of a
111-
simple majority of the SC. Any proposal must be described by a NetworkX :ref:`nxep`.
107+
simple majority of the SC. Any proposal must be described by a Nibabel :ref:`biap`.
112108

113109
Decisions (in addition to adding core developers and SC membership as above)
114110
are made according to the following rules:
115111

116-
- **Minor documentation changes**, such as typo fixes, or addition / correction of a
117-
sentence (but no change of the NetworkX landing page or the “about”
118-
page), require approval by a core developer *and* no disagreement or requested
119-
changes by a core developer on the issue or pull request page (lazy
112+
- **Minor documentation changes**, such as typo fixes, or addition / correction
113+
of a sentence (but no change of the Nibabel landing page or the “about”
114+
page), require approval by a core developer *and* no disagreement or
115+
requested changes by a core developer on the issue or pull request page (lazy
120116
consensus). Core developers are expected to give “reasonable time” to others
121117
to give their opinion on the pull request if they’re not confident others
122118
would agree.
123119

124120
- **Code changes and major documentation changes** require agreement by *two*
125-
core developers *and* no disagreement or requested changes by a core developer
126-
on the issue or pull-request page (lazy consensus).
121+
core developers *and* no disagreement or requested changes by a core
122+
developer on the issue or pull-request page (lazy consensus).
127123

128-
- **Changes to the API principles** require a :ref:`nxep` and follow the
124+
- **Changes to the API principles** require a :ref:`biap` and follow the
129125
decision-making process outlined above.
130126

131-
- **Changes to this governance model or our mission and values**
132-
require a :ref:`nxep` and follow the decision-making process outlined above,
133-
*unless* there is unanimous agreement from core developers on the change.
127+
- **Changes to this governance model or our mission and values** require
128+
a :ref:`biap` and follow the decision-making process outlined above, *unless*
129+
there is unanimous agreement from core developers on the change.
134130

135131
If an objection is raised on a lazy consensus, the proposer can appeal to the
136132
community and core developers and the change can be approved or rejected by
137-
escalating to the SC, and if necessary, a NXEP (see below).
133+
escalating to the SC, and if necessary, a BIAP (see below).
138134

139-
.. _nxep:
135+
.. _biap:
140136

141-
Enhancement Proposals (NXEPs)
137+
Enhancement Proposals (BIAPs)
142138
=============================
143139

144-
Any proposals for enhancements of NetworkX should be written as a formal NXEP
145-
following the template :doc:`nxep-template`. The NXEP must be made public and
146-
discussed before any vote is taken. The discussion must be summarized by a
147-
key advocate of the proposal in the appropriate section of the NXEP.
148-
Once this summary is made public and after sufficient time to allow the
149-
core team to understand it, they vote.
150-
The workflow of a NXEP is detailed in :ref:`nxep0`.
140+
Any proposals for enhancements of Nibabel should be written as a formal BIAP
141+
following the template :doc:`biap-template`. The BIAP must be made public and
142+
discussed before any vote is taken. The discussion must be summarized by a key
143+
advocate of the proposal in the appropriate section of the BIAP. Once this
144+
summary is made public and after sufficient time to allow the core team to
145+
understand it, they vote.
146+
147+
The workflow of a BIAP is detailed in :ref:`biap0`.
151148

152-
A list of all existing NXEPs is available :ref:`here <nxep_list>`.
149+
A list of all existing BIAPs is available :ref:`here <biap_list>`.
153150

154151
Acknowledgments
155152
===============
156153

157-
This document is based on the `scikit-image governance document
158-
<https://scikit-image.org/docs/stable/skips/1-governance.html>`_.
154+
Many thanks to Jarrod Millman, Dan Schult and the Scikit-Image team for the
155+
`draft on which we based this document
156+
<https://networkx.github.io/documentation/latest/developer/nxeps/nxep-0001.html>`_.

0 commit comments

Comments
 (0)