Skip to content

Commit 011624a

Browse files
authored
[approved] feat: add Executive Council page to handbook
feat: add Executive Council page to handbook
2 parents bf70816 + 398950d commit 011624a

File tree

14 files changed

+339
-67
lines changed

14 files changed

+339
-67
lines changed

community/events/intro.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
(pyos-events)=
12
# Meetings & Events
23

34
## pyOpenSci meetings

community/index.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,9 @@ GitHub permissions <github/permissions>
3434

3535
:::{toctree}
3636
:maxdepth: 2
37+
:caption: Translation & Internationalization workflows
3738

38-
:caption: Translation workflows
39-
40-
Events <translation>
39+
Translation process <translation>
4140
:::
4241

4342
:::{toctree}

community/translation.md

+14-9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
(translation)=
2+
13
# pyOpenSci GitHub processes for translation teams
24

35
This document outlines the process for managing translation of pyOpenSci content in our [python-package-guide](https://github.com/pyOpenSci/python-package-guide) repository. It covers:
@@ -13,16 +15,17 @@ This document outlines the process for managing translation of pyOpenSci content
1315
* All questions, errors, and suggestions must be addressed before the PR is merged.
1416

1517
These are the checks a reviewer should incorporate into their review.
18+
1619
* Verify that the translation can be built in the PR branch without warnings
17-
* Example for Spanish translation: `nox -s docs-live-lang -- es`
18-
* The command can be used for any language by swapping out the language tag at the end. The current list of languages that are being actively worked on can be found in the [Packaging Guide noxfile.py](https://github.com/pyOpenSci/python-package-guide/blob/d0c05fac6c28097e60b7206e1ba5314ab869804c/noxfile.py#L45) file. A complete list of Sphinx language tags can be [found here](https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language).
20+
* Example for Spanish translation: `nox -s docs-live-lang -- es`
21+
* The command can be used for any language by swapping out the language tag at the end. The current list of languages that are being actively worked on can be found in the [Packaging Guide noxfile.py](https://github.com/pyOpenSci/python-package-guide/blob/d0c05fac6c28097e60b7206e1ba5314ab869804c/noxfile.py#L45) file. A complete list of Sphinx language tags can be [found here](https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language).
1922
* Go through the file and ensure that the translation makes sense, using the following checks:
20-
* There are no typos
21-
* Technical terms can be easily understood
22-
* Sentence structure makes sense for the target language
23+
* There are no typos
24+
* Technical terms can be easily understood
25+
* Sentence structure makes sense for the target language
2326
* Use suggestions for any errors that are found. This has two purposes:
24-
* It makes it easier for the contributor to make changes
25-
* It gives credit to the PR reviewer as a coauthor in the final commit to main
27+
* It makes it easier for the contributor to make changes
28+
* It gives credit to the PR reviewer as a coauthor in the final commit to main
2629

2730
## GitHub infrastructure for the translation teams
2831

@@ -31,16 +34,18 @@ pyOpenSci will create and maintain a team for each language using CODEOWNERS fil
3134
The current translation teams consist of:
3235

3336
### Spanish
37+
3438
* [Felipe Moreno](https://github.com/flpm)
3539
* [Roberto Pastor Muela](https://github.com/RobPasMue)
3640

3741
### Japanese
42+
3843
* [Tetsuo Koyama](https://github.com/tkoyama010)
3944
* [Kozo Nishida](https://github.com/kozo2)
4045

4146
Current translation teams can expand their teams and add additional members by updating the CODEOWNERS file.
4247

4348
## Additional automations for consideration
4449

45-
- Use CI to automatically tag the PR with the translation and the proper language tags.
46-
- Use CI to automatically keep the translation files updated once a translation has been released (work in progress [PR #397](https://github.com/pyOpenSci/python-package-guide/pull/397))
50+
* Use CI to automatically tag the PR with the translation and the proper language tags.
51+
* Use CI to automatically keep the translation files updated once a translation has been released (work in progress [PR #397](https://github.com/pyOpenSci/python-package-guide/pull/397))

community/zenodo.md

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
(pyos-zenodo)=
12
# Zenodo
23

34
:::{admonition} How to cite pyOpenSci

governance/executive-council.md

+262
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,262 @@
1+
(pyos-executive-council)=
2+
3+
# pyOpenSci Executive Council
4+
5+
The pyOpenSci Executive Council (EC) has four primary functions:
6+
7+
1. **Guides the Organization**: The Executive Council defines and directs pyOpenSci’s high-level [mission, vision, and values](mission-values) and sets its strategic direction.
8+
9+
2. **Advocates for pyOpenSci**: The Executive Council serves as an advocate and ambassador for the organization, leveraging members’ networks to enhance its reputation and support fundraising efforts.
10+
11+
3. **Provides Strategic Insight**: The Executive Council offers perspective and guidance on major strategic decisions to ensure the organization’s long-term success.
12+
13+
4. **Holds the [Executive Director](executive-director) accountable**: The Executive Council holds the Executive Director accountable while also providing high-level strategic and financial guidance and oversight.
14+
15+
The Executive Director is currently a voting member of the Executive Council for items unrelated to their salary and accountability.
16+
17+
The Executive Council holds broad expertise in building and running a nonprofit organization. It is complemented by the [Advisory Council](advisory-council), which offers domain-specific expertise, guidance, and input.
18+
19+
## How the Executive Council works
20+
21+
The pyOpenSci Executive Council operates through open discussions, collaborative
22+
decision-making, and a commitment to transparency. By leveraging diverse
23+
perspectives, the Council ensures that its guidance aligns with the organization’s
24+
[mission, vision, and values](mission-values) while meeting the needs of the
25+
growing pyOpenSci community.
26+
27+
The Council employs flexible and adaptive practices to ensure decisions are made efficiently while fostering thoughtful
28+
dialogue and collective alignment.
29+
30+
## Executive Council roles & responsibilities
31+
32+
Each Executive Council (EC) member dedicates no more than **four to six hours per month** to pyOpenSci activities, including meeting attendance. Executive Council members are expected to fulfill the following responsibilities:
33+
34+
- Attend at least 80% of monthly Executive Council meetings.
35+
- Participate in asynchronous commitments, which include:
36+
- Suggesting agenda items for meetings.
37+
- Communicating with the Executive Director (ED) via Slack.
38+
- Providing timely reviews of materials and documents.
39+
- Connecting the Executive Director with potential funding opportunities.
40+
- Evaluate the performance of the Executive Director every year.
41+
- Approve expense reports.
42+
- Take meeting minutes and ensure they are [published in this Handbook](ec-minutes).
43+
44+
The Executive Council is led by the Executive Council Chair, who approves the Executive Director’s time off requests and sick leave.
45+
46+
:::{note}
47+
While travel is not explicitly required, members may have opportunities to attend meetings on behalf of pyOpenSci; pyOpenSci may support this travel as necessary.
48+
:::
49+
50+
## How the Executive Council makes decisions
51+
52+
:::{important}
53+
All decisions made by the Executive Council must align with the legal
54+
obligations and policies of pyOpenSci’s fiscal sponsor—[Community Initiatives](https://communityinitiatives.org/).
55+
:::
56+
57+
The Executive Council must review and approve decisions affecting the organization's fiduciary aspects. This includes the mission/vision/values, governance policies, budget, Executive Director compensation, and significant new strategic initiatives. The Executive Council also supports the Executive Director by serving as a resource for input when needed.
58+
59+
All decisions made by the Executive Council must align with the legal
60+
obligations and policies of pyOpenSci’s fiscal sponsor—[Community Initiatives](https://communityinitiatives.org/).
61+
This ensures compliance with overarching governance structures and financial
62+
responsibilities.
63+
64+
### Decisions requiring an Executive Council vote
65+
66+
The Executive Council (EC) defines and directs pyOpenSci’s strategy and primary
67+
organizational direction. The EC approves significant decisions
68+
that strongly impact pyOpenSci’s strategy, governance, or financial well-being.
69+
Generally, items with legal or fiduciary implications require a formal vote,
70+
with the outcome documented in this handbook's Executive Council [meeting minutes](ec-minutes) section.
71+
72+
The EC will vote on the following:
73+
74+
- **Annual budget**: Approval of the organization's yearly budget.
75+
- **Mission, vision, and values**: Decisions related to pyOpenSci’s core principles.
76+
- **Governance and policy changes**: Approval of changes to governance structures,
77+
including updates to the Code of Conduct.
78+
- **Significant budget deviations**: Decisions involving major deviations from the
79+
approved annual budget.
80+
- **Financial health implications**: Any decision with substantial implications for
81+
pyOpenSci’s financial stability.
82+
- **Strategic direction**: Approval of major changes to organizational strategy and
83+
development roadmaps.
84+
- **Executive director’s salary**: The EC independently determines the salary of the
85+
Executive Director.
86+
87+
:::note
88+
The Executive Director is authorized to make all other decisions. However, the
89+
Executive Council serves as a resource for the Executive Director and may provide
90+
feedback and input upon request.
91+
:::
92+
93+
## How we select Executive Council members
94+
95+
The Executive Council and the Executive Director are responsible for selecting and appointing new council members.
96+
This process ensures the Council has the skills and expertise necessary to meet
97+
the evolving pyOpenSci needs.
98+
99+
### Executive Council selection process steps
100+
101+
1. **Identify organization needs**:
102+
- The Council first evaluates its current composition to identify areas where
103+
additional expertise, perspectives, or skills could be useful to support the
104+
organization’s mission and strategy.
105+
106+
2. **Identify Candidates**:
107+
- Potential candidates are identified based on their experience, expertise,
108+
and alignment with pyOpenSci’s mission, vision, and values. This may include
109+
leaders in the open science community, individuals with financial or
110+
governance expertise, or others with relevant nonprofit governance skills.
111+
112+
3. **Review and nominate the new member**:
113+
- Candidates are discussed and nominated by current Council members during a
114+
meeting or through the Executive Council Slack channel. After nomination, the Executive Director
115+
will contact the candidate to see if they are interested/available.
116+
117+
5. **Onboard the new candidate**:
118+
- Once approved, new members are onboarded following the onboarding process
119+
outlined in this document.
120+
121+
### Terms and evaluation
122+
123+
- Executive Council members are expected to serve for 2–3 years.
124+
- At the end of each 2-year term, members may choose to step down or renew their
125+
commitment based on mutual agreement with the Council.
126+
127+
As needed, the Executive Council may conduct periodic evaluations to ensure its composition continues
128+
to meet the organization’s needs.
129+
130+
### Decision-making process
131+
132+
The topics above require a motion and a vote for approval. Motions and votes can be made in Executive Council meetings or via email, Slack of GitHub. Motions and votes will be noted in the Executive Council meeting minutes.
133+
134+
:::{admonition} Executive Council Approval
135+
:class: important
136+
137+
The above governance for the Executive Council was last updated, voted on, and approved on **23 January 2025**. All content below this section can be modified as needed and does not require a vote.
138+
:::
139+
140+
## Executive Council operations
141+
142+
### Collaboration between the Executive Director and the Executive Council
143+
144+
The Executive Director may request feedback
145+
from the Executive Council on significant or public-facing decisions; these decisions do not require a formal vote. These discussions generally
146+
occur in the **executive-council** Slack channel to ensure
147+
collaborative input. Examples include:
148+
149+
- Significant public-facing changes to the pyOpenSci website.
150+
- Operational policies for staff (unless they carry significant financial implications).
151+
- Strategic decisions about pursuing proposals or writing grants.
152+
- Substantial changes to pyOpenSci programs.
153+
154+
By maintaining open communication, the Executive Council and Executive Director ensure that pyOpenSci’s
155+
decisions align with its mission and strategic goals.
156+
157+
### Lazy consensus for decisions that don't require a vote
158+
159+
Lazy consensus is applied for decisions such as those listed above that do not require a formal vote.
160+
161+
Lazy consensus means that decisions are approved by default unless a member of
162+
the Executive Council explicitly objects within a predefined period.
163+
This allows decisions to move forward efficiently while providing an
164+
opportunity for discussion.
165+
166+
When objections are raised, further discussion occurs. This ensures decisions reflect the collective agreement of the Council
167+
while minimizing unnecessary delays.
168+
169+
### How the Executive Council meets and communicates
170+
171+
#### Monthly meetings
172+
173+
The Executive Council holds **monthly meetings** (typically 1.5 hours) to discuss key topics, review updates, and make decisions by consensus. During these meetings, the Executive Director (ED) provides updates on the organization’s development, growth, and operations and may request feedback on specific issues. This time is also used for strategic planning and discussion.
174+
175+
During these meetings, Council members take notes. These notes are summarized and published in the [Executive Council Minutes section of this Handbook](https://github.com/pyOpenSci/handbook/tree/main/reference/meeting-notes/executive-council). Once the notes are merged, they are [publicly available in this Handbook](https://www.pyopensci.org/handbook/reference/meeting-notes/executive-council/intro.html).
176+
177+
**Ad hoc Executive Council meetings** are scheduled as needed to address pressing issues.
178+
179+
**Executive Director--Executive Council Chair meetings:** The Executive Director also meets regularly with the pyOpenSci Board Chair to ensure alignment on key issues and strategic direction.
180+
181+
### Onboarding and offboarding Executive Council members
182+
183+
The onboarding and offboarding of Executive Council (EC) members ensure:
184+
185+
- smooth transitions,
186+
- that new members are set up for success and
187+
- that departing members are appropriately transitioned out of their roles.
188+
189+
#### Onboarding a new Executive Council member
190+
191+
When a new member joins the Executive Council, the following steps should be
192+
completed to integrate them into the team:
193+
194+
1. **Access to tools and resources**:
195+
- Add the new member to the pyOpenSci Executive Council shared [Google Drive](google-drive).
196+
This drive is where we share meeting notes,
197+
agendas, budgets and other resources.
198+
- Add the new member to the Executive Council Slack channel, the primary
199+
communication platform for the Council.
200+
201+
2. **Orientation**:
202+
- Provide a link to this Handbook, which outlines the Council’s
203+
responsibilities, decision-making processes, and operational policies.
204+
- Schedule an initial orientation meeting if needed, to familiarize the new member
205+
with pyOpenSci’s mission, vision, values, and ongoing initiatives.
206+
207+
3. **Notifications**:
208+
- Notify the pyOpenSci's Fiscal Sponsor (Community Initiatives) of any changes in roles
209+
that impact the chair position or budget oversight responsibilities.
210+
211+
4. **Welcome and integration**:
212+
- Introduce the new member to the Executive Council during a meeting and to the pyOpenSci community through Slack
213+
announcement. Highlight the new member's expertise and how it complements the community and Executive Council’s needs.
214+
215+
#### Offboarding an Executive Council member
216+
217+
When a member leaves the Executive Council, the following steps should be taken
218+
to ensure a smooth transition:
219+
220+
- **Remove Access**:
221+
- Remove the departing member from the pyOpenSci Executive Council shared
222+
Google Drive to ensure that sensitive information remains secure.
223+
- Remove the member from the Executive Council Slack channel.
224+
225+
2. **Notifications**:
226+
- Inform the Fiscal Sponsor (Community Initiatives) of any changes to the
227+
chair position or budget oversight responsibilities caused by the departure.
228+
229+
3. **Knowledge transfer**:
230+
- If the departing member held specific responsibilities or roles (e.g.,
231+
chair, budget oversight), ensure that these responsibilities are transitioned
232+
to another member of the Council.
233+
4. **Acknowledgment and thanks**:
234+
- Publicly thank the departing member for their contributions to pyOpenSci,
235+
either during a meeting or through a Slack message. Celebrate their impact
236+
on the organization and its mission.
237+
238+
By following these steps, pyOpenSci ensures a seamless transition for incoming
239+
and outgoing members, maintaining stability and continuity in its governance
240+
practices.
241+
242+
### Communication platforms & tools
243+
244+
#### Slack: primary communication platform
245+
246+
The **[Executive Council Slack channel](pyos-slack)** is the primary tool for communication between monthly meetings. All updates, discussions, and requests for input happen here; email is rarely used for EC communications.
247+
EC members are expected to check Slack semi-regularly to stay informed.
248+
249+
- **Feedback requests:** It is understood that EC members have jobs and lives outside of their EC responsibilities. As such, when the Executive Director (ED) requests input on Slack, they will specify what feedback is needed and provide clear response timelines and areas to focus on.
250+
- **Transparency:** The Slack channel is also used to share updates about changes that occur outside of formal monthly meetings. Examples of such updates include new hires, event updates, and celebrating successes.
251+
252+
#### Google Drive: document sharing and collaboration
253+
254+
The pyOpenSci Executive Council uses a shared **[Google Drive](google-drive)** within the pyOpenSci Google Workspace to store and share documents. This includes meeting notes, agendas, and other important materials. Members are encouraged to access and update shared resources using the shared Drive.
255+
256+
:::{admonition} Terms
257+
:class: tip
258+
259+
- [Fiscal Sponsorship](https://en.wikipedia.org/wiki/Fiscal_sponsorship) refers to nonprofit organizations offering their legal and tax-exempt status to groups—typically projects—engaged in activities related to the sponsoring organization's mission. It involves a fee-based contractual arrangement between a project and an established nonprofit.
260+
- [Nonprofit Organization](https://en.wikipedia.org/wiki/Nonprofit_organization): A legal entity organized and operated for a collective, public, or social benefit, in contrast with an entity that operates as a business aiming to generate a profit for its owners.
261+
- [501(c)(3) Organization](https://en.wikipedia.org/wiki/501(c)(3)_organization): a United States corporation, trust, unincorporated association, or other type of organization exempt from federal income tax under section 501(c)(3) of Title 26 of the United States Code.
262+
:::

governance/index.md

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ pyOpenSci supports open science through
1919
Home <self>
2020
mission-values
2121
structure
22+
Executive Council <executive-council>
2223
Code of Conduct <../CODE_OF_CONDUCT.md>
2324
```
2425

governance/mission-values.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
# Mission and values
1+
(mission-vision)=
2+
# Mission, Vision and Values
23

34
The mission of pyOpenSci is to support diverse community around the free, open
45
python tools that drive open, reproducible scientific workflows.

0 commit comments

Comments
 (0)