Title Collective Maintenance
Student Andrey Falko
Mentor Stephen Bennett
Abstract
Most work in Gentoo revolves around the maintenance of the ebuilds in the portage tree. This work is divided up amongst either individual maintainers or herds. An individual maintainer or a herd is responsible for committing bug fixes and version bumps for the packages that they officially maintain. A single maintainer or herd cannot take on more packages than they have time to work on. As a result, the number of packages that can be well maintained in portage becomes limited by the number of developers. Second, should a maintainer become absent, his packages will not be maintained. Sometimes users will submit ebuilds with version bumps for bug fixes, but not have them committed to the tree until the maintainer returns.

I propose a system that helps overcome these disadvantages. My project will not require a banishment of official maintainers and herds, as there are advantages to such a scheme. My project's goal is to allow Gentoo to expand its capabilities to better support a large number of packages. I propose to create a web interface where users and developers can collaborate on a list of packages maintenance tasks. The tasks in higher demand will be at the top of the list. Users can register, mark that they are working on a task, submit their work, and wait for a developer to review and commit their work. Developers can do the same, with the exception that they will not have to wait for another developer to commit their work.

This interface will effectively allow users and developers to flexibly to take on tasks without needing to search for a maintainer or herd to do the task. This interface can allow for the ability to have packages in portage that are not maintained by a single herd or maintainer, but instead are maintained by the whole community. If an issue arises with such a package, the issue will be put on the task list, and solved by the large number of people who might care about the package.

Another thing that the interface will allow is the ability for herds and maintainers to list tasks that they cannot do. For example, the kde herd is in need of more maintainers to fix a number of outstanding bugs. With the interface, the herd can submit the bugs and see a response from capable people who do not have time to be an official maintainer, but have the time to fix a bug or two. In sum, the interface will allow Gentoo to communicate specific work that needs to get accomplished to the community.