Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
fb0de6d
onboarding oriented governance docs
story645 Dec 10, 2019
2c5e9bb
DOC: google+ is dead
tacaswell Mar 5, 2020
2a3e0b8
GOV: rename BDFL to Lead Developer and add Deputy Lead Developer
tacaswell Mar 5, 2020
29d0d8e
GOV: re-write BDFL -> LD section
tacaswell Mar 5, 2020
0045e03
GOV: tweak Steering Council a bit
tacaswell Mar 5, 2020
8791ab9
GOV: substantially re-write the council member section
tacaswell Mar 5, 2020
d991ef6
GOV: update wording in CoI section
tacaswell Mar 5, 2020
c4fbe0a
GOV: slight wording change to Council communications
tacaswell Mar 5, 2020
e4c1ece
GOV: clear out rest of BDFL -> LD
tacaswell Mar 5, 2020
6fb94ee
GOV: tweak wording for institutional partners
tacaswell Mar 5, 2020
50a7dc2
GOV: tweak rules to change governance
tacaswell Mar 5, 2020
92ad746
GOV: add sketch of DLD titles
tacaswell Mar 5, 2020
000c844
GOV: make the get a commit bit wording consistent
tacaswell Mar 5, 2020
419a2a2
GOV: add domain project leads
tacaswell Mar 5, 2020
ba4b43e
GOV: change "Lead Developer" -> "Project Leader"
tacaswell Mar 23, 2020
3b99c7e
GOV: start to flesh out the deputy roles based on call
tacaswell Mar 23, 2020
11b1d16
Add additional line to secretary role
tacaswell May 11, 2020
668352c
DOC: moved all name roles into goverance.rst
tacaswell Jul 15, 2020
722d812
DOC: catch the last lead developer reference
tacaswell Jul 15, 2020
5b3e270
DOC: minor copy editing
tacaswell Jul 15, 2020
3ba01cf
GOV: add that NumFOCUS can remove the PL from the project
tacaswell Jul 15, 2020
30f5743
DOC: format sub-committee section
tacaswell Jul 15, 2020
6072258
DOC: copy-edit the DPL sections a bit
tacaswell Jul 15, 2020
41116de
GOV: merge API consistency and Reference doc roles
tacaswell Jul 15, 2020
6c6bab2
GOV: add CoC subcommittee
tacaswell Jul 15, 2020
3928b98
GOV: split API / reference docs roles apart again
tacaswell Jul 27, 2020
b238319
GOV: copy-editing, sentence finishing, move roles to separate file
tacaswell Jul 27, 2020
ad2a0a9
DOC: spelling
tacaswell Jul 28, 2020
f43145e
DOC: fix grammar and wording
tacaswell Aug 3, 2020
dd55d30
GOV: Name initial Deputy Project Leads
tacaswell Aug 4, 2020
ce1e9cf
DOC: fix spelling
tacaswell Aug 4, 2020
7254bdf
DOC: typo and minor wording changes
tacaswell Aug 5, 2020
ae0579c
GOV: remove "fork if you do not like it" suggestion
tacaswell Aug 5, 2020
734ed9f
GOV: clarify that the SC can eject contributors from the project
tacaswell Aug 5, 2020
efabe3f
GOV: add no-reports condition on SC membership
tacaswell Aug 5, 2020
2b40e72
GOV: shorten the description of the community manager
tacaswell Aug 5, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 3 additions & 33 deletions deputy_project_leads.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,36 +79,6 @@ The true strength of Matplotlib and why it has had such longevity as a
project is the community of people around the code. That community
needs to be maintained. The Community Manager (CM) is a catch-all
position for several very diverse tasks and this role may be split in
the future and may want to enlist further assistants.

**Communications**

We need to maintain communication channels with the wider world. To
this end the CM is responsible for maintaining. This communication is
primarily broadcast out and intended to engage with the wider
community. The

- the [Ann] mailing list
- The Matplotlib blog
- Maintaining a "Matplotlib update" slide deck
- Recruiting people to give talks on Matplotlib at conferences / meetups
- Matplotlib's social media presence

**Developer Relations**

In addition to communication to end-users we need to maintain
communication channels to developers of down-stream libraries and
other expert users.

- interaction with 3rd party extensions / publicity
- recruiting new contributors
- Recruiting people to run sprints
- GSOC/mentoring programs
- Managing the discourse
- [user]/[dev] mailing list moderation


**Event and Meeting planning**

From time to time Matplotlib as an organization has in-person
meetings.
the future and may want to enlist further assistants. The CM is responsible
for Matplotlib's evangelism, outreach, and user support as well as mainitaining
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for community outreach and support, as well as for publicizing what's new and useful in the project.

(I hate the word evangelism)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@story645 Your review came after I merged the PR, but please go ahead and put in a PR with this fix and any other fine-tuning you see.

the venues for conversation with the community.
47 changes: 24 additions & 23 deletions governance.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,9 @@ would be consulted on this decision. If the PL is unable to appoint a successor,
the Steering Council will make a suggestion or suggestions to the Main NumFOCUS
Board. While the Steering Council and Main NumFOCUS Board will work together
closely on the PL selection process, the Main NumFOCUS Board will make the final
decision. The NumFOCUS board may in extenuating circumstances remove the PL
decision. The NumFOCUS board may in extraordinary circumstances remove the PL
from the project.

