Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call for [CODE] Maintainers #1937

Closed
derberg opened this issue Jul 12, 2023 · 21 comments
Closed

Call for [CODE] Maintainers #1937

derberg opened this issue Jul 12, 2023 · 21 comments

Comments

@derberg
Copy link
Member

derberg commented Jul 12, 2023

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.

@fmvilas
Copy link
Member

fmvilas commented Jul 12, 2023

@Amzani @magicmatatjahu @KhudaDad414 don't miss this. We can (and probably should) do something similar on Studio.

@AnimeshKumar923
Copy link
Contributor

AnimeshKumar923 commented Jul 12, 2023

Hey @derberg

  • I aspire to be a Full-Stack Web Developer. Currently I'm learning CSS and will complete it in 1 week and then move on to learning JavaScript. I, as of now, don't know Next.js, React.js or JS to be honest. While I understand that I'm at a very early-stage currently and I need to grow and learn more, what steps can I take from here?
  • The points you mentioned in Why you should be a maintainer section are very compelling to me to become a maintainer here. 🤩
  • I know basic markdown as I've worked on issues using that.
  • Based on the above context, what can I do in order to become a maintainer here? Willing to put in the effort 💪 Please guide and help 🙏 🙇
  • Also, adding this tweet from Lukasz about what does a maintainer do which I love and keep in my mind respect++ ❤️

@CatherineKiiru
Copy link

CatherineKiiru commented Jul 13, 2023

Hello @derberg I would like to join the team as a maintainer. I am a software developer currently working with JavaScript, React, Node.js & Tailwind CSS. I am currently contributing to CHAOSS and Flowbite though code & documentation respectively. I do have a genuine interest in Open Source, and I actively participate though code contributions, documentation and community management. I am available to work on the 3 issues to learn the basic set up of the project.

@derberg
Copy link
Member Author

derberg commented Jul 13, 2023

@AnimeshKumar923 you definitely have to be patient as there is still a lot of learning ahead. But the best learning is through practice. You first learn basics, for example coding basics, and then you apply them in practice. Since you are doing CSS now, then try that in practice here, we have css/tailwind related work, there are PRs from others, issues that need fix. Join there, review, learn and practice.

@CatherineKiiru hey thanks a lot for joining here. Did you have a chance to contribute to any AsyncAPI project? and meet the community? First thing would be to fork the the website project and get it funning on your local and check if current development guide was helpful or some fixes could be added.


We will have this issue open for several days to gather people that are interested and also drive followup discussion. I bet that once we are ready we will probably organize some meeting to get on started.

@anshgoyalevil
Copy link
Member

anshgoyalevil commented Jul 13, 2023

@derberg

I am very much interested in becoming a maintainer.

Why me?

  • While I was previously trying for GSoC'23 under the Palisadoes Foundation, I watched their 2 repositories (Talawa-API and Talawa-Admin) with All Activity notifications turned on. I used to receive around 100+ emails each day for 4-5 months. 50+ PRs and 70+ issues created, and 500+ comments and code reviews. Though, I was not selected due to some internal biasing, but learnt a lot from there 💪

  • I am also a Sub-Maintainer of https://github.com/meshery org.

A glance at my GitHub stats:

Metrics

In case, the above SVG is not loading: (Raw) https://raw.githubusercontent.com/anshgoyalevil/anshgoyalevil/main/github-metrics.svg
(Rendered) https://github.com/anshgoyalevil/anshgoyalevil/blob/main/github-metrics.svg

Copy link
Member Author

derberg commented Jul 13, 2023

I watched their 2 repositories (Talawa-API and Talawa-Admin) with All Activity notifications turned on. I used to receive around 100+ emails each day for 4-5 months

haha you definitely know what you are signing up for 😃

@anshgoyalevil
Copy link
Member

anshgoyalevil commented Jul 13, 2023

@derberg Definitely. It was giving me the fake feeling of being a maintainer 😆. The pre-contribution period (Feb-April) when Outreachy participants and GSoC participants flood the GitHub issues with comments and PRs.

@CatherineKiiru
Copy link

@CatherineKiiru hey thanks a lot for joining here. Did you have a chance to contribute to any AsyncAPI project? and meet the community? First thing would be to fork the the website project and get it funning on your local and check if current development guide was helpful or some fixes could be added.

We will have this issue open for several days to gather people that are interested and also drive followup discussion. I bet that once we are ready we will probably organize some meeting to get on started.

@derberg, Great! I did want to contribute to the Spec 3.0 docs, but did not get a chance because most issues were scheduled for the Gsoc23 mentees. Aside from that I have intereacted with some community members.

@sambhavgupta0705
Copy link
Member

@derberg I would like to be a part of the team. I have been contributing to AsyncAPI since February and website was the first project to which I contributed and have contributed in different aspects starting with simple css and then to some big issue fixes and would also give me some real-world experience of how to maintain a good project 😄

@Savio629
Copy link
Contributor

I was asking one of the maintainers about how to become a maintainer, and now I have the answer. I am already aware of how challenging it is to be a maintainer, but I also recognize the tremendous value it offers from a learning perspective. I would love to be a part of this team! :)

@quetzalliwrites
Copy link
Member

