Roles Within the Community¶
Often, various roles are colloquially referred to in project documentation, in project discussions, or in communication channels. Here we define what each role is, and how individuals who are active within the project may identify their roles. These roles are not necessarily formalized (though the contributor list is), but these definitions may be useful to ensure members of the project have a consistent convention for referring to work within the project.
Contributors/Developers¶
Anybody who submits code to a repository within the yt project organization that is merged is considered a contributor to the project. Contributors to each package will be added to a list of project contributors for that package. For the core yt package, a list of contributors is maintained in the source code repository and on the yt project website. For the purposes of clarity, contributors and developers are terms used interchangably. Contributors’ technical contributions are expected to follow the developer guide of the package. For example, the code guidelines for the yt core package may be found here .
Reviewers¶
Any person can be a reviewer of code submitted to the yt project. Project members have access to merge new code, however we strongly feel that valuable and important reviews may and do come from outside of the project membership. There is no requirement to be a project contributor/developer or maintainer to be a code reviewer. We also strongly encourage yt users to review code submitted to yt so that their experience is incorporated into new versions of the project. Broadly, reviewers will look through code to make sure it behaves as expected, is documented thoroughly, is adequately tested, is appropriate for the project, and follows the requirements for code submission.
Maintainers¶
Project maintainers perform duties of contributors and reviewers, while also actively participating in the community in a number of additional ways. Maintainers help users by answering questions on the users mailing list or in the yt project slack channel. Maintainers also help developers sketch out sustainable ways of implementing new features. Maintainers might also periodically go through open issues and submit bugfixes or improve documentation as needed to keep the project running smoothly. Maintainers are generally yt project members (and have commit rights to the repository).