Maintainer Diversity Best Practices

The following is a set of items that can help in increasing maintainer diversity for projects. If there are any questions on how to implement these practices, please reach out to the community architects or the TOC. Also, if you have additional items that have helped your project increase your maintainer diversity, please feel free to file a PR to add those items.

Welcoming Environment

  • See video on creating a welcoming community
  • Encourage Collaboration
  • Constructive Feedback
  • Recognize Contributions
    • SWAG
    • Public Recognition
    • Contributor Spotlights
    • Celebrate Milestones
    • Badging
  • Distribute Responsibilities
  • Empower Contributors
  • Delegate Tasks
    • Issue Manager
    • FAQ Manager
    • Writing Documentation
    • Reviewing Pull Requests
  • Community Building
    • Pair Programming Sessions
    • Contributor Office Hours
  • Retesting Landing Process for New Users
  • How to Retain Maintainers

Improving Processes

  • Have all meetings in the open (including standups)
    • Consider rotating meeting times to accommodate different time zones.
  • Document Everything
    • Decision Making Process
    • Decisions
  • Have all discussions publicly
  • Code Quality
  • CI/CD Pipelines
  • Local Testing
  • Pull Requests
    • Doing pull requests quickly
    • Easy pull request workflows
    • FIFO is important
    • Responding within a short time frame even if you are not going to look at it immediately
    • Invest in finding contributors / maintainers
    • Work with the Hyperledger staff on ways to reach out to the larger community

Documentation

  • Maintainers Guide
    • Procedure for becoming a maintainer
    • Duties of a maintainer
    • Paths for contributors to become maintainers
    • Transparent decision making process
    • Criteria and expectations for becoming a maintainer
      • Alignment to community values
      • Technical Proficiency
      • Understand project goals
  • Contribution Guide
    • Requirements for contributing
    • Local development environment setup instructions
    • Code style guidelines
    • Testing procedures and requirements
    • Why contributing makes sense
      • Convincing your management that contributing makes sense
      • Continue to contribute after leaving a company
  • Producing Video Content
  • Translation / Localization

Places to Find New Maintainers

  • Existing Contributors
    • Enthusiastic
    • Consistent contributions
  • Learning Opportunities
    • Mentorship program
    • Workshops
    • Webinars
    • Meetups
    • Documentation sprints
    • Events
    • Conferences
  • New Contributors
    • Good first issues
      • Provide details and suggested directions for solution
    • Hactoberfest
    • Frequent users
  • Researchers
  • Consultancies and Service Providers
  • Vendors of Commercial Offerings
    • Convey value
  • Non-coders
    • Not all maintainers are coders
      • Issue manager
        • FAQ manager
      • Translation manager
      • Documentation manager
      • Pull Request manager
      • Release manager
  • See Raising the Profile of your Project or Lab