This document outlines the different roles and responsibilities within the HyDE project.
New contributors typically start in one of two roles:
- Collaborator: Focus on code review, triaging issues and pull requests, and contributing code
- Tester: Focus on quality assurance and testing
Both paths provide valuable experience and a chance to learn about the project while contributing meaningfully.
Collaborators have various responsibilities which may include:
- Labeling and categorizing issues appropriately
- Identifying duplicate issues
- Helping to prioritize work
- Submitting high-quality pull requests
- Participating in code reviews
- Managing issues and discussions
- Contributing code and documentation
- Helping maintain project quality and standards
- Participating in project planning and roadmap discussions
- Mentoring new contributors
Different collaborators may focus on different aspects based on their skills and interests.
Write access to the repository is granted only after:
- Time-based evaluation: Contributors must be actively involved with the project for a minimum of 3-6 months, showing consistent contributions and engagement.
- Code familiarity: Maintainers must be confident that the contributor thoroughly understands the codebase they're working with.
- Trust establishment: Due to past experiences with contributors who gained access and later abandoned the project, we require demonstration of long-term commitment.
- Knowledge transfer: Contributors must document their work sufficiently so that others can maintain their code if necessary.
- Code review history: A track record of thoughtful code reviews and responsive updates to feedback.
This careful approach to granting write access helps maintain project stability and ensures that all code is properly maintained over time.
Testers focus on quality assurance throughout the development process. Their responsibilities include:
- Verifying bug fixes and new features in the
devbranch - Writing and executing test cases
- Performing regression testing before releases
- Helping to identify edge cases and potential issues
- Documenting testing procedures and results
- Providing feedback on user experience
- Working with developers to reproduce and isolate bugs
Effective testing is critical to maintaining high quality standards and ensuring a stable product for users.
If you're interested in taking on any of these roles, please:
- Contribute regularly to the project to demonstrate your skills and commitment
- Open a pull request to add your name to the CONTRIBUTORS.md file as either a "Collaborator" or "Tester"
- In the PR description, include your relevant experience and what you hope to contribute in this role
Project maintainers will review your contribution history and PR before approving the role assignment.
Note: Initially, collaborators won't have write access to the repository. Write access is granted based on the criteria outlined in the "Granting Write Access" section after demonstrating consistent contributions over time.