NUBOMEDIA: FP7/2007-2013 GA-610576

The NUBOMEDIA Community Governance Model

Definitions
  • The NUBOMEDIA Community (or Community in the following) refers to a collection of Assets and a group of Individual Members who act complying with the NUBOMEDIA Governance Model.
  • The NUBOMEDIA Governance Model refers to the rules specified in this document.
  • The NUBOMEDIA Platform (or Platform in the following) refers to the collection of software artifacts providing the functionalities described in the NUBOMEDIA Project.
  • The NUBOMEDIA Project refers to a research project funded by the European Commission under Framework Programme 7 with reference number GA 610576.
  • The NUBOMEDIA website, also called NUBOMEDIA Community website or Community website, refers to the website reachable at http://www.nubomedia.eu/.
The NUBOMEDIA Community objectives

The NUBOMEDIA Community is a Free Open Source Software (FOSS) community having the objective of promoting, enhancing, maintaining and evolving, in the long term, the software generated as a result of the NUBOMEDIA Project. We call the NUBOMEDIA Platform to this software and to the rest of enhancements and extensions that may be created after the above-mentioned project ends.

The NUBOMEDIA Community shall be based on a membership mechanism through which members shall commit to the following:

  • To maintain and evolve the software assets of the Community.
  • To comply with the Community governance model and best practices.
  • To promote the Community and work constructively for defending the NUBOMEDIA good name.
The NUBOMEDIA Community: Associated Projects and Members

For attaining its objectives, the NUBOMEDIA community is organized around two concepts: associated projects and members.

Associated Projects are structured sets of software artifacts providing demonstrable value to the NUBOMEDIA Platform. Associated Projects typically consist on open source software projects which have been designed for providing a capability to the NUBOMEDIA Platform. Hence, from a software perspective, the NUBOMEDIA Community is a collection of Associated Projects whose composition is determined through the NUBOMEDIA Decision Procedures.

Members are individuals or organizations who support the NUBOMEDIA Community and who govern it following the NUBOMEDIA Decision Procedures.

NUBOMEDIA Community Members

For attaining its objectives, the NUBOMEDIA community is organized around two concepts: Projects and Individual Members.

Projects are structured sets of software artifacts providing demonstrable value to the NUBOMEDIA Platform. Projects typically consist of open source software projects which have been designed or are suitable for providing a capability to the NUBOMEDIA Platform. Hence, from a software perspective, the NUBOMEDIA Community is a collection of Projects whose composition is determined through the NUBOMEDIA Decision Procedures. These Projects maintain some independence to evolve and to define their own governance mechanism and roadmaps as long as the NUBOMEDIA Governance rules specified here are satisfied. The community website shall maintain an inventory of Projects publicly accessible.

Individual Members are individuals who support the NUBOMEDIA Community and who govern it following the NUBOMEDIA Decision Procedures.

NUBOMEDIA Community Individual Members

Governance of the NUBOMEDIA Community is managed through Individual Members, who have a right of vote in agreement with the Community Decision Procedures. Membership is free of charge, although it requires the satisfaction of a number of requirements:

  • An Individual Members is a person who participates on her own.
  • Any Individual Member must demonstrate its commitment towards the Community by providing relevant contributions to it in terms of monetary donations, infrastructure donations, effort or code.
  • Any Individual Member must commit to comply with the Community governance model and practices
  • Any Individual Member must commit to promote the Community and work constructively for defending the NUBOMEDIA good name.
  • Anyone can become an individual member as long as the Community Decision Procedures for the integration of new Individual Members of the Community, as specified below, are satisfied.

Each of the Individual Members shall have one vote on the Community Decision Procedures.

Community Governance Structure

The Community shall be governed by the following bodies and positions:

Board of Directors

The Board of Directors is elected by the Individual Members following the Community Decision Procedures specified below. The Board of Directors comprises 5 individuals, that might be Individual Members or not. Once constituted, the Board of Directors shall appoint a Chairman that shall preside the Board of Directors and shall have be appointed to representing it in all fora. The Board of Directors may appoint a number of Executive Officers that shall assume, when appropriate, specific responsibilities on the community such as marketing, communication, operations, release planning, etc.

