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

Getting involved in the React Native Community #46

Closed
kelset opened this issue Jul 4, 2019 · 29 comments
Closed

Getting involved in the React Native Community #46

kelset opened this issue Jul 4, 2019 · 29 comments
Labels
discussion Let's talk about stuff

Comments

@kelset
Copy link
Contributor

kelset commented Jul 4, 2019

Introduction

This wants to basically be a "better written version" of the answer I tend to give to people that ask me "how can I get involved in the RNComm" and variations - hoping that this can serve as a baseline to then turn the whole conversation into something we can put in the guidelines.

The core of it

Basically, active involvement in the React Native Community can be sort of defined in one of these three roles:

External contributor

This is the easiest / broadest "bucket" - anyone who submits a PR to any of the repos without having any level of permissions on it is here.
The PRs could be about anything, from fixing a bug to improving the README, and usually it's a 1-PR-and-go scenario (also called "drive-by" in some other oss project).

If an external contributor instead keeps "coming back", and shows that they are interested in helping / that they are passionated about the project - which usually means submitting more good quality PRs, they can be turned in...

Internal/core contributor

This kind of contributor is different in two ways from the external one:

  1. they have write auth in the repo
  2. they are overall responsible for keeping the codebase in a good state, in ways like
    1. submittings PRs to keep the repo up to date VS react native
    2. publishing new versions
    3. work on releases / update / write the changelogs
    4. adding toolings for things like CI
    5. reviews PRs

Maintainer

Lastly, maintainers - they differ from core contributors in a number of ways:

  1. they only require read level of permissions over the repo (of even the new triage role which is still in beta) to get started
  2. they are overall responsible for keeping the repo in an healthy state, which means doing things like
    1. reviewing PRs
    2. do issue grooming/triaing
    3. introduce & configure things like ProBots
    4. maintain the non-code files in a repo, ex. issue templates, CoC, README etc
    5. work on releases / update / write the changelogs

A way to become a maintainer is also to just start helping out in the issue section of the repo by answering to questions, providing repros and or suggesting workarounds - or even cc'ing in the maintainer on issues that can be closed.


All of this said, usually the core contributor and maintainer are collapsed, and in most conversations even in this repo, they are completely interchangeable. I just wanted to, here, point out the difference because it may provide more roads and more opportunities for new introducing new people that are interested in only some of those things.

Also, basically, both roles are reachable via being a good OSS citizen, by showing interest and commitment 🤗

Discussion points

Please feel free to add roles, tasks and change the ones I described above - I literally mostly free flow wrote everything above so I'm sure it will not be complete or perfect 😅

@kelset kelset added the discussion Let's talk about stuff label Jul 4, 2019
@kelset
Copy link
Contributor Author

kelset commented Jul 13, 2019

Follow up thingy: for the maintainer role we don't have a "trial" like there's - basically - the external contributor role.

And also, we may basically want to get some less experienced developers involved but since they need some guidance we'd prefer to have a "trial" role for that too.

So I'd propose this intermediate step as:

  • invited to the Discord
  • added only to the repo they are getting involved in with Read auths

Lmk what you think - I want a cool name for this role as I feel it would be the one that can make feel new oss citizens more welcomed 🤗

@andrewtremblay
Copy link

andrewtremblay commented Jul 14, 2019

As a "drive-by" contributor, who is looking to be more effective in contributing to the OSS dependencies I use in my projects, but doesn't know how to become more involved in a codebase I know I will be invested in long term (in my case, the Lottie libraries collectively), this is very relevant to my interests.

In my particular case, I might be contributing to multiple repos intermittently (I contribute to lottie-react-native at the moment but will probably want to contribute to react-native-video as well). What would be the best way to maximize my activity and contributions across repositories? I assume these roles are limited to only one repo at a time?

@andrewtremblay
Copy link

Also for your the name of the trial role, I propose the title "Apprentice Maintainer", to imply the next role will be Maintainer once the citizen is vetted.

@kelset
Copy link
Contributor Author

kelset commented Jul 17, 2019

Hey Andrew, thanks for the feedback!

What would be the best way to maximize my activity and contributions across repositories? I assume these roles are limited to only one repo at a time?

