When evaluating potential new MLflow committers, the following criteria will be considered:
- Code Contributions: Should have multiple non-trivial code contributions accepted and committed to the MLflow codebase. This demonstrates the ability to produce quality code aligned with the project's standards.
- Technical Expertise: Should demonstrate a deep understanding of MLflow's architecture and design principles, evidenced by making appropriate design choices and technical recommendations. History of caring about code quality, testing, maintainability, and ability to critically evaluate technical artifacts (PRs, designs, etc.) and provide constructive suggestions for improvement.
- Subject Matter Breadth: Contributions and learnings span multiple areas of the codebase, APIs, and integration points rather than a narrow niche.
- Community Participation: Active participation for at least 3 months prior to nomination by authoring code contributions and engaging in the code review process. Involvement in mailing lists, Slack channels, Stack Overflow, and GitHub issues is valued but not strictly required.
- Communication: Should maintain a constructive tone in communications, be receptive to feedback, and collaborate well with existing committers and other community members.
- Project Commitment: Demonstrate commitment to MLflow's long-term success, uphold project principles and values, and willingness to pitch in for "unglamorous" work.
- Any current MLflow committer can nominate a contributor for committership by emailing MLflow's TSC members with a nomination packet.
- The nomination packet should provide details on the nominee's salient contributions, as well as justification on how they meet the evaluation criteria. Links to GitHub activity, mailing list threads, and other artifacts should be included.
- In addition to the nominator, every nomination must have a seconder -- a separate committer who advocates for the nominee. The seconder should be a more senior committer (active committer for >1 year) familiar with the nominee's work.
- It is the nominator's responsibility to identify a willing seconder and include their recommendation in the nomination packet.
- If no eligible seconder is available or interested, it may indicate insufficient support to proceed with the nomination at that time. This ensures there are two supporting committers invested in each nomination - the nominator and the seconder. The seconder's seniority and familiarity with the situation also help build more consensus among the TSC members during evaluation.
- When a committer nomination is made, the TSC members closely review the proposal and evaluate the nominee's qualifications.
- Throughout the review, the nominator is responsible for addressing any questions from the TSC, and providing clarification or additional evidence as requested by TSC members.
- After adequate discussion (~1 week), the nominator calls for a formal consensus check among the TSC.
- A positive consensus requires at least 2 TSC +1 binding votes and no vetoes.
- Any vetoes must be accompanied by a clear rationale that can be debated.
- If consensus is not achieved, the nomination is rejected at that time.
- If consensus fails, the nominator summarizes substantive feedback and remaining gaps to the nominee for their growth and potential re-nomination later. Nomination can be tried again in 3 months after addressing any gaps identified.
- Upon a positive consensus being reached, one of the TSC members will extend the formal invitation to the nominee to become a committer. They also field the private initial response from the nominee on willingness to accept.
- If the proposal is accepted, the nominator grants them the commit access and the new committer will be:
- Added to the committer list in the README.md
- Announced on the MLflow mailing lists, Slack channels, and the MLflow website
- Spotlighted through a post on the MLflow LinkedIn and X handles
- The nominator will work with the new committer to identify well-scoped initial areas for the new committer to focus on, such as improvements to a specific component.
- The nominator will also set up periodic 1:1 mentorship check-ins with the new committer over their first month to provide guidance where needed.