Skip to content

Commit e090034

Browse files
committed
Initial adaptation from Jupyter to matplotlib
1 parent 75b9682 commit e090034

File tree

4 files changed

+158
-162
lines changed

4 files changed

+158
-162
lines changed

governance.md

+60-76
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,43 @@ The official version of this document, along with a list of
44
individuals and institutions in the roles defined in the governance
55
section below, is contained in The Project Governance Repository at:
66

7-
[https://github.com/jupyter/governance](https://github.com/jupyter/governance)
7+
[https://github.com/matplotlib/governance](https://github.com/matplotlib/governance)
88

99
The Project
1010
===========
1111

12-
The Jupyter/IPython Project (The Project) is an open source software project
13-
affiliated with the 501c3 NumFocus Foundation. The goal of The Project is to
14-
develop open source software and deploy open and public websites and services
15-
for reproducible, exploratory and interactive computing. The Software developed
16-
by The Project is released under the BSD (or similar) open source license,
17-
developed openly and hosted in public GitHub repositories under the
18-
[IPython GitHub organization](https://github.com/ipython) and the
19-
[Jupyter GitHub organization](https://github.com/jupyter). Examples of
20-
Project Software include the IPython Notebook, the IPython Terminal,
21-
IPython.parallel, the Jupyter Hub, etc. The Services run by the
22-
Project consist of public websites and web-services that are hosted
23-
under the jupyter.org or ipython.org domains. The Services Examples of
24-
Project Services include the Jupyter and IPython websites
25-
([http://jupyter.org](http://jupyter.org) and
26-
[http://ipython.org](http://ipython.org)), nbviewer
27-
([https://nbviewer.ipython.org](https://nbviewer.ipython.org)) and the
28-
Jupyter coLaboratory
29-
([https://colaboratory.jupyter.org](https://colaboratory.jupyter.org)).
12+
The Matplotlib Project (The Project) is an open source software
13+
project affiliated with the 501c3 NumFocus Foundation. The goal of The
14+
Project is to develop open source software and deploy open and public
15+
websites and services for data visualization. The Software developed
16+
by The Project is released under the BSD (or similar permissive) open
17+
source license, developed openly and hosted in public GitHub
18+
repositories under the
19+
[Matplotlib GitHub organization](https://github.com/matplotlib). Examples
20+
of Project Software include the matplotlib library for data
21+
visualization and associated extensions and dependencies. The
22+
Services run by the Project consist of public websites and
23+
web-services that are hosted under the matplotlib.org
24+
domain.
3025

3126
The Project is developed by a team of distributed developers, called
3227
Contributors. Contributors are individuals who have contributed code,
33-
documentation, designs or other work to one or more Project repositories.
34-
Anyone can be a Contributor. Contributors can be affiliated with any legal
35-
entity or none. Contributors participate in the project by submitting,
36-
reviewing and discussing GitHub Pull Requests and Issues and participating in
37-
open and public Project discussions on GitHub, Google+, Hackpad, Gitter chat
38-
rooms and mailing lists. The foundation of Project participation is openness
39-
and transparency.
28+
documentation, designs or other work to one or more Project
29+
repositories. Contributors are also known by the name "Matplotlib
30+
Development Team (MDT)" in the project license. Anyone can be a
31+
Contributor. Contributors can be affiliated with any legal entity or
32+
none. Contributors participate in the project by submitting, reviewing
33+
and discussing GitHub Pull Requests and Issues and participating in
34+
open and public Project discussions on GitHub, Google+, Hackpad,
35+
Gitter chat rooms and mailing lists. The foundation of Project
36+
participation is openness and transparency.
4037

41-
Here is a list of the current Contributors to the main IPython repository:
38+
Here is a list of the current Contributors to the main Matplotlib repository:
4239

43-
[https://github.com/ipython/ipython/graphs/contributors](https://github.com/ipython/ipython/graphs/contributors)
40+
[https://github.com/matplotlib/matplotlib/graphs/contributors](https://github.com/matplotlib/matplotlib/graphs/contributors)
4441

4542
There are also many other Contributors listed in the logs of other repositories of
46-
the Jupyter and IPython projects.
43+
the project.
4744

4845
The Project Community consists of all Contributors and Users of the Project.
4946
Contributors work on behalf of and are responsible to the larger Project
@@ -68,26 +65,27 @@ The foundations of Project governance are:
6865
- Active Contribution
6966
- Institutional Neutrality
7067

71-
Traditionally, Project leadership was provided by a BDFL (Fernando Perez) and
72-
subset of Contributors, called Core Developers, whose active and consistent
73-
contributions have been recognized by their receiving “commit rights” to the
74-
Project GitHub repositories. In general all Project decisions are made through
75-
consensus among the Core Developers with input from the Community. The BDFL
76-
can, but rarely chooses to, override the Core Developers and make a final
77-
decision on a matter.
78-
79-
While this approach has served us well, as the Project grows and faces more
80-
legal and financial decisions and interacts with other institutions, we see a
81-
need for a more formal governance model. Moving forward The Project leadership
82-
will consist of a BDFL and Steering Council. We view this governance model as
83-
the formalization of what we are already doing, rather than a change in
84-
direction.
68+
Project leadership was provided by the original author, John
69+
D. Hunter. Since his passing in 2012, leadership has been provided by
70+
a subset of Contributors, called Core Developers, whose active and
71+
consistent contributions have been recognized by their receiving
72+
“commit rights” to the Project repositories. In general all Project
73+
decisions are made through consensus among the Core Developers with
74+
input from the Community.
75+
76+
While this approach has served us well, as the Project grows and faces
77+
more legal and financial decisions and interacts with other
78+
institutions, we see a need for a more formal governance model. Moving
79+
forward The Project leadership will consist of a Steering Council with
80+
the power to appoint final decisions to an individual. We view this
81+
governance model as the formalization of what we are already doing,
82+
rather than a change in direction.
8583

8684
BDFL
8785
----
8886

8987
The Project will have a BDFL (Benevolent Dictator for Life), who is currently
90-
Fernando Perez. As Dictator, the BDFL has the authority to make all final
88+
Thomas Caswell. As Dictator, the BDFL has the authority to make all final
9189
decisions for The Project. As Benevolent, the BDFL, in practice chooses to
9290
defer that authority to the consensus of the community discussion channels and
9391
the Steering Council (see below). It is expected, and in the past has been the
@@ -150,7 +148,7 @@ quality and quantity, and sustained over at least one year. Potential Council
150148
Members are nominated by existing Council members and voted upon by the
151149
existing Council after asking if the potential Member is interested and willing
152150
to serve in that capacity. The Council will be initially formed from the set of
153-
existing Core Developers who, as of late 2014, have been significantly active
151+
existing Core Developers who, as of late 2016, have been significantly active
154152
over the last year.
155153

156154
When considering potential Members, the Council will look at candidates with a
@@ -225,26 +223,27 @@ most of the time, and explicit BDFL intervention is sought only if the
225223
committee disagrees with that delegate’s decision and no resolution is possible
226224
within the team. This is different from a BDFL delegate for a specific decision
227225
(or a recusal situation), where the BDFL is literally giving up his/her
228-
authority to someone else in full. It’s more like what Linus Torvalds uses with his
229-
“lieutenants” model.
226+
authority to someone else in full.
230227

231228
### NumFOCUS Subcommittee
232229

233230
The Council will maintain one narrowly focused subcommittee to manage its
234231
interactions with NumFOCUS.
235232

236-
- The NumFOCUS Subcommittee is comprised of 5 persons who manage project
233+
- The NumFOCUS Subcommittee is comprised of 4 persons who manage project
237234
funding that comes through NumFOCUS. It is expected that these funds will
238235
be spent in a manner that is consistent with the non-profit mission of
239236
NumFOCUS and the direction of the Project as determined by the full
240237
Council.
241238
- This Subcommittee shall NOT make decisions about the direction, scope or
242239
technical direction of the Project.
243-
- This Subcommittee will have 5 members, 4 of whom will be current Council
244-
Members and 1 of whom will be external to the Steering Council. No more
245-
than 2 Subcommitee Members can report to one person through employment or
246-
contracting work (including the reportee, i.e. the reportee + 1 is the
247-
max). This avoids effective majorities resting on one person.
240+
- This Subcommittee will have 4 members, at least 2 of which are
241+
also on the Steering Council and 1 of whom will be external to the
242+
Steering Council. No Subcommitee Member can report to the same
243+
person as any other member of the Subcommittee through employment
244+
or contracting work (including the reportee, i.e. the reportee + 1
245+
is the max). This avoids effective majorities resting on one
246+
person.
248247

249248

250249
Institutional Partners and Funding
@@ -275,7 +274,7 @@ of their official duties. To state this another way, the only way for
275274
an Institutional Partner to influence the project is by actively
276275
contributing to the open development of the project, on equal terms
277276
with any other member of the community of Contributors and Council
278-
Members. Merely using Jupyter/IPython Software or Services in an
277+
Members. Merely using Matplotlib Software or Services in an
279278
institutional context does not allow an entity to become an
280279
Institutional Partner. Financial gifts do not enable an entity to
281280
become an Institutional Partner. Once an institution becomes eligible
@@ -293,42 +292,27 @@ building proprietary products and services that leverage Project Software and
293292
Services. Funding acquired by Institutional Partners to work on The Project is
294293
called Institutional Funding. However, no funding obtained by an Institutional
295294
Partner can override The Project BDFL and Steering Council. If a Partner has
296-
funding to do Jupyter/IPython work and the Council decides to not pursue that
295+
funding to do Matplotlib work and the Council decides to not pursue that
297296
work as a project, the Partner is free to pursue it on their own. However in
298297
this situation, that part of the Partner’s work will not be under the
299-
Jupyter/IPython umbrella and cannot use the Project trademarks in a way that
298+
Matplotlib umbrella and cannot use the Project trademarks in a way that
300299
suggests a formal relationship.
301300

302-
To acknowledge institutional contributions, there are two level of Institutional
303-
Partners, with associated benefits:
301+
To acknowledge institutional contributions, Institutional Partners
302+
receive the following benefits:
304303

305-
**Tier 1** = an institution with at least one Institutional Council Member
306-
307-
- Acknowledged on the Jupyter/IPython websites, in talks and T-shirts.
308-
- Ability to acknowledge their own funding sources on the Jupyter/IPython
304+
- Acknowledged on the Matplotlib websites, in talks and T-shirts.
305+
- Ability to acknowledge their own funding sources on the Matplotlib
309306
websites, in talks and T-shirts.
310-
- Unlimited participation in the annual Institutional Partners Workshop, held
311-
during the (planned) annual Jupyter Project Retreat. This allows the
312-
Institutional Partner to invite as many of their own employees and funding
313-
sources and collaborators as they want, even if they are not project
314-
Contributors or Council Members.
315307
- Ability to influence the project through the participation of their Council
316308
Member.
317-
- Council Members are invited to the bi-annual Jupyter/IPython Developer Meeting.
318-
319-
**Tier 2** = an institution with at least one Institutional Contributor
320-
321-
- Same benefits as Tier 1 level Partners, but:
322-
- Only Institutional Contributors are invited to the Institutional Partners
323-
Workshop and bi-annual Jupyter/IPython Developer Meeting.
324-
325309

326310
Changing the Governance Documents
327311
=================================
328312

329313
Changes to the governance documents are submitted via a GitHub pull
330314
request to The Project's governance documents GitHub repository at
331-
[https://github.com/jupyter/governance](https://github.com/jupyter/governance).
315+
[https://github.com/matplotlib/governance](https://github.com/matplotlib/governance).
332316
The pull request is then refined in response to public comment and
333317
review, with the goal being consensus in the community. After this
334318
open period, a Steering Council Member proposes to the Steering

newsubprojects.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
**This does not apply to matplotlib and still needs to be adapted from
2+
Jupyter.**
3+
14
# New Subproject Process
25

36
Project Jupyter is organized as a set of Subprojects that are each a GitHub repository with a
@@ -65,7 +68,7 @@ following proposal process will be used:
6568

6669
1. The Subproject team should submit a pull request against the
6770
[jupyter/enhancement-proposals](https://github.com/jupyter/enhancement-proposals) repository
68-
with an enhancement proposal for including the Subproject in the main Jupyter organization.
71+
with an enhancement proposal for including the Subproject in the main Jupyter organization.
6972
The enhancement proposal should describe how the Subproject meets each of the above criteria.
7073
2. The proposal for incorporation will be discussed by the community using that pull request.
7174
3. A recommendation will be made by the consensus of the Steering Council (SC).

people.md

+10-39
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,23 @@
22

33
## Benevolent Dictator for Life
44

5-
Fernando Perez is the Benevolent Dictator for Life (BDFL).
5+
Thomas Caswell is the Benevolent Dictator for Life (BDFL).
66

77
## Steering Council
88

9-
- Brian Granger
10-
- Damian Avila
11-
- Fernando Perez
12-
- Jason Grout
13-
- Jessica Hamrick
14-
- Jonathan Frederic
15-
- Kyle Kelley
16-
- Matthias Bussonnier
17-
- Min Ragan-Kelley
18-
- Sylvain Corlay
19-
- Thomas Kluyver
9+
TBD
2010

2111
### NumFOCUS Subcommittee
2212

23-
- Brian Granger
24-
- Fernando Perez
25-
- Matthias Bussonnier
26-
- Stefan van der Walt (non-council member)
27-
- Thomas Kluyver
28-
29-
## Institutional Partners
30-
31-
### Tier 1
32-
33-
Institutional Council members are noted with each institution.
34-
35-
- [Bloomberg](http://www.bloomberg.com/) (Jason Grout, Sylvain Corlay)
36-
- [Cal Poly](http://www.calpoly.edu/) (Brian Granger)
37-
- [Continuum Analytics](http://continuum.io/) (Damian Avila)
38-
- [UC Berkeley](http://www.berkeley.edu/) (Fernando Perez)
39-
- [Rackspace](http://www.rackspace.com/) (Kyle Kelley)
40-
41-
### Tier 2
42-
43-
- [Google](https://www.google.com/)
13+
- Thomas Caswell
14+
- Michael Droettboom
15+
- Phil Elson
16+
- Eric Firing
4417

4518
## New Steering Council Members
4619

4720
When a new member joins the steering council, the following things are done:
48-
- Announce the new member on the Jupyter mailing list
49-
- Make the new member an org owner for IPython and Jupyter Github organizations
50-
- Add the new member to the list in the governance repo, and if appropriate, add their affiliation to the institutional partner list (https://github.com/jupyter/governance/blob/master/people.md)
51-
- Add the new member to the list of steering council members on the website (https://github.com/jupyter/jupyter.github.io/blob/master/about.html)
52-
53-
21+
- Announce the new member on the Matplotlib-Announce mailing list
22+
- Make the new member an org owner for Matplotlib Github organization
23+
- Add the new member to the list in the governance repo, and if appropriate, add their affiliation to the institutional partner list (https://github.com/matplotlib/governance/blob/master/people.md)
24+
- Add the new member to the list of steering council members on the website

0 commit comments

Comments
 (0)