From f738450fe94b82cf984d131e8959200c4298cc4b Mon Sep 17 00:00:00 2001 From: TCLethbridge Date: Wed, 5 Oct 2016 23:32:19 +0200 Subject: [PATCH] Create GOVERNANCE.md It is recommended that all projects have a GOVERNANCE.md file --- GOVERNANCE.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 GOVERNANCE.md diff --git a/GOVERNANCE.md b/GOVERNANCE.md new file mode 100644 index 0000000000..c79ba41a6c --- /dev/null +++ b/GOVERNANCE.md @@ -0,0 +1,55 @@ +# Umple project Governance + +## Overview + +Umple is operated as a research project run from the University of Ottawa, Canada, and led by Dr. Timothy Lethbridge. +It is intended that the core of Umple will be of "industrial strength" quality, an hence be suitable for widespread use +by companies and in university teaching contexts. At the same time various extensions will continue to be exploratory in nature, +and form PhD, Masters and 4th-year project research topics. Some of these will reach a quality level allowing them to be considered +part of the core. In general the core are those aspects documented in the Umple User manual http://manual.umple.org + +The project is managed by Dr. Lethbridge, who retains a veto over significant architectural, syntactic and semantics decisions, +but uses consensus-seeking to ensure that the team as a whole is satisfied with decisions. Key decisions also need to be +evidence-based, in other words we do empirical experiments to validate new syntax, semantics and/or user interface elements. + +Quality in the project must be managed by test-driven development (always adding tests when developing changes to the compiler, +in particular), and running all the previous tests automatically and on all supported platforms before any pull request (PR) is merged. +Quality is also managed by design reviews (though discussions in issues pages, or in meetings as discussed below), plus +code-reviews of PRs. + +## Roles + + * Project leaders: These include Dr. Lethbridge, postdocs senior PhD students, and former PhD students who choose to remain involved. + They are they key decision makers on the project. They can merge all pull requests and help make architural decisions for the + project as a whole. Certain people at other universities or in industry may also be given this status. + + * Senior contributors: These include junior PhD students, Masters students, and undergraduates who have shown they are competent. + They can do everything junior contributors can do, but can also be given permission to merge pull requests based on + specific research that they are working on. + + * Junior contributors: These are other people who contribute pull requests. They may comment on issues as well. + +## Management of Issues + + * Anyone my open an issue. + + * Issues should only be closed by project leaders, or with the consent of project leaders. + +## Management of pull requests (PRs) + + * All changes must be made via pull requests (PRs). + + * In general a PR should be related to an issue; an issue could be solved through several PRs. + + * Dr. Lethbridge or one of the project leaders will constantly monitor pull requests and ensure that they are reviewed within + two weeks, and merged if they benefit the project and are free of new issues or defects. + +## Meetings + + * Dr. Lethbridge's research team meets every few weeks. Skype meetings are held regularly when undergraduates from outside UOttawa + are working on the projet. + +## Decision Making + + * This follows the consensus building approach. If more than a small minority are unhappy with something, we will keep + discussing.