Umple project Governance
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.
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.
- Dr. Lethbridge's research team meets every few weeks. Skype meetings are held regularly when undergraduates from outside UOttawa are working on the projet.
- This follows the consensus building approach. If more than a small minority are unhappy with something, we will keep discussing.