Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vote required to merge] feat: add Executive Council page to handbook #113

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions community/events/intro.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
(pyos-events)=
# Meetings & Events

## pyOpenSci meetings
Expand Down
1 change: 1 addition & 0 deletions community/zenodo.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
(pyos-zenodo)=
# Zenodo

:::{admonition} How to cite pyOpenSci
Expand Down
261 changes: 261 additions & 0 deletions governance/executive-council.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,261 @@
(pyos-executive-council)=
# pyOpenSci Executive Council

The pyOpenSci Executive Council (EC) has four primary functions:

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.

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.

3. **Provides Strategic Insight**: The Executive Council offers perspective and guidance on major strategic decisions to ensure the organization’s long-term success.

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.

The Executive Director is currently a voting member of the Executive Council for items unrelated to their salary and accountability.

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.

## How the Executive Council works

The pyOpenSci Executive Council operates through open discussions, collaborative
decision-making, and a commitment to transparency. By leveraging diverse
perspectives, the Council ensures that its guidance aligns with the organization’s
[mission, vision, and values](mission-values) while meeting the needs of the
growing pyOpenSci community.

The Council employs flexible and adaptive practices to ensure decisions are made efficiently while fostering thoughtful
dialogue and collective alignment.

## Executive Council roles & responsibilities

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:
lwasser marked this conversation as resolved.
Show resolved Hide resolved

- Attend at least 80% of monthly Executive Council meetings.
- Participate in asynchronous commitments, which include:
- Suggesting agenda items for meetings.
- Communicating with the Executive Director (ED) via Slack.
- Providing timely reviews of materials and documents.
- Connecting the Executive Director with potential funding opportunities.
- Evaluate the performance of the Executive Director on a yearly basis.
- Approve expense reports.
- Take meeting minutes and ensure they are [published in this Handbook](ec-minutes).
lwasser marked this conversation as resolved.
Show resolved Hide resolved

The Executive Council is currently led by the Executive Council Chair, who approves the Executive Director’s time off requests and sick leave.

:::{note}
While travel is not explicitly required, members may have opportunities to attend meetings on behalf of pyOpenSci. Travel may be supported by pyOpenSci if needed.
:::


## How the Executive Council makes decisions

The Executive Council is required to review and approve decisions affecting the fiduciary aspects of the organization; this includes 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.