quetzalliwrites commented Jul 17, 2023

@CatherineKiiru Actually, that information is incorrect.

Folks from 2023 gsoc aren't working on Spec 3.0 docs, they're doing coding projects.

In addition, EVERYONE is welcome to pick up a docs issue for spec 3.0 updates, there are multiple open issues available.

DM me on Slack to get onboarded for docs contributions. 😀

@derberg, Great! I did want to contribute to the Spec 3.0 docs, but did not get a chance because most issues were scheduled for the Gsoc23 mentees. Aside from that I have intereacted with some community members.

@CatherineKiiru
Copy link

@CatherineKiiru Actually, that information is incorrect.

Folks from 2023 gsoc aren't working on Spec 3.0 docs, they're doing coding projects.

In addition, EVERYONE is welcome to pick up a docs issue for spec 3.0 updates, there are multiple open issues available.

DM me on Slack to get onboarded for docs contributions. grinning

@derberg, Great! I did want to contribute to the Spec 3.0 docs, but did not get a chance because most issues were scheduled for the Gsoc23 mentees. Aside from that I have intereacted with some community members.

My apologies for the misinformation, I clearly concluded to myself that the spec 3.0 docs was a Gsoc23 project after an earlier conversation we had. Thank you for the clarification!

@reachaadrika
Copy link
Contributor

@derberg , I am contributing to website as a part of GSOC'23 , and my project involves writing tests for website , as well as some code refactoring in the website . Up until now , I have covered most of the components in the website and while writing tests I have an in depth knowledge of the code and will further be diving deep into the scripts as well as the markdowns . I would love to be part of this amazing community ahead too . I understand being a maintainer takes a lot of patience and reponsibility I am ready to put my 100% to the task .

@derberg
Copy link
Member Author

derberg commented Jul 19, 2023

Nice to see so much interest 😍 Let's give it few more days, we are not in rush

@Anand-Theertha
Copy link

Hello all! I'd love to put in the effort to pursue to become a maintainer, but I also am working as a full time employee, I suppose this might be a hindrance. I'd love to know your thoughts/approach.

@derberg
Copy link
Member Author

derberg commented Sep 5, 2023

Ok, I think we have it enough time.

@akshatnema @magicmatatjahu to not overload us too much, I suggest:

  • we are 3 maintainers, so we man max mentor 3 people
  • to make it easier for us, from my perspective 2 out of 3 should be @reachaadrika and @anshgoyalevil as they already know the project well as they contribute through AsyncAPI Mentorship and Google Summer of Code
  • we just have to sync and decide who will be a 3rd person, and who is a "lead-go-to" mentor for each "maintainer-candidate"
  • (optional) we call it a trial of idea called AsyncAPI Maintainership 😃

other people that will not be accepted for now should not be worried as we have other "frontend" projects (like conference website) and maintainers there will for sure be happy to onboard new potential maintainers

thoughts?

@akshatnema
Copy link
Member

we just have to sync and decide who will be a 3rd person, and who is a "lead-go-to" mentor for each "maintainer-candidate"

That's difficult part between us 😆. But surely, it will be you first to guide them at master level 👍

@magicmatatjahu
Copy link
Member

@derberg @akshatnema

No problem and good idea, but as you know, I haven't been contributing much to AsyncAPI lately, so I will help as much as I can :) However, the @anshgoyalevil choice is a good direction because he already know the source code of website very well.

@derberg
Copy link
Member Author

derberg commented Oct 3, 2023

@akshatnema I think that you are actually already acting as lead mentor for @reachaadrika to become maintainer here 😄 So just folks ping me if you need something from me

@magicmatatjahu I can help out when @anshgoyalevil ends AsyncAPI Mentorship, to assign some triage/review tasks. Although it will be easy task as @anshgoyalevil already have experience and participated in other tasks helping with review.

looking at the list of all candidates,
@akshatnema @magicmatatjahu I propose @sambhavgupta0705 to be a 3rd candidate. He already contributed a lot to AsyncAPI website and other projects, and already helped with reviews and triage in simple issues. My only condition is that he can be candidate to mentor only if he completes his AsyncAPI Mentorship.

thoughts folks?

@anshgoyalevil
Copy link
Member

Thanks @magicmatatjahu and @derberg for believing in me. I am all in for the AsyncAPI Maintainership 😄 to learn from some great open-source contributors like @akshatnema and the whole AsyncAPI website CODEOWNER team

Since this maintainership is being pulled on to reduce the current overhead on the present maintainers, we (maintainees) would try our level best to make sure we don't tag you folks to ask for help every now and then 😅

A +1 for @reachaadrika since she has written the whole Cypress Test Suite and has a deep understanding of all components, and for @sambhavgupta0705 for some quality-of-life improvements to the AsyncAPI website 💯

@derberg
Copy link
Member Author

derberg commented Nov 16, 2023

closing

@anshgoyalevil and @sambhavgupta0705 are already in onboarding program to become maintainers.

@reachaadrika is not active recently. Had a chat with Aadrika on how are the things. So yeah, Aadrika whenever you are ready to come back and work on becoming a maintainer, the doors are still open as you know the project very well. Just ping me and @akshatnema and we can have a call

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

No branches or pull requests