Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Onboarding first time contributors #147

Closed
benjamingr opened this issue Jun 22, 2017 · 11 comments
Closed

Onboarding first time contributors #147

benjamingr opened this issue Jun 22, 2017 · 11 comments

Comments

@benjamingr
Copy link
Member

benjamingr commented Jun 22, 2017

Hi,

I've onboarded several first time contributors for the second time yesterday resulting in a flurry of simple pull requests: nodejs/node#13845 nodejs/node#13846 nodejs/node#13848 nodejs/node#13849 nodejs/node#13851 nodejs/node#13852 nodejs/node#13853 nodejs/node#13855 nodejs/node#13844

I'd first like to thank the project for making doing this relatively easy. After relatively simple instructions about 80% of the people were able to create a first pull request relatively on their own. A few others have taken deeper looks at Node issues but did not create a pull request - which was also fine. The project has overall been clear and accessible to first time contributors in both cases.

Now, I have some questions if that's ok:

  • Is there a standard way for onboarding first time contributors? We have these "open source" events once a month where people learn to write open source for the first time and see it's not scary. I emphasize the project is actively inclusive and to feel free to reach out - but I'm not sure if we have a standard way of handling it.
  • Is the churn of 9 pull requests from 9 new first time contributors fine? I personally think it's important to get new people involved and am fine with the churn but I don't want to do something other members feel strongly against.
  • Is there any guide about how to make a second contribution fora first time contributor? Are there any online guides I can refer people to?

Thanks, and sorry if these questions are obvious - I couldn't find answers in the docs but maybe I'm not looking in the right place.

@benjamingr
Copy link
Member Author

The process on my end was:

  • Explaining in about 5 minutes how Node works, what open governance and inclusivity means and how they can contribute - and how to reach out if they have an issue with the process.
  • Pointing them to a document explaining how to fork/clone node (I know forking is a click, but some people had a hard time understanding it initially - should we maybe elaborate in the docs?).
  • Explaining how to build Node, the docs do a good job here too - but some people with Windows had a hard time. In particular, BUILDING.md on Windows does not elaborate on adding Python to the path file. After some help all were done.
  • Building the first build, it's slow, and some people were sure it was "stuck" on Windows.

@refack
Copy link

refack commented Jun 22, 2017

@benjamingr personally for me it was nice to see new faces (OK, avatars) and I from the interaction I had with the people I felt enthusiasm. I'm big 👍 for this.
For very high level guide on how to think about a PR there's nodejs/node#12791 (specifically this guide) that we haven't found a place for but the text has been well edited, and relatively accepted (might be a bit opinionated to be landed in the repo, but definitely blog worthy).

To the others, evangelizing OSS in Israel is a laudable goal. A certain big software vendor has a very strong hold on the public education system (and the army, which is de-facto the place people do an internship). As a consequence IMHO there is less OSS then should be.

@refack
Copy link

refack commented Jun 22, 2017

but some people with Windows had a hard time. In particular, BUILDING.md on Windows does not elaborate on adding Python to the path file. After some help all were done.

AFAIK the python installer should handle that 🤔

@benjamingr
Copy link
Member Author

Pinging @nodejs/community-committee as I just learned about it!


@refack

AFAIK the python installer should handle that 🤔

"Add Python to Path" is an option in the Python installer, I'm not sure most people have it selected. In any case, I wouldn't want that to be a barrier for new contributions.

@vsemozhetbyt
Copy link

vsemozhetbyt commented Jun 22, 2017

I can also recall a small init guide from NodeTodo.

@refack
Copy link

refack commented Jun 22, 2017

"Add Python to Path" is an option in the Python installer, I'm not sure most people have it selected. In any case, I wouldn't want that to be a barrier for new contributions.

nodejs/node#13881
nodejs/node#13882

@Trott
Copy link
Member

Trott commented Jun 23, 2017

Is there a standard way for onboarding first time [first-time contributors]?

I don't think so. (Feel free to document something in a markdown file and open a pull request to add it to our guides or something like that.)

Is the churn of 9 pull requests from 9 new first time collaborators fine?

We've had Code + Learn events where many times that number of PRs are opened in a few hours from new contributors. 9 pull requests is not a problem.

Is there any guide about how to make a second contribution [for a] first time contributor?

I wrote this: http://nodetodo.org/next-steps/ (Feel free to fork the NodeTodo site on GitHub if you have things to add to it! Link is in the footer of every NodeTodo web page.)

On the whole Python/path/Windows thing: I would definitely recommend always making sure that you have at least one person on hand as a mentor who can troubleshoot Windows. (We definitely could use more representation on the project from folks for whom Windows is their primary development environment!)

@gibfahn
Copy link
Member

gibfahn commented Jun 23, 2017

Is there a standard way for onboarding first time collaborators?

Can we please call them contributors? I know it's an unintuitive distinction, but it's all we currently have to differentiate between contributors and collaborators.

@benjamingr benjamingr changed the title Onboarding first time collaborators Onboarding first time contributors Jun 23, 2017
@benjamingr
Copy link
Member Author

Can we please call them contributors? I know it's an unintuitive distinction, but it's all we currently have to differentiate between contributors and collaborators.

Apologies, you are right and I should have known better.

@gr2m
Copy link

gr2m commented Jun 26, 2017

hey @benjamingr this looks great 👍 I’m a new member at @nodejs/community-committee and not a Node.js contributor myself, but am very interested in making Open Source projects more welcoming to new contributors in general. We shared some of our best practises at Hoodie at http://hood.ie/blog/welcoming-communities. I also gave a talk on it

Here a few thoughts

  • We use the first-timers-only label as it gets picked up by @first_tmrs_only on twitter so you reach more people.
  • We created a dedicated repository for (new and existing) contributors at Hoodie as code is spread across multiple repositories: https://github.com/hoodiehq/camp. A new convention I see emerging is to have a repository called welcome, we plan to rename camp to welcome, too. A dedicated repository allows us to put some general information for new contirbutors into the README file and use special issue templates. We can people who want to work on the starter issues to the repository so they can check of checklists in the issues to show their progress, without being able to do any harm as there is no code. This is also great to measure conversion from people who contributed to one of these issues to people who became overall Node contributors
  • Talking about checklist, we have a pretty well defined process / template, for example Update License Year in hoodie-admin-client repository hoodiehq/camp#118. We are working on bots to help streamline the process, including a bot which lets us create these kind of issues with minimal effort
  • The benefit of having a well described process of contributing is also great to onboard new people who want to help reviewing pull requests, as they can follow the same instructions
  • Welcome new contributors and give them a shoutout through the channels you have :)

Is there any guide about how to make a second contribution fora first time contributor? Are there any online guides I can refer people to?

This is a very good question, I haven’t seen any conventions around that yet. But http://nodetodo.org/next-steps/ looks like a great starting point. It could be part of the process to link to it after a starter issue was completed

@benjamingr
Copy link
Member Author

Thanks, looks like CommComm is the right place to discuss this - I'll open an issue there after the election is over.

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

No branches or pull requests

6 participants