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.

Disclaimer
Please note that the GURU project is maintained and reviewed entirely by Gentoo users. It is only subject to minimal supervision from individual Gentoo developers, and is not supported by projects such as Gentoo Security. While our Trusted Contributors do their best to keep GURU safe, it is possible for it to contain vulnerable, badly broken or even malicious software. You are using it on your own responsibility.

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 to have ~arch keywords. Stable keywords must not be used.
 * 5) 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.
 * 6) At the same time, users are asked to maintain respectful and professional behavior, and to attempt to maintain a good quality of GURU overall.
 * 7) The primary purpose of GURU is to maintain packages not present in the Gentoo repository. Forking (overriding) actively maintained Gentoo packages into GURU is prohibited. If the package is moved to Gentoo, it should be removed from GURU.

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 in GURU product and stating their agreement to the regulations. 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.

Resources
Technical resources:
 * repo/proj/guru.git on cgit: web UI to the repository
 * open GURU bugs

Commit feeds:
 * dev branch
 * master branch

GURU guides:
 * /Information for Contributors
 * /Information for Trusted Contributors
 * /Information for Gentoo Developers

Useful development documentation:
 * Devmanual — Gentoo Developer Guide
 * Proxy-maint project user guide (not strictly suited to GURU but contains many useful tips)
 * GLEP 76: Copyright Policy (obligatory)
 * GLEP 63: Gentoo OpenPGP Policies (recommended)
 * GLEP 66: Gentoo Git Workflow (recommended)