Permalink
Browse files

Create GOVERNANCE.md

It is recommended that all projects have a GOVERNANCE.md file
  • Loading branch information...
TimLethbridge committed Oct 5, 2016
1 parent b9b09d1 commit f738450fe94b82cf984d131e8959200c4298cc4b
Showing with 55 additions and 0 deletions.
  1. +55 −0 GOVERNANCE.md
View
@@ -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.