Project:GURU



The goal of the GURU project is to create an official repository of new Gentoo packages that are maintained collaboratively by Gentoo users. It follows the tradition of Sunrise project but aims to improve its maintainability by reducing the involvement of Gentoo developers and letting experienced contributors take care of reviewing work of others.

The regulations
Every user willing to contribute to the GURU project needs to explicitly agree with the following regulations.


 * 1) The purpose of GURU project is to maintain a repository that can be reasonably used by Gentoo users. All contributors are responsible for ensuring that the repository is safe to use and free of malicious or severely buggy software.
 * 2) GURU is an official Gentoo project, and is therefore bound by the official Gentoo policies. In particular, the Copyright Policy (GLEP 76) is binding to all committers.
 * 3) While following Gentoo ebuild policies and quality standards is recommended, it will not be strictly enforced. More experienced users are encouraged to improve the quality of ebuilds in GURU, and less experienced users are encouraged to learn from those corrections.
 * 4) Packages in GURU are community maintained. While users are encouraged to list themselves as maintainers and take explicit responsibility for their packages, it is acceptable for others to commit improvements to those packages and to commit packages without an explicit maintainer.
 * 5) At the same time, users are asked to maintain respectful and professional behavior, and to attempt to maintain a good quality of GURU overall.
 * 6) The primary purpose of GURU is to maintain packages not present in the Gentoo repository, or being severely outdated there (please ask developer for permission before forking such a package!). Forking (overriding) actively maintained Gentoo packages into GURU is prohibited.

User roles and responsibilities
GURU notes three classes of users:
 * Regular contributors that are permitted to commit to the development (dev) branch.
 * Trusted contributors that gain additional privilege of merging commits into the reviewed (master) branch.
 * Gentoo developers who are responsible for handling new user acceptance, enforcement of regulations and taking care of emergencies.

New contributors request access via filing a bug (TODO: add a product/component, what data to be provided, etc.) and stating their agreement to the regulations. One of the trusted contributors is requested to sign the request off, and take care of monitoring the activity of the new contributor at least initially. Afterwards, a Gentoo developer grants access to the repository.

Regular contributors perform their work on the development branch. This work is afterwards reviewed by trusted contributors and/or Gentoo developers. They either inform the authors of necessary changes or fix the ebuilds themselves. Whenever the final status is good enough, they merge the changes to the reviewed (master) branch.

The trusted contributor status is granted by Gentoo developers based on previous good work done in GURU. Trusted contributors are generally expected to be responsible for ensuring that the repository is free of malicious or otherwise dangerous code, and for preventing it from reaching the end users via the reviewed branch.

Gentoo developers can join the project at their leisure. Their main role is taking care of technical requests from users, granting trusted contributor privileges and preventing abuse.