CGAL Open Source Project Rules and Procedures


Preamble

With this document, the CGAL Open Source Project sets forth its own rules and procedures. The rules and procedures define the different groups of persons involved in CGAL, how to become one of them, and how decisions are made. This document regulates how important and final decisions are made by the editorial board. It does not cover the less formal way how many decisions are actually made among developers, and it is not the intention to regulate those. There is no precise definition, but some examples of decisions that should be handled by the editorial board are given throughout this document.

This document was started at the SoCG meeting 2004 in New York and refined subsequently under the guiding principle of not to over-specify our procedures but rather to refine them when the need arises. After a period of internal evaluation, including an election for a new editor and an election for a new chair, the editors approved this document in an unanimous vote on October 28, 2005.


Groups

The CGAL Open Source Project consists of four groups of people based on technical criteria and relation to CGAL. (Financing the people, the project, or other types of resources is not discussed in this document.)

  • Users   are using CGAL and, for example, are active on the cgal-discuss user mailing list including bug reports.
  • Contributors   are users of CGAL that contribute to CGAL with patches to fix bugs or to improve CGAL. Contributors shall be listed in acknowledgements.
  • Developers   are working on CGAL packages, have access to the member resources, and write access to the CGAL SVN server for their packages.
  • Editors   are achieved developers that take long term responsibility for the project. See the corresponding Editorial Board Section for more details.


Developers

A developer is a person that develops at least one CGAL package. He/she has access to the member resources of the CGAL project. He/she has write access on the CGAL SVN server for his/her package(s).

A candidate becomes a developer after a proposal (short description of the project the candidate developer is working on) from an editorial board member and the silent consensus of the entire board. If an objection is raised, the matter is to be discussed in the editorial board and the decision is made by an anonymous vote; absolute majority is required for the candidate to become a developer.

A person seizes to be a developer after either his/her personal request or upon proposal of an editorial board member and a subsequent anonymous vote with an absolute majority.


Editorial Board

Responsibilities

Editors, i.e., members of the Editorial Board, are required to:

  • Review submitted packages.
  • Take long term responsibilities for the CGAL project.
  • Suggest medium or long term directions for the CGAL project.
  • Promote CGAL.
  • Attract new contributors.
  • Communicate to the rest of the board their availability, especially if absent for more than a week.
  • Vote on proposals, which is compulsory.

Becoming an Editor

A candidate is considered for becoming an editor upon recommendation by an existing editor. The criteria for selection are:

  • Candidates have successfully developed or maintained a CGAL package for at least a year.
  • Candidates have been active participants in CGAL developer meetings.
  • Candidates have shown interest in at least two areas within CGAL.
  • Candidates have contributed to the service tasks in CGAL, such as: development of tools, maintenance, testing, porting to other platforms.
  • Candidates have an appropriate educational/technical qualification, such as an academic degree at the level of an M.S. or equivalent.

In addition to above criteria, the editorial board considers also the following criteria:

  • The CGAL areas covered by the members of the existing editorial board.
  • The size of the editorial board.
  • The representation of the developing sites/groups in the editorial board.

The criteria described above are guidelines. The editorial board discusses the candidacy and makes the final decision by an anonymous vote; a two-thirds majority is needed for a candidate to become an editor

Leaving the Editorial Board

An editor leaves the editorial board after either his/her personal request or upon proposal of an editorial board member and a subsequent anonymous vote with a two-thirds majority. Such a proposal may for example be motivated by the repeated failure of an editor to fill his duties.

Dedicated Positions in the Editorial Board

Editors might hold special task-related positions in the editorial board, such as:

  • Chair of the Editorial Board, detailed in the following section
  • GF Mediator responsible for synchronizing the project's interests and Geometry Factory's interests, as detailed below
  • Release manager
  • Editor(s) for special issues of journals etc.
  • Public relations communication with the users, up-to-date representation/poster for CGAL, CGAL newsletter, etc.
  • Legal issues licenses, compatibility between licenses, contributions by multiple sites, etc.
  • Answer requests from info@cgal.org.


Chair of the Editorial Board

Responsibilities

  • Represent the editors.
  • Act towards reaching a decision.
  • Be a mediator for resolving differences within the board.
  • In case of potential conflicts in voting, the chair is responsible for appointing an editor for collecting anonymous votes without conflicts of interest.
  • Appoints representatives for arising tasks.
  • Finds a replacement chair when absent.
  • Sends acknowledgements for messages sent to the editorial board mailing list by external people.

Becoming the Chair

The chair is appointed for 2 years. At the end of his/her appointment, the chair organizes the new election. In a two weeks period new candidates announce their candidacy and an editor for organizing the election and collecting the votes is determined.

A decision for a new chair requires absolute majority. If absolute majority was not reached in the first election round and we have more than one candidate, more election rounds are held. If we have more than two candidates, all candidates with less votes than the two highest ranking candidates are excluded and we repeat the first election round. If we have two candidates, a decision for a new chair in a second election round requires only relative majority. This round can be skipped if the candidate with less votes in round one accepts this result on the basis of relative majority.


GF Mediator

The GF mediator is responsible for synchronizing the interests of the open source project with Geometry Factory's interests. The position is appointed by election for a period of two years. The election procedure follows the same rules as for the chair position.


Decision Procedures

Votes for a decision are initiated with a proposal by an editor. Decisions that are not specifically covered elsewhere in this document need an absolute majority.

Votes on personnel decisions are anonymous. An editor is appointed to collect such votes (and systematically confirms them to avoid mails getting lost) and announce the result, see also the role of the Chair in these matters. Proposals specify a deadline for voting, usually two weeks and respecting usual vacation and holiday times and editors that announced their absence. Votes that are not casted within the time frame are counted as abstention. The editor appointed to collect anonymous votes will also provide the names of the editors who did not vote.

The voting choices in a proposals need to be phrased in a manner that abstention has no influence, in particular, abstention does not support a change of an existing status.

Let N be the cardinality of the current editorial board. We distinguish the following definitions of majorities:

  • Relative majority:   the number of votes for a decision is strictly larger than the number of votes for any other choice.
  • Absolute majority:   the number of votes for a decision is strictly larger than N/2.
  • Two-thirds majority:   the number of votes for a decision is strictly larger than 2*N/3.


Change of Rules and Procedures

A two-thirds majority is needed to change any part of this document.


Last modified on Tuesday, 26-Feb-2008 08:12:04 MET. info at cgal dot org