Skip to content

Commit 9b3ba83

Browse files
DragaDoncilaDraga DoncilajniTimMonko
authored
Add contracted roles to team page and rename core dev -> core TM (#817)
# Description As discussed at the previous core **team member** meeting and in other places, this PR updates our governance docs, core TM guides and About the Team page to use the title core team member instead of core developer. I've also taken this opportunity to list the folks currently in contracted roles on the team page. I wasn't sure if we wanted to also list current release manager as that changes more frequently, but happy to list them as well if folks want! <!-- Previewing the Documentation Build When you submit this PR, jobs that preview the documentation will be kicked off. By default, they will use the `slimfast` build (`make` target), which is fast, because it doesn't build any content from outside the `docs` repository and doesn't run notebook cells. You can trigger other builds by commenting on the PR with: @napari-bot make <target> where <target> can be: html : a full build, just like the deployment to napari.org html-noplot : a full build, but without the gallery examples from `napari/napari` docs : only the content from `napari/docs`, with notebook code cells executed slimfast : the default, only the content from `napari/docs`, without code cell execution slimgallery : `slimfast`, but with the gallery examples from `napari/napari` built --> <!-- Final Checklist - If images included: I have added [alt text](https://webaim.org/techniques/alttext/) If workflow, documentation build or deployment change: - My PR is the minimum possible work for the desired functionality - I have commented my code, to let others know what it does --> --------- Co-authored-by: Draga Doncila <ddon0001@student.monash.edu> Co-authored-by: Juan Nunez-Iglesias <jni@fastmail.com> Co-authored-by: Tim Monko <timmonko@gmail.com>
1 parent dda2588 commit 9b3ba83

File tree

9 files changed

+83
-57
lines changed

9 files changed

+83
-57
lines changed

docs/community/governance.md

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -44,38 +44,49 @@ can directly help to shape its future.
4444

4545
Contributors are encouraged to read the [contributing guide](napari-contributing).
4646

47-
### Core developers
47+
### Core team members
4848

49-
Core developers are community members that have demonstrated continued
49+
```{note}
50+
We used to refer to core team members as core developers. However, we felt
51+
that this title did not accurately reflect the broad range of contributions
52+
we value from our community. We have therefore updated the title to be more
53+
inclusive.
54+
55+
Some historical artifacts e.g. our google mailing group and our GitHub team
56+
cannot be renamed. Additionally, NAPs and release notes have not been retroactively
57+
updated to reflect the new role title.
58+
```
59+
60+
Core team members are community members that have demonstrated continued
5061
commitment to the project through ongoing contributions. They
5162
have shown they can be trusted to maintain napari with care. Becoming a
52-
core developer allows contributors to merge approved pull requests, cast votes
63+
core team member allows contributors to merge approved pull requests, cast votes
5364
for and against merging a pull-request, and be involved in deciding major
5465
changes to the API, and thereby more easily carry on with their project related
5566
activities.
5667

57-
Core developers are expected to review code contributions while adhering to the
58-
[core developer guide](core-dev-guide). New core developers can be nominated
59-
by any existing core developer, and for details on that process see our core
60-
developer guide. Core developers can choose to step down from their role and
61-
become "emeritus" core developers if they are no longer involved with the project,
68+
Core team members are expected to review code contributions while adhering to the
69+
[core team member guide](core-dev-guide). New core team members can be nominated
70+
by any existing core team member, and for details on that process see our core
71+
team member guide. Core team members can choose to step down from their role and
72+
become "emeritus" core team members if they are no longer involved with the project,
6273
or feel they do not have sufficient time to dedicate to their role. Emeritus core
63-
developers can request or be invited to become active core developers at
64-
a later date and with consensus from currently active core developers.
74+
team members can request or be invited to become active core team members at
75+
a later date and with consensus from currently active core team members.
6576

66-
For a full list of core developers see our [About the project and team](team) page.
77+
For a full list of core team members see our [About the project and team](team) page.
6778

6879
### Steering council
6980

70-
The Steering Council (SC) members are primarily core developers who have additional
81+
The Steering Council (SC) members are primarily core team members who have additional
7182
responsibilities to ensure the smooth running of the project. SC members are
7283
expected to participate in strategic planning, approve changes to the
7384
governance model, and make decisions about funding granted to the project
7485
itself. (Funding to community members is theirs to pursue and manage). The
7586
purpose of the SC is to ensure smooth progress from the big-picture
7687
perspective. Changes that impact the full project require analysis informed by
7788
long experience with both the project and the larger ecosystem. When the core
78-
developer community (including the SC members) fails to reach such a consensus
89+
team member community (including the SC members) fails to reach such a consensus
7990
in a reasonable timeframe, the SC is the entity that resolves the issue.
8091

8192
Members of the SC also have the "owner" role within the [napari GitHub organization](https://github.com/napari)
@@ -89,11 +100,11 @@ diversity of voices. All deadlocked votes of the SC will be postponed until
89100
there is an odd number of members and another vote can be held. A majority of the
90101
SC will not be employed by the same entity. One seat on the SC is reserved
91102
for a member elected by the [Institutional and Funding Partner Advisory Council](#institutional-and-funding-partners),
92-
as detailed below. This member need not be an existing core developer.
103+
as detailed below. This member need not be an existing core team member.
93104

94105
The SC membership, including the Institutional and Funding Partner (IFP) seat, is revisited every January.
95106
SC members who do not actively engage with the SC duties are expected to resign. New members for
96-
vacant spots are added by nomination by a core developer. Nominees should have demonstrated
107+
vacant spots are added by nomination by a core team member. Nominees should have demonstrated
97108
long-term, continued commitment to the project and its [mission and values](mission-and-values). A
98109
nomination will result in discussion that cannot take more than a month and
99110
then admission to the SC by consensus. During that time deadlocked votes of the SC will
@@ -107,7 +118,7 @@ SC see our [About the project and team](team) page.
107118

108119
The SC is the primary leadership body for napari. No outside institution,
109120
individual or legal entity has the ability to own or control the project
110-
other than by participating in napari as contributors, core developers, and
121+
other than by participating in napari as contributors, core team members, and
111122
SC members. However, because institutions can be an important source of
112123
funding and contributions for the project, it is important to formally
113124
acknowledge institutional participation in the project. We call institutions
@@ -156,36 +167,36 @@ Decisions about the future of the project are made through discussion with all
156167
members of the community. All non-sensitive project management discussion takes
157168
place on the [issue tracker](https://github.com/napari/napari/issues) and project
158169
[zulip](https://napari.zulipchat.com/) community chat channel. Occasionally,
159-
sensitive discussion may occur on a private core developer mailing list
170+
sensitive discussion may occur on a private core team member mailing list
160171
`napari-core-devs@googlegroups.com` or private chat channel.
161172

162173
Decisions should be made in accordance with the [mission and values](mission-and-values)
163174
of the napari project.
164175

165176
napari uses a “consensus seeking” process for making decisions. The group
166-
tries to find a resolution that has no open objections among core developers.
167-
Core developers are expected to distinguish between fundamental objections to a
177+
tries to find a resolution that has no open objections among core team members.
178+
Core team members are expected to distinguish between fundamental objections to a
168179
proposal and minor perceived flaws that they can live with, and not hold up the
169180
decision-making process for the latter. If no option can be found without
170181
objections, the decision is escalated to the SC, which will itself use
171182
consensus seeking to come to a resolution. In the unlikely event that there is
172183
still a deadlock, the proposal will move forward if it has the support of a
173184
simple majority of the SC.
174185

175-
Decisions (in addition to adding core developers and SC membership as above)
186+
Decisions (in addition to adding core team members and SC membership as above)
176187
are made according to the following rules:
177188

178189
- **Minor documentation changes**, such as typo fixes, or addition / correction of a
179-
sentence, require approval by a core developer *and* no disagreement or requested
180-
changes by a core developer on the issue or pull request page (lazy
181-
consensus). Core developers are expected to give “reasonable time” to others
190+
sentence, require approval by a core team member *and* no disagreement or requested
191+
changes by a core team member on the issue or pull request page (lazy
192+
consensus). Core team members are expected to give “reasonable time” to others
182193
to give their opinion on the pull request if they’re not confident others
183194
would agree.
184195

185196
- **Code changes and major documentation changes** require agreement by *one*
186-
core developer *and* no disagreement or requested changes by a core developer
197+
core team member *and* no disagreement or requested changes by a core team member
187198
on the issue or pull-request page (lazy consensus). For all changes of this type,
188-
core developers are expected to give “reasonable time” after approval and before
199+
core team members are expected to give “reasonable time” after approval and before
189200
merging for others to weigh in on the pull request in its final state.
190201

191202
- **Changes to the API principles** require a dedicated issue on our
@@ -195,9 +206,9 @@ are made according to the following rules:
195206
- **Changes to this governance model or our mission, vision, and values**
196207
require a dedicated issue on our [issue tracker](https://github.com/napari/napari/issues)
197208
and follow the decision-making process outlined above,
198-
*unless* there is unanimous agreement from core developers on the change in
209+
*unless* there is unanimous agreement from core team members on the change in
199210
which case it can move forward faster.
200211

201212
If an objection is raised on a lazy consensus, the proposer can appeal to the
202-
community and core developers and the change can be approved or rejected by
213+
community and core team members and the change can be approved or rejected by
203214
escalating to the SC.

docs/community/mission_and_values.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
This document is meant to help guide decisions about the future of `napari`, be it in terms of
55
whether to accept new functionality, changes to the styling of the code or graphical user interface (GUI),
6-
or whether to take on new dependencies, among other things. It serves as a point of reference for [core developers](core-dev-guide) actively working on the project, and an introduction for
6+
or whether to take on new dependencies, among other things. It serves as a point of reference for [core team members](core-dev-guide) actively working on the project, and an introduction for
77
newcomers who want to learn a little more about where the project is going and what the team's
88
values are. You can also learn more about how the project is managed by looking at our [governance model](napari-governance).
99

@@ -43,7 +43,7 @@ napari aims to be the **multi-dimensional image viewer for Python** and to **pro
4343
(our-values)=
4444
## Our values
4545

46-
- We are **inclusive**. We welcome and mentor newcomers who are making their first contribution and strive to grow our most dedicated contributors into [core developers](core-dev-guide). We have a [Code of Conduct](napari-coc) to make napari
46+
- We are **inclusive**. We welcome and mentor newcomers who are making their first contribution and strive to grow our most dedicated contributors into [core team members](core-dev-guide). We have a [Code of Conduct](napari-coc) to make napari
4747
a welcoming place for all.
4848

4949
- We are **community-driven**. We respond to feature requests and proposals on our [issue tracker](https://github.com/napari/napari/issues), making decisions that are driven by our users’ requirements, not by the whims of the core team.
@@ -58,7 +58,7 @@ a welcoming place for all.
5858

5959
- We value **simple, readable implementations**. Readable code that is easy to understand, for newcomers and maintainers alike, makes it easier to contribute new code as well as prevent bugs.
6060

61-
- We value **education and documentation**. All functions should have docstrings, preferably with examples, and major functionality should be explained in our [tutorials](https://napari.org/tutorials). Core developers can take an active role in finishing documentation examples.
61+
- We value **education and documentation**. All functions should have docstrings, preferably with examples, and major functionality should be explained in our [tutorials](https://napari.org/tutorials). Core team members can take an active role in finishing documentation examples.
6262

6363
- We **minimize [magic](https://en.wikipedia.org/wiki/Magic_(programming))** and always provide a way for users to opt out of magical behaviour and guessing by providing explicit ways to control functionality. We support NumPy array like objects and we prefer to educate users rather than make decisions on their behalf. This does not preclude the use of sensible defaults.
6464

docs/community/team.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# About the project and team
22

3-
napari is a consensus-based community project. Anyone with an interest in the project can join the community, contribute to the project design, and participate in the decision making process. You can learn more about how the project is run by reading our [governance model](napari-governance). This page lists our current and emeritus [core developers](governance.md#core-developers). Core developers are community members that have demonstrated a sustained commitment to the project through ongoing contributions and that they can maintain napari with care.
3+
napari is a consensus-based community project. Anyone with an interest in the project can join the community, contribute to the project design, and participate in the decision making process. You can learn more about how the project is run by reading our [governance model](napari-governance). This page lists our current and emeritus [core team members](governance.md#core-team-members). Core team members are community members that have demonstrated a sustained commitment to the project through ongoing contributions and that they can maintain napari with care. We also list our current and emeritus steering council members. Finally, the project currently has a number of paid team members in various roles supported by grants. They are listed below under the [Team Roles](#team-roles) section
44

5-
## Current Core Developers
5+
## Current Core Team Members
66

77
- [Ashley Anderson](https://github.com/napari/napari/commits?author=aganders3) - [@aganders3](https://github.com/aganders3)
88
- [Draga Doncila Pop](https://github.com/napari/napari/commits?author=DragaDoncila) - [@DragaDoncila](https://github.com/DragaDoncila)
@@ -20,7 +20,7 @@ napari is a consensus-based community project. Anyone with an interest in the pr
2020
- [Carol Willing](https://github.com/napari/napari/commits?author=willingc) - [@willingc](https://github.com/willingc)
2121

2222

23-
## Emeritus Core Developers
23+
## Emeritus Core Team Members
2424

2525
- [Ahmet Can Solak](https://github.com/napari/napari/commits?author=AhmetCanSolak) - [@AhmetCanSolak](https://github.com/AhmetCanSolak)
2626
- [Alister Burt](https://github.com/napari/napari/commits?author=alisterburt) - [@alisterburt](https://github.com/alisterburt)
@@ -46,6 +46,21 @@ napari is a consensus-based community project. Anyone with an interest in the pr
4646
- [Nicholas Sofroniew](https://github.com/napari/napari/commits?author=sofroniewn) - [@sofroniewn](https://github.com/sofroniewn)
4747
- [Talley Lambert](https://github.com/napari/napari/commits?author=tlambert03) - [@tlambert03](https://github.com/tlambert03)
4848

49+
# Team Roles
50+
51+
To best serve napari's development, operations, and community, several team roles are contracted. Currently contracted roles are listed below:
52+
53+
- Developers-in-Residence: Grezgorz Bokota, Lorenzo Gaifas, Draga Doncila Pop
54+
- Community Managers: Tim Monko, Lorenzo Gaifas
55+
- Operations Manager: Draga Doncila Pop
56+
- Release Manager: Rotating role. For current release manager see the Zulip [#release](https://napari.zulipchat.com/#narrow/channel/215289-release) channel.
57+
58+
We are also contracting with [Quansight](https://quansight.com/) for some key maintenance items:
59+
60+
- [Melissa Weber Mendonça](https://github.com/melissawm) is working on auto-generating videos and screenshots for our documentation and other documentation maintenance & improvements
61+
- [Jaime Rodríguez-Guerra](https://github.com/jaimergp) is working on maintaining and improving our bundled application and the `napari-plugin-manager`
62+
- [Daniel Althviz Moré](https://github.com/dalthviz) is working on refactoring our layer controls implementation, improving the `napari-plugin-manager`, and migrating our application model to `app-model`
63+
4964
## Project history
5065

5166
The napari project began in the spring of 2018. It was born out of the shared need for fast n-dimensional image viewing in Python by project co-founders Loïc Royer, from the Chan Zuckerberg Biohub (CZ Biohub), and Juan Nunez-Iglesias, from Monash University. Since then it has grown rapidly to now also provide a graphical user interface to a plugin ecosystem of image analysis tools for scientists to use in their daily work.
@@ -56,7 +71,7 @@ Early development on the project was led by Kira Evans, first as an intern with
5671

5772
You can read a full history of the project’s founding and early development in this [blog post](https://ilovesymposia.com/2019/10/24/introducing-napari-a-fast-n-dimensional-image-viewer-in-python/) from Juan.
5873

59-
Over time, napari has grown to over 80 direct contributors. Talley Lambert, from Harvard Medical School, began contributing around the time of Juan's blog post, and has been a critical driver of napari's development ever since. We have core developers located in three continents and three biweekly community calls spread across the day to try to accommodate users and contributors in any time zone.
74+
Over time, napari has grown to over 80 direct contributors. Talley Lambert, from Harvard Medical School, began contributing around the time of Juan's blog post, and has been a critical driver of napari's development ever since. We have core team members located in three continents and three biweekly community calls spread across the day to try to accommodate users and contributors in any time zone.
6075

6176
Read more about napari’s [mission and values](https://napari.org/stable/community/mission_and_values.html), how to get started as a [contributor](https://napari.org/stable/developers/contributing.html) or join us in our [zulip chat](https://napari.zulipchat.com/login/) for a more synchronous conversation. You can also follow us on [mastodon](https://fosstodon.org/@napari).
6277

docs/community/working_groups.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Working groups are subteams of the napari community formed by members interested
77
We believe working groups are a helpful way to move forward work on particular topics. The following guidelines serve to help community members form and/or maintain healthy working groups. Working groups should:
88

99
- Identify at least two co-leads responsible for the creation and continuation of the group.
10-
- Have a [core developer](https://napari.org/community/team.html#current-core-developers) “sponsor” who is kept aware of work and can help shepherd through PRs as needed. If you don't have a sponsor in mind directly for your proposed working group, please post on the `#general` channel on [Zulip](https://napari.zulipchat.com) and ask whether any core members would like to sponsor your group.
10+
- Have a [core team member](https://napari.org/community/team.html#current-core-developers) “sponsor” who is kept aware of work and can help shepherd through PRs as needed. If you don't have a sponsor in mind directly for your proposed working group, please post on the `#general` channel on [Zulip](https://napari.zulipchat.com) and ask whether any core members would like to sponsor your group.
1111
- Create a readme for your [working groups folder](https://github.com/napari/meeting-notes/tree/main/2021/working-groups) that names leads/sponsor, describes the working group’s core goals/priorities, lists Zulip channel, and links to meeting schedule (see readme template below).
1212
- Identify achievable goals and deliverables that map thoughtfully to napari’s larger strategies and [roadmap](https://napari.org/roadmaps/index.html). These goals may focus on specific short-term goals or longer term efforts that still require exploration.
1313
- Hold regular public meetings that are listed on the [napari community calendar](https://napari.org/stable/community/meeting_schedule.html). Cadence is up to the team, but monthly minimum is recommended.
@@ -41,7 +41,7 @@ This folder contains meeting notes for the **working group name**
4141

4242
**(Co)leads:**
4343

44-
**Core developer sponsor:**
44+
**Core team member sponsor:**
4545

4646
**Link to Zulip channel**
4747

0 commit comments

Comments
 (0)