Skip to content

Call for [CODE] Maintainers #1937

Description

@derberg

So, in bullet points:

  • At the moment website has 6 maintainers but only 3 that can do code review - @akshatnema @magicmatatjahu and @derberg
  • We quite often openly say that we always welcome new maintainers, but it is more a promise rather than commitment
    Promise is an assurance or declaration of doing something or related to happening of something. 
    Commitment refers the declaration for which one tends to becomes dedicated to ensure that the declaration holds true
    
  • We (@akshatnema @derberg @magicmatatjahu) want to experiment and do another approach:
    • we openly say: "we need more maintainers, at least 3!"
    • we commit to set a path for candidates, what they need to do, to become maintainer
  • Maybe we will be able to use this experiment to define best practices knowledge about what it really means to be a maintainer and how to try to be one

Now we have to agree, on website example, what it means to be a maintainer, figure out potential candidates to mentor and set a clear path to become a maintainer.

Proposal of basic assumptions

@akshatnema @magicmatatjahu sharing here and let us discuss in public

What it means to be a maintainer:

  • Maintainer work is considered by many to be a boring task as instead of creating you focus more on enabling others to create
  • Maintainer is basically a senior person that knows not only features matter
  • You care not only for the project content but also for its community health
  • You are like a gatekeeper that makes sense any changes in the project fulfils it's goals
  • When you accept changes to the project, you need to make sure your able to maintain them later
  • Triage of issues and PRs is what will consume most of your time
  • Cooperate with other maintainers they are aware of bigger changes in the project. Cooperate closely with maintainers focused on documentation or design, or other aspects of the project
  • Be patient and know changes take time, a lot of time

Why you should be a maintainer:

  • You grow your experience working with others in remote environment
  • You learn working in a group with people from different backgrounds with different level of experience
  • You learn how to lead and grow a project
  • Maintainers are by default allowed to join AsyncAPI TSC and wider AsyncAPI community to help it grow
  • You get a public exposure and learn to work in open without politics

All of ☝🏼 make you a very valuable hiring candidate.

Path to be a maintainer

Think it through

It requires time and patience. Make sure you know what you are up to. There is also a lot of work and effort committed from maintainers side. So please think about the entire community (people) and the effect on it once you resign half way or right after you become a maintainer.

Kick off

To become a maintainer candidate you need to complete at least 3 issues that will enable you to know the basic setup of the project and the community behind it - so you can validate of this is the place where you want to be long long term.

Mentoring

Existing maintainers define a set of tasks you need to pick up:

  • Basic issues related to different parts of the project - so you understand basic project structure
  • Developer guide verification and update - so whatever you learned is persisted in a form of docs for future candidates
  • Point to few PRs where you will be an 2nd reviewer. So maintainer reviews first, and then you do another round
  • Point to few PRs where you will be an initial reviewer and then you will call for another maintainer review
  • Point to few issues with the same flow as in case of PRs
  • More advanced issue to implement where you need to cooperate with docs/community/designers maintainers

Additionally:

  • We need to learn during the process that you can handle the basics around the project, like Next.js (that website runs on), Nodejs (our beautiful scripts 😄 ), React.js, Markdown
  • You will have to observe maintainers and their interactions and learn from them taking the right decisions.

Proactiveness and ownership is a key.

Evaluation

Mentors need to sync and evaluate if given candidate is ready to become a maintainer. Sometimes it is a long process, but maybe with the way we do it this time, when we are focus on a goal it will be faster.


@akshatnema @magicmatatjahu am I making this clear, do you agree, did I miss something?

you're also having 2 mentees (from GSoC and AsyncAPI Mentorship) that will learn the project very well in coming weeks and might be interested in becoming maintainers, you can check with them.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions