The ODK project is governed by Get ODK Inc. Get ODK Inc. is guided first and foremost by the project's Mission and Values and Code of Conduct. The remainder of this document lays out how specific decisions are made.
ODK has become a large and vibrant open source project, depended on by millions of users for critical data gathering needs. As such, the project requires substantial work to maintain. This work is best performed in a steady, reliable fashion by a concrete, well-resourced entity.
In recognition of these facts, Get ODK Inc., a corporation in the U.S. State of California, was formed to serve as the primary, day-to-day manager and steward of the project. Get ODK Inc. does business under the ODK trade name.
Get ODK Inc. strives to preserve ODK as a healthy and bona fide open source project and sustains its operations through ODK-related business activites (or otherwise).
As ODK is an open source project, anybody may file issues on or propose code changes to any of the various ODK repositories. Proposed code changes must be approved by a project Committer.
ODK code is permissively licensed with code copyright remaining with the original author. In this sense, no one entity "owns" the project's code. And while ODK's code is permissively licensed, its trademarks, service marks, and logos are not. ODK's brand is entirely owned and controlled by Get ODK Inc.
The release process for all tools is controlled by Get ODK Inc. All ODK-related online properties such as software-as-a-service accounts, hosting accounts, social media accounts, and so forth are in the name of Get ODK Inc., and all expenses for same are borne by Get ODK Inc.
Committers are community members who have shown that they are committed to the continued development of the project through ongoing engagement with the community. Commit/write access allows contributors to more easily carry on with their project-related activities by giving them direct access to the project's resources.
Get ODK Inc. awards Committer status to individuals making significant and valuable contributions to the project. Current Committers may also suggest individuals deserving of Committer access, but Get ODK Inc. has final say.
Note: If you make a significant contribution and are not considered for commit/write access on the appropriate resource, file an issue, post on the forum, or contact Get ODK Inc. directly.
If a Committer becomes inactive, having not participated substantially in the project for six months or more, their Committer status will be revoked. They may regain status again by resuming substantial participation.
Notwithstanding any of the above, Get ODK Inc. may revoke the Committer status of any Committer at its sole discretion.
The current list of Committers is at https://github.com/orgs/getodk/people.
Proposed code changes must be approved by a project Committer with sufficient expertise who is able to take full responsibility for the change.
In the case of changes proposed by an existing Committer, an additional Committer is required for review.
Committers should elevate significant or controversial modifications to Get ODK Inc. for discussion. Get ODK Inc. should seek to achieve consensus on the question and offer its recommendation.
As Get ODK Inc. has commit access and controls the release process for all tools, it effectively has final say on any code changes. The above procedures are designed to foster a collaborative, community-oriented process, and should be followed in most cases.
A "project roadmap" is the plan of upcoming changes to a project's code. In ODK projects, the Get ODK Inc. sets the roadmap. Suitability of items for the roadmap is determined by community need and the availability of resources to support development.
As stated above, anybody may submit a pull request against any of the repositories. The change approval section above covers how such pull requests may be approved. It should be noted, though, that major changes to the project stand a much better chance of being accepted if they are on the roadmap and/or if Get ODK Inc. have agreed in advance they are a good fit for the project and that the chosen design and implementation stategy are suitable.
Revisions to any document in this repository must be approved by Get ODK Inc. Even though these documents exist within an ODK repository, this requirement supersedes the change approval policy above. Committers should not effect changes to documents in this repository without the approval of Get ODK Inc. Exceptions may be made for small changes such as typographical errors.