The official version of this document, along with a list of individuals in the roles defined in the governance section below, is contained in The Project Governance Repository at:
https://github.com/opendatacube/governance
The Open Data Cube (ODC) is an open source software project. The aims of the ODC project are: to develop open source software; and to deploy open public websites and services. These open ODC products and services provide new approaches to analysing and organising vast quantities of satellite imagery and other Earth observation data. This makes Earth observation data quicker and easier to use in diverse fields ranging across environment, water quality, hazards and agriculture. Software released by the ODC project is licensed under the Apache 2 open source license. ODC software is developed openly and hosted in public GitHub repositories under the Open Data Cube GitHub organization. ODC project software includes the Data Cube Core. The Services run by the Project consist of public websites and web-services that are hosted under the opendatacube.org domain. An example of a Project Service includes the Open Data Cube website (http://opendatacube.org).
The ODC 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 ODC repositories. 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, Slack, Google Groups, and mailing lists. The foundation of ODC participation is openness and transparency.
There are many other Contributors listed in the logs of other repositories of the Open Data Cube project.
The ODC Community consists of all Contributors and users of the ODC. 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.
This section describes the governance and leadership model of The Project.
The foundations of ODC project governance are:
- Openness & Transparency
- Active Contribution
- Institutional Neutrality
The ODC project leadership will consist a Steering Council, made up of a group of ongoing active contributors.
The ODC project will have a Chair of the Steering Council. The Chair has the authority to make all final decisions for the ODC project. In practice the Chair chooses to defer that authority to the consensus of the community discussion channels and the Steering Council (see below). It is expected that the Chair will only rarely assert his/her final authority. Because rarely used, we refer to the Chair’s final authority as a “special” or “overriding” vote. When it does occur, the Chair override typically happens in situations where there is a deadlock in the Steering Council or if the Steering Council asks the Chair to make a decision on a specific matter. To ensure the integrity of the ODC project, we encourage others to fork the project if they disagree with the overall direction the Steering Council. The Chair may delegate his/her authority on a particular decision or set of decisions to any other Council member at his/her discretion.
The Chair will be selected from amongst the Steering Council membership and reside in that role for a period of twelve months in duration, at which time the position will rotate to another member of the Steering Council (where possible from an alternative organisation affiliation).
Chairs are selected by self nomination, and if there is more than on nominee, then a vote is undertaken by all Steering Council members.
The ODC project will have a Steering Council that consists of ODC 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 the long-term well-being of the project, both technically and as a community.
During the everyday project activities, Council Members participate in all discussions, code review 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. It is expected that because of the quality and quantity of their contributions and their knowledge of the ODC Software and Services 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 specific technical issues, features, bugs and pull requests. They are the primary mechanism of guiding the code review process and merging pull requests.
- Make decisions about the Services that are run by the ODC project and manage those Services for the benefit of the ODC Community.
- Make decisions when regular community discussion doesn’t produce consensus on an issue in a reasonable time frame.
To become eligible for being a Steering Council Member an individual must be an ODC 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 from the set of existing Core Developers who, as of early 2017, have been significantly active over the last year.
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 help/building, education and outreach, design work, etc. We are deliberately not setting arbitrary quantitative metrics (like “100 commits in this repo”) to avoid encouraging behavior that plays to the metrics rather than the project’s overall well-being. 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.
If a Council member becomes inactive in the project for a period of one year, they will be considered for removal from the Council. Before removal, the inactive Member will be approached by the Chair to see if they plan on returning to active participation. If not they will be removed immediately upon a Council vote. If they plan on returning to active participation soon, they will be given a grace period of one year. If they don’t return to active participation within that time period they will be removed by vote of the Council without further grace period. All former Council members can be considered for membership again at any time in the future, like any other ODC 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 current Members, if they are deemed to be actively harmful to the project’s well-being, and attempts at communication and conflict resolution have failed.
It is expected that the Chair 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 conflict of interests. Such conflict of interests include, but are not limited to:
- Financial interests, such as investments, employment or contracting work, outside of the ODC that may influence their work on the ODC project.
- Access to proprietary information of their employer that could potentially leak into their work within the ODC project.
All members of the Council, Chair 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 Chair has recused his/herself for a particular decision, they will appoint a substitute Chair for that decision.
Unless specifically required, all Council discussions and activities will be public and done in collaboration and discussion with Contributors and Community. The Council will have a private mailing list that will be used sparingly and only when a specific matter requires privacy. When private communications and decisions are needed, the Council will do its best to summarize those to the Community after eliding personal/private/sensitive information that should not be posted to the public internet.
The Council can create subcommittees that provide leadership and guidance for specific aspects of the project. Like the Council as a whole, subcommittees should conduct their business in an open and public manner unless privacy is specifically called for. Private subcommittee communications should happen on the main private mailing list of the Council unless specifically called for.
Working groups may be formed from time-to-time to undertake a body of technical work. Each body of work should be well defined and reasonably achievable over a short period of time, so that the working group can execute efficiently.
The Open Data Cube project, as the name suggests, adopts licenses that reflect our open approach. This applies both to the code in this repository but, ideally, also to data used within Open Data Cube deployments.
Code within the Open Data Cube repository will be available via the Apache License Version 2.
Open Data Cube deployments should clearly identify the useage conditions under which data can be used. The recommended open data licence is the Creative Commons Attribution 4.0 International license CC BY 4.0. Licenses for commercial data will be vary.
Changes to the governance documents are submitted via a GitHub pull request to the ODC project governance documents GitHub repository at https://github.com/opendatacube/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. A minimum of 80% of the 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).