Skip to content
This repository was archived by the owner on Dec 20, 2017. It is now read-only.

governance

Bernhard Scholz edited this page Mar 16, 2016 · 3 revisions

Souffle Governance

Summary

The Soufflé project is managed and maintained by Oracle Labs for the benefit of internal and third-party users. Ongoing development by Oracle staff is primarily focused on meeting needs of internal Oracle customers, however where possible this will be done without prejudice to third-party users. Contributions from third-parties are welcome and accepted as long as they meet general technical requirements and do not prejudice other users of Soufflé (internal or external).

Current Project Board:

  • Project Lead: Bernhard Scholz, The University of Sydney
  • Technical Lead: Nathan Keynes, Oracle Labs
  • Project Chair: Paddy Krishnan, Oracle Labs

Key Roles

Project Board

The Soufflé Project Board shall consist of the Project Lead, Technical Lead, and Project Chair. The Project Board as a whole is responsible for resolving any disputes within the project by majority vote.

Project Lead

The Project Lead is responsible for determining the overall direction of the Soufflé project, aligning the community with this direction, The Project Lead is expected to understand and consult internally and with the wider community to ensure that Soufflé meets and continues to meet the needs of both Oracle and the community to the fullest extent possible.

The Project Lead is appointed by Oracle management.

Technical Lead

The Technical Lead is responsible for maintaining the technical quality and standards of the Soufflé project, and has the overall responsibility to determine which patches will be accepted into the source tree or rejected. The Project Lead is expected to understand and consult internally and with the wider community to ensure that Soufflé meets and continues to meet the needs of both Oracle and the community to the fullest extent possible.

The Technical Lead is appointed by Oracle management.

Project Chair

The Project Chair represents the Soufflé user community within the project, and shall have the casting vote in event of disagreement between the Project Lead and Technical Lead.

The Project Chair is appointed by Oracle management

Community Manager

Community Managers are responsible for maintaining the public Soufflé web pages, and interacting with users of Soufflé on mailing lists, forums, and other media to answer questions, and provide information. Community managers serve as the public face of the project.

Community Managers are appointed by Oracle management. Initially the Project Lead will also serve as Community Manager.

Committers

Committers are developers who are able to directly commit changes to the Soufflé code, following standard code review practices. Committers are responsible for ensuring that any changes they commit meet the required standards of the project, and are appropriate for Soufflé's technical direction.

Committers are appointed by the Technical Lead and/or Oracle management.

Contributors

Contributors are community members who submit patches to the Soufflé project. Contributors must sign an Oracle Contributors Agreement when they first submit a patch, without which the patch cannot be accepted. Patches are reviewed by other developers including at least one committer, before being accepted into the source tree.

Users

Users are members of the community (both within and outside of Oracle) who make use of Soufflé but are not actively developing Soufflé itself. Users may download and use Soufflé as-is, and interact with the developers and other users on the project forums and mailing lists, file bug reports/feature requests, etc.

Anyone with a use for a Datalog engine may become a user of Soufflé.

Decision-making process

Committers are individually responsible for ensuring that all code complies with the general technical standards of the project, and is aligned with the technical direction of the project. Technical disputes as to contributions shall be resolved by decision of the Technical Lead. Non-technical disputes shall be resolved by decision of the Project Lead. In either case, decisions may be appealed to the project board, which shall have final resolution by majority vote.

For transparency, all such technical discussions and decision-making should be carried out on the public mailing lists unless doing so would require disclosure of confidential Oracle information.

Amendments

This document may be amended at any time by majority vote of the project board and with the assent of Oracle management.

Contribution process

All contributors must have submitted a signed copy of the Oracle Contributor Agreement before any patch can be accepted into the code tree. The process is generally as follows:

  1. Patches are sent for review either to the development mailing list or as a pull request on Github.
  2. Patch is reviewed by at least one committer for technical correctness, compliance with project standards, and suitability to the project.
  3. If changes are required, the contributor and reviewer(s) will make changes / re-review until the patch is ready to be applied.
  4. Committer applies patch with credit to original contributor.

Clone this wiki locally