Project Lead

Any Projects integrated as part of the Community shall have a Project Lead, who shall be supervising the technical activities on the specific Project. The Project Lead shall be appointed by the Board of Directors and shall report to it.

Community Decision Procedures

The following decision procedures shall be used for the Community governance:

Decision procedure for the integration of new Individual Members into the community

The integration of a new Individual Member into the community shall be performed through vote following this procedure:

  • Candidatures to become an Individual Member shall be endorsed by at least one actual Individual Member.
  • Candidatures to become an Individual Member shall provide the information justifying the opportunity of integrating that member into the community. That information should contain any relevant data helping the actual members to evaluate the suitability of the new member and their contributions to the Community. The information shall be made available for evaluation to the rest of members, at least, during 1 month previous to the vote.
  • All actual Individual Members shall have right to vote through any available mechanism providing reasonable reliability guarantees, including e-mail or WWW voting services.
  • The new Individual Member shall be accepted whenever the number of positive votes is strictly over half of the number of actual Individual Members at the time of vote.
  • Upon acceptance, the new Individual Member shall become an actual member to all effects.
Decision procedure for electing the Board of Directors

The Board of Directors shall be elected among all actual Individual Members in a vote taking place once per year:

  • Candidatures to become part of the Board of Directors shall be presented providing any relevant information about candidates to the Individual Members. That information shall be available during at least 1 month previous to the vote.
  • The Individual Members shall vote among the available candidates through any available mechanism providing reasonable reliability guarantees, including e-mail or WWW voting services.
  • The Board of Directors shall be constituted by the 5 candidates with more votes.
Decision procedure for modifying the Community Governance Model

The Board of Directors may propose modifications to the Community Governance Model specified in this document. Their approval shall require the following procedure to be executed:

  • Suggested modifications shall be presented together with any additional information considered relevant for their evaluation. That information shall be available during at least 1 month previous to the vote.
  • The Individual Members shall vote through any available mechanism providing reasonable reliability guarantees, including e-mail or WWW voting services.
  • The proposed modifications shall be approved whenever the number of favorable votes is equal or bigger than two thirds of the number of actual Individual Members at the time of vote.
Decision procedure for the removal of Community Members

Any Individual Member may explicitly refuse to its membership, in which case, it shall be cancelled automatically. In addition, any Individual Member may propose the removal of other members or representatives from the list of actual Individual Members. For this, the following procedure shall be applied:

  • The identity of the specific member to be removed, as well as the justification for removal, shall be provided to the Individual Members. The specific appointed member may answer to that information with further data defending its membership. That information shall be available during at least 1 month previous to the vote.
  • The Individual Members shall vote through any available mechanism providing reasonable reliability guarantees, including e-mail or WWW voting services.
  • The member or representative shall be removed whenever the number of votes supporting the removal is equal or bigger than two thirds of the number of actual Individual Members.
Decision procedure for the integration of new Projects into the community

Any member may propose the integration of a new Project into the Community. For this, the following procedure shall be applied:

  • The proposer shall present all the relevant information demonstrating the interest of the new Project for the Community as well as the identity of the initial Project Lead for it. That information shall be available during, at least, 1 month previous to the vote.
  • The Individual Members shall vote through any available mechanism providing reasonable reliability guarantees, including e-mail or WWW voting services.
  • The project shall be accepted as a new Community Project whenever the number of positive votes is strictly over half of the number of the actual Individual Members.
  • In case of acceptance, the Project shall have 1 month of time for adapting to the NUBOMEDIA Community Rules in Relation to the Release of Software Artifacts. After that period, the Project shall become part of the community with full rights.
Decision procedure for the removal of Projects from the community

Any member may propose the removal of an Project from the Community. For this, the following procedure shall be applied:

  • The proposer shall present all the relevant information justifying the need for removing the Project. That information shall be available during, at least, 1 month previous to the vote.
  • The Individual Members shall vote through any available mechanism providing reasonable reliability guarantees, including e-mail or WWW voting services.
  • The project shall be removed as a Community Project whenever the number of votes supporting the removal is strictly over half of the number of actual Individual Members.