All decisions made by the Executive Council must align with the legal
obligations and policies of pyOpenSci’s fiscal sponsor—[Community Initiatives](https://communityinitiatives.org/).
This ensures compliance with overarching governance structures and financial
responsibilities.


### Decisions requiring an Executive Council vote

The Executive Council (EC) defines and directs pyOpenSci’s strategy and major
organizational direction. The EC approves significant decisions
that strongly impact pyOpenSci’s strategy, governance, or financial well-being.
Generally, items with legal or fiduciary implications require a formal vote,
with the outcome documented in this handbook's Executive Council [meeting minutes](ec-minutes) section.

The EC will vote on the following:

- **Annual budget**: Approval of the organization's yearly budget.
- **Mission, vision, and values**: Decisions related to pyOpenSci’s core principles.
- **Governance and policy changes**: Approval of changes to governance structures,
including updates to the Code of Conduct.
- **Significant budget deviations**: Decisions involving major deviations from the
approved annual budget.
- **Financial health implications**: Any decision with substantial implications for
pyOpenSci’s financial stability.
- **Strategic direction**: Approval of major changes to organizational strategy and
development roadmaps.
- **Executive director’s salary**: The EC independently determines the salary of the
Executive Director.

:::note
The Executive Director is authorized to make all other decisions. However, the
Executive Council serves as a resource for the Executive Director and may provide
feedback and input upon request.
:::

### Decision-making process

The topics above require a motion and a vote for approval. Motions and approval can be made in Executive Council meetings or asynchronously via email or Slack. Motions and votes will be noted in the EC meeting minutes.

:::{important}
All decisions made by the Executive Council must align with the legal
obligations and policies of pyOpenSci’s fiscal sponsor—[Community Initiatives](https://communityin.org/).
:::

## Collaboration between the Executive Director and the Executive Council

The Executive Director may request feedback
from the Executive Council on significant or public-facing decisions; these types of decisions do not require a formal vote. These discussions should
occur in the **executive-council** Slack channel to ensure transparency and
collaborative input. Examples include:

* Significant public-facing changes to the pyOpenSci website.
* Decisions impacting staff or human resources (e.g., hiring or termination).
* Operational policies for staff (unless they carry major financial implications).
* Strategic decisions about pursuing proposals or writing grants.
* Substantial changes to pyOpenSci programs.
* Strategic decisions about pursuing proposals or writing grants.
* Substantial changes to pyOpenSci programs.

lwasser marked this conversation as resolved.
Show resolved Hide resolved
By maintaining open communication, the Executive Council and Executive Director ensure that pyOpenSci’s
decisions align with its mission and strategic goals.

### Lazy consensus for decisions that don't require a vote

Lazy consensus is applied for decisions such as those listed above that do not require a formal vote.

Lazy consensus means that decisions are approved by default unless a member of
the Executive Council explicitly raises an objection within a predefined period.
This allows decisions to move forward efficiently while providing an
opportunity for discussion.

When objections are raised, further discussion occurs. This ensures decisions reflect the collective agreement of the Council
while minimizing unnecessary delays.


## How the Executive Council meets and communicates

### Monthly meetings

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

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).


**Ad hoc Executive Council meetings** are scheduled as needed to address pressing issues.

**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.


## EC communication platforms & tools

### Slack: primary communication platform

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.
EC members are expected to check Slack semi-regularly to stay informed.

- **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.
- **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.

### Google Drive: document sharing and collaboration

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.

## Selection of Executive Council members

The Executive Council and the Executive Director are responsible for selecting and appointing new council members.
This process ensures the Council has the skills and expertise necessary to meet
the evolving pyOpenSci needs.

### Executive Council selection process

1. **Identify organization needs**:
- The Council first evaluates its current composition to identify areas where
additional expertise, perspectives, or skills could be useful to support the
organization’s mission and strategy.

2. **Identify Candidates**:
- Potential candidates are identified based on their experience, expertise,
and alignment with pyOpenSci’s mission, vision, and values. This may include
leaders in the open science community, individuals with financial or
governance expertise, or others with relevant nonprofit governance skills.

3. **Review and nominate the new member**:
- Candidates are discussed and nominated by current Council members during a
meeting or through the Executive Council Slack channel. After nomination, the Executive Director
will contact the candidate to see if they are interested/available.

5. **Onboard the new candidate**:
- Once approved, new members are onboarded following the onboarding process
outlined in this document.


### Terms and evaluation

- Executive Council members are expected to serve for 2–3 years.
- At the end of each 2-year term, members may choose to step down or renew their
commitment based on mutual agreement with the Council.

As needed, the Executive Council may conduct periodic evaluations to ensure its composition continues
to meet the organization’s needs.

## Onboarding and offboarding Executive Council members

The onboarding and offboarding of Executive Council (EC) members ensure:

* smooth transitions,
* that new members are set up for success and
* that departing members are appropriately transitioned out of their roles.

### Onboarding a new Executive Council member

When a new member joins the Executive Council, the following steps should be
completed to integrate them into the team:

1. **Access to tools and resources**:
- Add the new member to the pyOpenSci Executive Council shared [Google Drive](google-drive).
This drive is where we share meeting notes,
agendas, budgets and other resources.
- Add the new member to the Executive Council Slack channel, the primary
communication platform for the Council.

2. **Orientation**:
- Provide a link to this Handbook, which outlines the Council’s
responsibilities, decision-making processes, and operational policies.
- Schedule an initial orientation meeting if needed, to familiarize the new member
with pyOpenSci’s mission, vision, values, and ongoing initiatives.

3. **Notifications**:
- Notify the pyOpenSci's Fiscal Sponsor (Community Initiatives) of any changes in roles
that impact the chair position or budget oversight responsibilities.

4. **Welcome and integration**:
lwasser marked this conversation as resolved.
Show resolved Hide resolved
- Introduce the new member to the Executive Council during a meeting and to the pyOpenSci community through Slack
announcement. Highlight the the new member's expertise and how it complements the community and Executive Council’s needs.

## Offboarding an Executive Council member

When a member leaves the Executive Council, the following steps should be taken
to ensure a smooth transition:

* **Remove Access**:
- Remove the departing member from the pyOpenSci Executive Council shared
Google Drive to ensure that sensitive information remains secure.
- Remove the member from the Executive Council Slack channel.
2. **Notifications**:
- Inform the Fiscal Sponsor (Community Initiatives) of any changes to the
chair position or budget oversight responsibilities caused by the departure.

3. **Knowledge transfer**:
- If the departing member held specific responsibilities or roles (e.g.,
chair, budget oversight), ensure that these responsibilities are transitioned
to another member of the Council.
4. **Acknowledgment and thanks**:
- Publicly thank the departing member for their contributions to pyOpenSci,
either during a meeting or through a Slack message. Celebrate their impact
on the organization and its mission.

By following these steps, pyOpenSci ensures a seamless transition for incoming
and outgoing members, maintaining stability and continuity in its governance
practices.

:::{admonition} Terms
:class: tip

* [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 non-profit.
* [Non-Profit 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.
* [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.
:::
1 change: 1 addition & 0 deletions governance/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ pyOpenSci supports open science through
Home <self>
mission-values
structure
Executive Council <executive-council>
Code of Conduct <../CODE_OF_CONDUCT.md>
```

Expand Down
3 changes: 2 additions & 1 deletion governance/mission-values.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Mission and values
(mission-vision)=
# Mission, Vision and Values

The mission of pyOpenSci is to support diverse community around the free, open
python tools that drive open, reproducible scientific workflows.
Expand Down
46 changes: 24 additions & 22 deletions governance/structure.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
# Structure and leadership
(pyos-structure)=
# Organization Structure and Leadership

This page describes the organizational structure of pyOpenSci as they
related to governance and operations.

There are two levels of leadership described below.
The first is organizational level. The second is program level.
The first is the organizational level. The second is program level.

## Governing Committees

### Executive Council

The Executive Council defines and steers the high-level
The [Executive Council](pyos-executive-council) defines and steers the high-level
mission, vision and values of pyOpenSci. It also sets the strategic direction and vision for the organization.
The Executive Director (discussed below) is a voting member of the executive council.

[Click here to view current executive council members](https://www.pyopensci.org/our-community/#executive-council--leadership)

(advisory-council)=
### pyOpenSci advisory council

[Click here to view current advisory council members.](https://www.pyopensci.org/our-community/#pyopensci-advisory-council)

The advisory council is comprised of leaders in the Python scientific
The Advisory Council is comprised of leaders in the Python scientific
open source ecosystem. This council advises the executive director
in both organization level and day to day decision making around
in both organization level and day-to-day decision-making around

- Python packaging guidelines
- Peer review processes and guidelines
Expand All @@ -31,51 +33,51 @@ in both organization level and day to day decision making around

Most of the communication supporting advisory council activities
happens in the pyOpenSci slack. The executive director will also
organize several executive council meetings a year that will focus
on high level goals of pyOpenSci programs.
organize monthly [Executive Council](pyos-executive-council) meetings that focus
on the high-level goals of pyOpenSci programs.

## Staff roles within the organization

(executive-director)=
### Executive Director

The Executive Director creates and oversees the execution of the mission and
strategy of pyOpenSci supported by the Advisory Committee. The Executive Director
also:

- is the the primary interface to the organization's fiscal sponsor;
- coordinates day to day activities
- develops programs that drive the organizations mission
- is the primary interface to the organization's fiscal sponsor;
- coordinates day-to-day activities
- develops programs that drive the organization's mission
- oversees staff and volunteers
- makes tie-breaking decisions if they are at an impasse in decision-making.
- makes tie-breaking decisions if they are at an impasse.

The Executive Director reports to the Advisory Committee.
The Executive Director reports to the Executive Council.

In the early stages of the organization's development the Executive Director
In the early stages of the organization's development, the Executive Director
will take on other responsibilities including:

- Managing the community in Slack and twitter
- Managing the community in Slack and on social media
- Serving as the defacto Software Peer Review Lead (below) until that position is funded.

### Community manager
:::{todo}
### Community Manager

The Community Manager is a future position to be created within the pyOpenSci
organization. This position will:

- Oversee social media communications
- Create strategic communication plans
- Write and oversee writing of blogs
- Write and oversee blog writing
- Manage website content
- Support communications within our online communication platforms (e.g. Slack, discourse, etc)
- Support communications within our online communication platforms (e.g. Slack, Discourse, Discord etc.)

The Community Manager is a paid position in the pyOpenSci organization.
:::

## Open Peer Review Program: Program level leadership structure
## Open peer review program: Program-level leadership structure

The peer review process is driven by several roles and groups:
Several roles and groups drive the peer review process:

% <TODO: right now the leadership of peer review is kind of clear in my head
% but not clear in the documentation for peer review. Fix this. Add a
% Peer review structure document or section somewhere... >

### Software review lead

Expand Down
Loading
Loading