Yes and no - meaning: usually maintainers are responsible for one or two repositories, but once you are an active maintainer/core contributor you are also invited to be a member of the RNComm github org, which means that you get write access to all the repos (read more here #40). So once you become a trust-worthy member, you have an easy road in contributing more :)

(and also, access to the discord - I should have been more clear about these things now that I think about it 😅)

Also for your the name of the trial role, I propose the title "Apprentice Maintainer", to imply the next role will be Maintainer once the citizen is vetted.

Interesting! I don't know if apprentice is a positive term (ex. in Italy it's usually connected to being underpaid/ it has a negative connotation) but yeah something along those lines sounds great!

@kelset kelset pinned this issue Jul 17, 2019
@kelset
Copy link
Contributor Author

kelset commented Aug 14, 2019

Other note: we don't have a "procedure" to add/nominate new maintainers 😅

I'd suggest that every member can nominate new maintainers to be added by doing a PR to the classic https://github.com/react-native-community/.github/blob/master/MAINTAINERS.md file and then we do the whole ordeal of adding them to the org, etc etc etc.

@turnrye
Copy link
Contributor

turnrye commented Aug 14, 2019

@kelset I don't know that the same connotation exists here in the US -- I know my family members who are tradesmen view apprenticeships as a pathway to a rewarding career. I'd actually thought of that same phrase before too, because it's pretty fitting. Synonyms I've seen are:

  • assistant
  • learner
  • novice
  • beginner
  • greenhorn

But I still think of the options, apprentice conveys the most accurate depiction.

@kelset
Copy link
Contributor Author

kelset commented Aug 15, 2019

I see - thanks for the details, I would probably go for Learner or Novice then tbh :3

@sibelius
Copy link
Contributor

related to this https://twitter.com/sseraphini/status/1022482395071688704

can we give admin access to invite external collaborators for repos that maintainers maintain?

My admin is to bring some external collaborators while they fix their issues and implement new features that they need, so they can also help on reviewing pull requests and triaging issues

example,

If as I'm the maintainer of react-native-camera, I should be able to invite more people to help me on react-native-camera project, this external collaborators does not need to be members of react-native-community as they contributions could be one-off or just a few contributions

@jgcmarins
Copy link
Contributor

We've been inviting people to help us on react-native-share and it's working.
Developers get engaged to contribute.

@kelset
Copy link
Contributor Author

kelset commented Aug 19, 2019

this external collaborators does not need to be members of react-native-community as they contributions could be one-off or just a few contributions

I don't understand, why having a organisation called "community" if then we don't add the maintainers as members? 😕

Also, your definition of external collaborator is in line with what described in the first post - I just don't understand why give them write or even admin access to a repo where they may be contribute just one time? What's wrong with just merging their 1 PR?

Having write access means being responsible for the codebase.

Could you explain more which kind of role are you trying to describe or you'd want to see in the org? It seems that you want a mix of the internal & external described above. We have also proposed a "novice" role in subsequent comments, doesn't that fit your needs?


That said yeah, the maintainers in the .md file should be admin of their repos. Let's move that part of the conversation to a dedicated issue here #54.

@Naturalclar
Copy link
Contributor

Naturalclar commented Jan 3, 2020

@kelset (cc: @cpojer)
Hello 👋
I'm really interested in joining the RN Community, and I was wondering if I could be maintainers for a/some repositories that seems to be having trouble maintaining it.
I've made some PR to the following repositories that seems to be inactive for a while.
react-native-clip-board
react-native-progress-bar-android
react-native-segmented-control
react-native-push-notification-ios
Would it be possible if I can take the maintainer role of one ore more repositories?
I apologize if this isn't the right place to ask.

@cpojer
Copy link

cpojer commented Jan 6, 2020

Thank you for offering to help. I added you to those repos!

@Naturalclar
Copy link
Contributor

@cpojer
Thank you so much! I'm looking forward to work with other community members.

@kelset
Would it be possible to for you to invite me to the react-native-community org and discord?

@kelset
Copy link
Contributor Author

kelset commented Jan 6, 2020

