Skip to content

Commit

Permalink
Create GOVERNANCE.md
Browse files Browse the repository at this point in the history
It is recommended that all projects have a GOVERNANCE.md file
  • Loading branch information
TimLethbridge committed Oct 5, 2016
1 parent b9b09d1 commit f738450
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions 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.

0 comments on commit f738450

Please sign in to comment.