Community Governance Principles

This section contains a set of informal ethical and behavioral principles that should govern Community decisions in order to maintain an open vision and attitude towards users, committers and members.

Meritocracy

The basic principle through which authority emerges is meritocracy (literally government by merit). Individual Members demonstrating higher knowledge and commitment with the project should have priority at the time of assigning responsibilities.

Communication

The main communication channels among community members is e-mail. E-mails shall be organized through subjects as “virtual discussion rooms” where conversations shall take place asynchronously. This shall simplify the collaboration in geographically distributed groups. Some projects may also use more synchronous mechanisms such as instant messaging or teleconferences.

Documentation

Each project is responsible for its own project communication mechanisms. This includes the project website, which is optional, and the project documentation, which is mandatory.

Philosophy

While there is no official philosophical doctrine, the following principles are considered as core beliefs of the Community:

  • Collaboration: this is the way to work and to solve problems.
  • Commercial-friendly standard license: LPGL and Apache-like licenses are preferred.
  • Consistently high quality software: test, test and test.
  • Respectful, honest, technical-based interactions: leave your ego at home.
  • Faithful implementation of standards: standards are not mandatory, but are preferred.
Operation

All Projects are composed of volunteers and none of their members are paid directly by the NUBOMEDIA Community. Committers and Individual Members may be paid to work on the projects by any interested individual or organization, but never by the NUBOMEDIA Community itself. The NUBOMEDIA Community, however, may contract out other different services including infrastructure administration, accounting or communication.

Balancing confidentiality and public discussion

We endeavor to conduct as much discussion in public as possible. This encourages openness, provides a public record and stimulates the broader community. However, sometimes internal communication is necessary. In this case, members should use their common sense for maintaining reasonable etiquette and do not disclose sensitive information without the permission of the affected people or entities.

Community Rules in Relation to the Release of Software Artifacts

This section contains a set of rules and recommendations for the release of software artifacts in the context of the NUBOMEDIA Community. All Associated Projects MUST comply with the rules and SHOULD take into consideration the recommendations and comply with them whenever it is possible.

Distribution of source code
  • With independence on the existence of multiple distributions mechanisms, all associated project MUST make available the source code in GitHub (http://www.github.com).
  • Each GitHub repository README.md file MUST include the following:
    • The following sentence: "This project is part of NUBOMEDIA"
    • A link to www.nubomedia.eu.
    • Licensing and contributions policies.
    • A short description of the repository structure.
  • The released artifacts must comply with the following:
    • They MUST contain the source code of any NUBOMEDIA-related feature.
    • They SHOULD contain source code of examples and tutorials
    • They MUST contain up-to-date documentation including:
      • Installation guide.
      • Developers guide.
      • Reference documentation.
  • Documentation sources MUST be under version control in GitHub.
  • Up-to-date versions of the documentation MUST be published in https://readthedocs.org/.
Distribution of open binaries
  • All Java API releases MUST be distributed through Maven central.
  • All JavaScript API releases MUST be distributed through Bower (browser) and npm (node).
  • All Debian or Ubuntu artifacts MUST be distributed through a public Debian repository.
Community support
  • All Associated Projects MUST maintain a public issue tracker where bugs and problems can be reported.
  • All Associated Projects MUST maintain a public mailing list where questions from potential end users shall be answered.
  • All Associated Projects MUST nominate a responsible person that could be contacted in case of problems.
Continuous integration rules
  • All Associated Projects SHOULD create and maintain a public CI system validating:
    • That all artifacts can be built and deployed accordingly to the installation guide.
    • That artifacts’ functionalities are validated with, at least, one integration test each.
Community launch

As the Community is the result of the NUBOMEDIA Project, the initial community structure shall be created from the project decision making organisms. The official launch of the community to the public with full independence of the project shall also be provided by such organisms and shall never be after the last day of the project (i.e. Jan, 31st 2017).