👋 @Naturalclar - thanks for offering to help! I don't have that level of admin anymore, but I think @cpojer could DM you a link with the invite (cc @Titozzz)

@luancurti
Copy link
Contributor

@cpojer or someone could invite me to be a member of react-native-community ? @vonovak added me as a maintainer of react-native-datetimepicker

@cpojer
Copy link

cpojer commented Feb 6, 2020

Invite for the npm org sent.

@luancurti
Copy link
Contributor

@cpojer thanks! Accepted invite! Can you invite as a member of org in github?

@lucasbento
Copy link
Contributor

@luancurti just sent you the invitation 🙂

@codler

This comment has been minimized.

@lucasbento

This comment has been minimized.

@aksonov
Copy link

aksonov commented May 6, 2020

Hi guys, I'm not sure that it is right topic, sorry.. I'm author or react-native-router-flux npm package that provides stable navigational API (the same API more than 3 years) and lack of maintainers now to release v5.

I think it is good idea to migrate RNRF to react-native-community and find help to support it here, what do you think?

@ajith-ab
Copy link

@kelset (cc: @cpojer )
Hello 👋
I'm really interested in joining the React Native Community, and I was wondering if I could be maintainers for a/some repositories that seem to be having trouble maintaining it.
I've made some PR to the following repositories that seem to be inactive for a while.

Would it be possible if I can take the maintainer role of one or more repositories?
I apologize if this isn't the right place to ask.

Thanks & Regards
Ajith A B

@kelset
Copy link
Contributor Author

kelset commented Jun 15, 2020

@ajith-ab thanks for asking - as far as I can see those 3 libraries you linked are libraries you own? 🤔

Maybe you should focus on keeping them active instead of taking extra burden with other libs from the RNComm org?

Or are you asking to migrate those 3 libraries to the org?

@ajith-ab
Copy link

@kelset Thanks for replying. yes, those 3 libraries are my own. I am interested in developing new packages and contribute more things to React Native Community. As you wish please add me also to the react-native community

Thanks & Regards
Ajith A B

@tbenr
Copy link

tbenr commented Jun 22, 2020

Hi all!
Don't know if it is the right place to talk about this.

I'm contributing to https://github.com/status-im/status-react. Lately I'm working on audio features and i decided to use react-native-audio-toolkit mainly cose I thought that being part of react-community repos should give a good level of quality and maintenance.

Quite early I realize there was several problems on that repo and I provided 4 PRs. There are also other pending PRs and several long-standing issues. I'm happy to contribute but how can we speedup there (cc: @sbeca @kelset)?

@kelset
Copy link
Contributor Author

kelset commented Jun 22, 2020

hey @tbenr, thanks for offering! I've sent the link to your comment to @sbeca in the internal discord so that hopefully he'll be able to reach out to you soon 🤗

@ajith-ab I would recommend that you do similarly to what Enrico is doing: find a library from the RNComm you are using, and start helping it by submitting PRs and then things can evolve from there

@tbenr
Copy link

tbenr commented Jun 22, 2020

@kelset thanks! good to know you have an internal discord to reach you out :) I would be happy to discuss my PRs with him!

@kelset kelset unpinned this issue Sep 4, 2020
@kelset
Copy link
Contributor Author

kelset commented Sep 4, 2020

Hey folks, I'm going to close this issue. I should have probably closed it off once I stopped being an owner of the org and while some conversation around this happened I feel that given the "0 executive power" of these conversations it's better to just close them off - so not to give the misleading signal that something is currently being done on my side (or by anyone tbh) around it.

If and when this topic will get picked up again it's much healthier for whoever will actually handle it to just open a new issue. I'm not against the new issue picking up this same conversation, even copy/pasting stuff from here - but I want to close the ones opened up by me off.

@kelset kelset closed this as completed Sep 4, 2020
@numandev1
Copy link

I'm interested in joining the RN Community, I want to contribute to these repos

https://github.com/react-native-community/upgrade-helper
https://github.com/react-native-community/cli

currently maintaining https://github.com/numandev1/react-native-compressor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Let's talk about stuff
Projects
None yet
Development

No branches or pull requests