To ensure the benevolence of the PL, The Project encourages others to fork the
project if they disagree with the overall direction the PL is taking.

Steering Council
----------------
Expand All @@ -126,6 +124,8 @@ ensure, through working with the PL and taking input from the Community, the
long-term well-being of the project, technically, financially, and as a
community.

No Council Members may report to the same person through employment or contracting.

During the everyday project activities, council members participate in all
discussions, code review and other project activities as peers with all other
Contributors and the Community. In these everyday activities, Council Members do
Expand All @@ -147,7 +147,7 @@ situations. In particular, the Council may:
Services for the benefit of the Project and Community.
- Make decisions when regular community discussion doesn’t produce consensus on
an issue in a reasonable time frame.
- Granting or revoking commit rights.
- Grant or revok commit rights.

The steering council will be between 5 and 7 people including the PL. Being on
the steering council is a responsibility, not a recognition of being a long-time
Expand Down Expand Up @@ -175,10 +175,11 @@ a diverse array of backgrounds, viewpoints and talents in our team, which is why
we explicitly do not define code as the sole metric on which council membership
will be evaluated.

When invited to join the Steering Council Contributors are commiting to serve
for 2 years. At the end of the two years they may elect to, with consent of the
rest of the council, re-join the council. If they chose to not re-join the
council the process above is used to recruit new members.
When invited to join the Steering Council Contributors are commiting
to serve for 2 years. At the end of the two years, with the consent
of the rest of the council, may elect to rejoin the council. If they
chose to not re-join the council the process above is used to recruit
new members.

The Steering Council members, other than the PL, will serve in 2 equal classes
whose terms are offset by 1 year. This will help preserve the continuity on the
Expand All @@ -187,7 +188,7 @@ Steering Council over time.
A Steering Council member can step down at anytime. If a Council Member becomes
inactive for a period of 2 months, they will be approached by the PL to see if
they plan on returning to active participation. If not they will be asked to
step down, if the Council Member indicates they intend to be active again but
step down. If the Council Member indicates they intend to be active again but
have not done so after 1 month the Council may vote to remove them.

If a Council Member leaves the council early they may be replaced, using the
Expand All @@ -198,26 +199,27 @@ Each class can fluctuate between 2 and 3 members so long as the total council
size (including the PL) is between 5 and 7. If a class gets too small, an
additional member must be recruited.

All former Council members can be considered for membership again at any time in
All former Council members can be considered for membership again at anytime in
the future, like any other Project Contributor. Retired Council members will be
listed on the project website, acknowledging the period during which they were
active in the Council.

The Council reserves the right to eject current Members, other than the PL, if
they are deemed to be actively harmful to the project’s well-being, and attempts
at communication and conflict resolution have failed, from The Project.
The Council reserves the right to eject anyone, including the Council
Members, from the project's online spaces if they are deemed to be
actively harmful to the project’s well-being, and attempts at
communication and conflict resolution have failed by a super majority vote.

### Conflict of interest

It is expected that the PL, DPLs, and Council Members will be employed at a wide
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below, plural is "conflicts of interest", not "conflict of interests".

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I got all of these?

range of companies, universities and non-profit organizations. Because of this,
it is possible that Members will have conflict of interests. Such conflict of
interests include, but are not limited to:
it is possible that Members will have conflicts of interest. Such conflicts of
interest include, but are not limited to:

- Financial interests, such as investments, employment or contracting work,
outside of The Project that may influence their work on The Project.
- Access to proprietary information of their employer that could potentially
leak into their work with the Project.
- Financial interests, such as investments, employment or contracting work,
outside of The Project that may influence their work on The Project.
- Access to proprietary information of their employer that could potentially
leak into their work with the Project.

All members of the Council, PL included, shall disclose to the rest of the
Council any conflict of interest they may have. Members with a conflict of
Expand Down Expand Up @@ -266,7 +268,7 @@ interactions with NumFOCUS which will include external members.
### Code of Conduct Subcommittee

This committee should be between 3 and 7 people, at least one of whom is on the
steering council and at least one who is not. This committee in responsible for
Steering Council and at least one who is not. This committee in responsible for
fielding and addressing CoC reports that happen within our digital and physical
spaces. They will maintain their own private mailing list and reporting
address. Detailed policy on how to handle CoC will be documented elsewhere.
Expand All @@ -285,8 +287,7 @@ the PL.
DPLs are nominated by Steering Council members and appointed to a 1yr term
(except for Release Manager) from their appointment date by a majority vote of
the Steering council. At each 1yr term a DPL has the option to continue for
another year or step down. The SC can remove a DPL using the same process as
ejecting a Steering Council Member.
another year or step down. The SC can remove a DPL via a super-majority vote..

At the discretion of the SC and PL a DPL position may not be filled in which
case the responsibility devolves back to the PL. The SC can create a new DPL
Expand All @@ -307,7 +308,7 @@ the Matplotlib Code of Conduct.

If a project would like to be hosted on the Matplotlib organization on
GitHub, they can petition the SC and be accepted by a simple majority
vote. A project can leave the organization at any time and can be
vote. A project can leave the organization at anytime and can be
removed from the organization by an 2/3 majority vote of the SC.

Institutional Partners and Funding
Expand Down