-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4fd49bb
commit cc33a62
Showing
2 changed files
with
216 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,214 @@ | ||
# Main Governance Document | ||
|
||
The official version of this document, along with a list of individuals and institutions in the roles defined in the | ||
governance section below, is contained in The Project Governance Repository at: | ||
|
||
[https://github.com/xBFreEnergy/governance](https://github.com/xBFreEnergy/governance) | ||
|
||
## The Project | ||
|
||
The xBFreE Project (The Project) is an open source software project affiliated with the | ||
[NumFOCUS](https://numfocus.org) Foundation. The goal of The Project is to develop open source software and deploy | ||
open and public websites and services for free energy calculations. Any of the Software developed by The Project is | ||
released under a most permissive open source license as possible, developed openly and hosted in public GitHub | ||
repositories under the [xBFreE GitHub organization](https://github.com/xBFreEnergy). Examples of Project | ||
Software include the xBFreE library for calculations, xBFreE-Analyzer for data visualization and its associated | ||
extensions and dependencies. | ||
|
||
The Project is developed by a team of distributed developers, called Contributors. Contributors are individuals who | ||
have contributed code, documentation, designs or other work to one or more Project repositories. Contributors are | ||
also known by the name "xBFreE Development Team (XDT)" in the project license. Anyone can be a Contributor. | ||
Contributors can be affiliated with any legal entity or none. Contributors participate in the project by submitting, | ||
reviewing and discussing GitHub Pull Requests and Issues and participating in open and public Project discussions on | ||
GitHub, Google Groups and mailing lists. The foundation of Project participation is openness and transparency. | ||
|
||
For example, here is a partial list of the current Contributors to the main xBFreE repositories: | ||
|
||
- [https://github.com/xBFreEnergy/xBFreE/graphs/contributors](https://github.com/xBFreEnergy/xBFreE/graphs/contributors) | ||
- [https://github.com/xBFreEnergy/xBFreE-Analyzer/graphs/contributors](https://github.com/xBFreEnergy/xBFreE-Analyzer/graphs/contributors) | ||
|
||
There are also many other Contributors listed in the logs of other repositories of the project. This also notably | ||
does not include contributions of items other than code, such as scientific advice, reporting and commenting on | ||
issues, so is only a subset of the individuals considered to be Contributors. All contributors, including but not | ||
limited to: | ||
|
||
- Developers | ||
- Scientific researchers who contribute and develop new methods | ||
- Documentation writers | ||
- Contributors of tutorials, courses, or any audiovisual material | ||
- Contributions of computing resources | ||
|
||
They will be listed on the [project website](https://xbfreenergy.github.io/project/people/). Any contributor can be | ||
listed as long as it is possible to prove their significant contribution to the project. Depending on the level of | ||
recognition, it will be carried out directly, by the council decision, or through pull requests with majority | ||
approval. Any user may request its inclusion in the documents through a pull request. The final decision will | ||
ultimately rest with the council. | ||
|
||
The Project Community consists of all Contributors and Users of the Project. Contributors work on behalf of and are | ||
responsible to the larger Project Community, and we strive to keep the barrier between Contributors and Users as | ||
low as possible. | ||
|
||
The Project is formally affiliated with the NumFOCUS Foundation ([http://numfocus.org](http://numfocus.org)), a | ||
non-profit organization covered by section 501(c)(3) of the United States Internal Revenue Service code. NumFOCUS | ||
serves as its fiscal sponsor, may hold project trademarks and other intellectual property, helps manage project | ||
donations and acts as a parent legal entity. NumFOCUS is the only legal entity that has a formal relationship with the | ||
project (see Institutional Partners section below). | ||
|
||
## Governance | ||
|
||
This section describes the governance and leadership model of The Project. | ||
|
||
The foundations of Project governance are: | ||
|
||
- Openness & Transparency | ||
- Active Contribution | ||
- Institutional Neutrality | ||
|
||
The xBFreE project emerged as a joint effort by Mario S. and Mario E. Valdés Tresanco, with the scientific advice of | ||
Ernesto Moreno, PhD and Pedro A. Valiente, PhD. In that sense, both Mario S. and Mario E. appear as leader and | ||
co-leader respectively. | ||
|
||
## Project Leader | ||
|
||
The Project will have a Project Leader (PL), who is currently Mario S. Valdés Tresanco, PhD. The PL has the | ||
authority to make all final decisions for The Project. In practice the PL chooses to defer that authority to the | ||
consensus of the community discussion channels and the Steering Council (see below). It | ||
is expected that the PL will only rarely assert their final authority. Because rarely used, we refer to PL’s final | ||
authority as a “special” or “overriding” vote. When it does occur, the PL override typically happens in situations | ||
where there is a deadlock in the Steering Council or if the Steering Council asks the PL to make a decision on a | ||
specific matter. | ||
|
||
The PL is chair of the Steering Council (see below) and may delegate their authority on a particular decision or set | ||
of decisions to any other Council member at their discretion. The PL is responsible for ensuring that all SC | ||
activities that require a vote are properly documented. The PL can appoint their successor, but it is expected that | ||
the Steering Council would be consulted on this decision. If the PL is unable to appoint a successor (provided that | ||
the co-leader is no longer an active member, in which case, the authority passes directly to the co-leader), the | ||
Steering Council will make a suggestion or suggestions and vote. | ||
|
||
In academic work, such as writing articles, presenting posters, talks, and other events, the decision falls on the | ||
founding members of the project. Any work that partially includes any component of the xBFreE Project must be | ||
consulted and approved by the Project Leader and co-leader, who make the final decision. | ||
|
||
## Project co-Leader | ||
xBFreE emerged as a joint effort. Given these circumstances, there will be a co-leader (PcoL) with similar authority to make | ||
decisions and represent the project. It will be able to perform all the functions of the Project Leader if the | ||
Project Leader is unavailable. In such cases, the co-Leader may also delegate their authority on a particular decision | ||
or set of decisions to any other Council member at their discretion. | ||
However, if necessary, the Project Leader maintains their authority status as a “special” or “overriding” vote. | ||
The co-Leader will disappear as Mario S. Valdés Tresanco or Mario E. Valdés Tresanco leaves the project permanently. | ||
In specific cases, both may return to their role (or vice-versa) as the project does not undergo a paradigm shift | ||
during their departure and the Steering council has not been renewed. | ||
|
||
## Steering Council | ||
|
||
The Project will have a Steering Council that consists of Project Contributors who have produced contributions that | ||
are substantial in quality and quantity, and sustained over at least one year. The overall role of the Council is to | ||
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, article writing | ||
and other project activities as peers with all other Contributors and the Community. In these everyday activities, | ||
Council Members do not have any special power or privilege through their membership on the Council. However, it is | ||
expected that because of the quality and quantity of their contributions and their expert knowledge of the Project | ||
that Council Members will provide useful guidance, both technical and in terms of project direction, to potentially | ||
less experienced contributors. | ||
|
||
The Steering Council and its Members play a special role in certain situations. In particular, the Council may: | ||
|
||
- Make decisions about the overall scope, vision and direction of the project. | ||
- Make decisions about strategic collaborations with other organizations or individuals. | ||
- Make decisions about the Services that are run by The Project and manage those 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. | ||
- Grant or revoke commit rights. | ||
|
||
Initially, the steering council will be 4 people including the PL. As the community expands, the council will be 5-7 | ||
people and will be selected following the guidelines mentioned above. Being on the steering council is a responsibility, | ||
not a recognition of being a long-time contributor. | ||
|
||
|
||
### Council membership | ||
|
||
To become eligible for being a Steering Council Member an individual must be a Project Contributor who has produced | ||
contributions that are substantial in quality and quantity, and sustained over at least one year. Potential Council | ||
Members are nominated by existing Council members and voted upon by the existing Council after asking if the | ||
potential Member is interested and willing to serve in that capacity. The Council will be initially formed through | ||
PL nomination from the set of existing Developers who meet the above criteria. | ||
|
||
When considering potential Members, the Council will look at candidates with a comprehensive view of their | ||
contributions. This will include but is not limited to code, code review, infrastructure work, mailing list and | ||
chat participation, community building, user and developer support, education and outreach, grant writing, and | ||
design work. We want to encourage 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 committing 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 or PcoL, will serve in 2 equal classes whose terms are offset by 1 | ||
year. | ||
This will help preserve the continuity on the Steering Council over time. | ||
|
||
A Steering Council member can step down at anytime. If a Council Member becomes inactive for a period of 6 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 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 same process as above. Their | ||
replacement will join the same class and serve the remainder of the 2 years. | ||
|
||
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 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 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, PcoL, and Council Members will be employed at a wide range of companies, | ||
universities and non-profit organizations. Because of this, 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 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. | ||
- An issue where the person privately gains an advantage from The Project resources, but The Project has no gain or | ||
suffers a disadvantage. | ||
|
||
|
||
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 interest in a particular issue may participate in Council discussions on that | ||
issue, but must recuse themselves from voting on the issue. If the PL has recused themselves for a particular | ||
decision, they will appoint a substitute PL for that decision. | ||
|
||
|
||
## Institutional Partners and Funding | ||
|
||
|
||
The PL and Steering Council are the primary leadership for the project. No outside institution, individual or legal | ||
entity has the ability to own, control, usurp or influence the project other than by participating in the Project as | ||
Contributors and Council Members. However, because institutions are the primary funding mechanism for the project, | ||
it is important to formally acknowledge institutional participation in the project. Such institutions are | ||
Institutional Partners. Institutional Partners include recognized legal entities that employ at least one Steering | ||
Council Member participating in Council work as part of their official duties at the Institutional Partner. | ||
|
||
|
||
## Changing the Governance Documents | ||
|
||
Changes to the governance documents are submitted via a GitHub pull request to The Project's governance documents | ||
GitHub repository at [https://github.com/xBFreEnergy/governance](https://github.com/xBFreEnergy/governance). | ||
The pull request is then refined in response to public comment and review, with the goal being consensus in the | ||
community. After this open period, a Steering Council Member proposes to the Steering Council that the changes be | ||
ratified and the pull request merged (accepting the proposed changes) or proposes that the pull request be closed | ||
without merging (rejecting the proposed changes). The Member should state the final commit hash in the pull request | ||
being proposed for acceptance or rejection and briefly summarize the pull request. The full Steering Council must | ||
vote and at least 2/3 of the votes must be positive to carry out the proposed action (fractions of a vote rounded up | ||
to the nearest integer). Since the PL holds ultimate authority in The Project, the PL has authority to act alone in | ||
accepting or rejecting changes or overriding Steering Council decisions. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters