Skip to content

Commit ae42666

Browse files
Merge pull request #2614 from Saransh-cpp/numfocus
NumFOCUS onboarding GitHub requirements
2 parents d95a103 + db7f4f4 commit ae42666

File tree

2 files changed

+156
-0
lines changed

2 files changed

+156
-0
lines changed

GOVERNANCE.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# PyBaMM Governance
2+
3+
The following contains the formal governance structure of the PyBaMM
4+
project. This document clarifies how decisions are made with respect
5+
to community interactions, including the relationship between
6+
open source development and work that may be funded by for-profit
7+
and non-profit entities.
8+
9+
## Code of Conduct
10+
11+
The PyBaMM community strongly values inclusivity and diversity. Everyone
12+
should treat others with the utmost respect. Everyone in the community
13+
must adhere to the
14+
[Code of Conduct](https://github.com/pybamm-team/PyBaMM/blob/develop/CODE-OF-CONDUCT.md) which
15+
reflects the values of our community. Violations of the code should be
16+
reported to members of the steering council, where the offenses will be
17+
handled on a case-by-case basis.
18+
19+
## Current Steering Council
20+
21+
- [Ferran Brosa Planella](https://www.brosaplanella.xyz)
22+
- [Saransh Chopra](https://saransh-cpp.github.io)
23+
- Scott Marquis
24+
- [Gregory Offer](https://www.imperial.ac.uk/people/gregory.offer)
25+
- [Valentin Sulzer](https://sites.google.com/view/valentinsulzer)
26+
27+
## Advisory Committee
28+
29+
TBA
30+
31+
# Governing Rules and Duties
32+
33+
## Steering Council
34+
35+
The Project has a Steering Council that consists of Project
36+
Contributors who have produced contributions that are substantial in
37+
quality and quantity, and sustained over at least one year. The role
38+
of the Council is to provide active leadership for the Project in
39+
making everyday decisions on technical and administrative issues,
40+
through working with and taking input from the Community.
41+
42+
During the everyday project activities, Council Members participate in
43+
all discussions, code review and other project activities as peers
44+
with all other Contributors and the Community. In these everyday
45+
activities, Council Members do not have any special power or privilege
46+
through their membership on the Council. However, it is expected that
47+
because of the quality and quantity of their contributions and their
48+
expert knowledge of the Project Software and Services that Council
49+
Members will provide useful guidance, both technical and in terms of
50+
project direction, to potentially less experienced Contributors.
51+
52+
The Steering Council and its Members play a special role in certain
53+
situations. In particular, the Council may:
54+
55+
- Make decisions about the overall scope, vision and direction of
56+
the project.
57+
- Make decisions about strategic collaborations with other
58+
organizations or individuals.
59+
- Make decisions about specific technical issues, features, bugs and
60+
pull requests. They are the primary mechanism of guiding the code
61+
review process and merging pull requests.
62+
- Make decisions about the Services that are run by the Project and
63+
manage those Services for the benefit of the Project and Community.
64+
- Make decisions when regular community discussion does not produce
65+
consensus on an issue in a reasonable time frame.
66+
67+
Steering Council decisions are taken by simple majority, with the
68+
exception of changes to the Governance Documents which follow the
69+
procedure in the section 'Changing the Governance Documents'.
70+
71+
### Steering Council membership
72+
73+
To become eligible for being a Steering Council Member, an individual
74+
must be a Project Contributor who has produced contributions that are
75+
substantial in quality and quantity, and sustained over at least one
76+
year. Potential Council Members are nominated by existing Council
77+
Members or by the Community and voted upon by the existing Council
78+
after asking if the potential Member is interested and willing to
79+
serve in that capacity.
80+
81+
When considering potential Members, the Council will look at
82+
candidates with a comprehensive view of their contributions. This will
83+
include but is not limited to code, code review, infrastructure work,
84+
mailing list and chat participation, community help/building,
85+
education and outreach, design work, etc. We deliberately do not
86+
set arbitrary quantitative metrics to avoid encouraging behavior
87+
that plays to the metrics rather than the project's overall well-being.
88+
We want to encourage a diverse array of backgrounds, viewpoints and
89+
talents in our team, which is why we explicitly do not define code as
90+
the sole metric on which Council membership will be evaluated.
91+
92+
If a Council Member becomes inactive in the project for a period of
93+
one year, they will be considered for removal from the Council. Before
94+
removal, the inactive Member will be approached by another Council
95+
member to ask if they plan on returning to active participation. If
96+
not they will be removed immediately upon a Council vote. If they plan
97+
on returning to active participation soon, they will be given a grace
98+
period of one year. If they do not return to active participation
99+
within that time period they will be removed by vote of the Council
100+
without further grace period. All former Council members can be
101+
considered for membership again at any time in the future, like any
102+
other Project Contributor. Retired Council members will be listed on
103+
the project website, acknowledging the period during which they were
104+
active in the Council.
105+
106+
The Council reserves the right to eject current Members if they are
107+
deemed to be actively harmful to the Project's well-being, and
108+
attempts at communication and conflict resolution have failed.
109+
110+
## Fiscal Decisions
111+
112+
All fiscal decisions are made by the steering council to ensure any
113+
funds are spent in a manner that furthers the mission of the Project.
114+
Fiscal decisions require majority approval by acting steering council
115+
members.
116+
117+
## Advisory Committee
118+
119+
The Project will consider setting up an Advisory Committee that works to ensure the long-term
120+
well-being of the Project. The role of the Committee will be to advise the Steering Council.
121+
122+
## Conflict of interest
123+
124+
It is expected that Steering Council and Advisory Committee Members
125+
will be employed at a wide range of companies, universities and non-profit
126+
organizations. Because of this, it is possible that Members will have
127+
conflicts of interest. Such conflicts of interest include, but are not
128+
limited to:
129+
130+
- Financial interests, such as investments, employment or contracting
131+
work, outside of the Project that may influence their work on the
132+
Project.
133+
- Access to proprietary information of their employer that could
134+
potentially leak into their work with the Project.
135+
136+
All members of the Council and Committee shall disclose any conflict of
137+
interest they may have. Members with a conflict of interest in a
138+
particular issue may participate in Council discussions on that issue,
139+
but must recuse themselves from voting on the issue.

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
<div align="center">
66

7+
[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](http://numfocus.org)
78
[![Build](https://github.com/pybamm-team/PyBaMM/workflows/PyBaMM/badge.svg)](https://github.com/pybamm-team/PyBaMM/actions?query=workflow%3APyBaMM+branch%3Adevelop)
89
[![readthedocs](https://readthedocs.org/projects/pybamm/badge/?version=latest)](https://pybamm.readthedocs.io/en/latest/?badge=latest)
910
[![codecov](https://codecov.io/gh/pybamm-team/PyBaMM/branch/main/graph/badge.svg)](https://codecov.io/gh/pybamm-team/PyBaMM)
@@ -33,6 +34,22 @@ of differential equations,
3334
Together, these enable flexible model definitions and fast battery simulations, allowing users to
3435
explore the effect of different battery designs and modeling assumptions under a variety of operating scenarios.
3536

37+
[//]: # "numfocus-fiscal-sponsor-attribution"
38+
39+
PyBaMM uses an [open governance model](./GOVERNANCE.md)
40+
and is fiscally sponsored by [NumFOCUS](https://numfocus.org/). Consider making
41+
a [tax-deductible donation](https://numfocus.org/donate-for-pybamm) to help the project
42+
pay for developer time, professional services, travel, workshops, and a variety of other needs.
43+
44+
<div align="center">
45+
<a href="https://numfocus.org/project/pybamm">
46+
<img height="60px"
47+
src="https://raw.githubusercontent.com/numfocus/templates/master/images/numfocus-logo.png"
48+
align="center">
49+
</a>
50+
</div>
51+
<br>
52+
3653
## 💻 Using PyBaMM
3754

3855
The easiest way to use PyBaMM is to run a 1C constant-current discharge with a model of your choice with all the default settings:

0 commit comments

Comments
 (0)