Contributing to JupyterHub#

This guide should help you get with contributing to JupyterHub during the contribution period as an Outreachy applicant.

Getting started#

If you are new to the JupyterHub project, our contributor guide contains a lot of resources to help you get started. A few sections you should specifically read are:

As you begin to put together your first pull request, these resources may come in handy:

  • GitHub flow: This is a common git/GitHub-based workflow use across Jupyter and other open source projects, so it’s a valuable thing to learn

  • Write informative commit messages: This blog post describes why git commit messages are important and how you can write informative ones. This advice goes for pull requests too! Always update the pull request title with what it will change, and describe why you’re making the change in the body of the pull request.

  • Practice self-review: Checking your own changes against a repository’s contributing guidelines first will help catch any minor issues before someone else reviews it. This will help your pull requests be merged faster, and folks will appreciate the quality and professionalism of your work.

  • Ask good questions: It’s very hard to answer a general question like “How do I do this issue?” When asking for help, explain your current understanding, including what you’ve done or tried so far, and where you got stuck. Provide tracebacks or other error messages if appropriate.

Contribution issues#

The JupyterHub team create specific contribution issues, or “microtasks”, for Outreachy applicants to complete during the contribution period.

Where to find them#

We define all microtasks in the issues of the jupyterhub/outreachy repository: jupyterhub/outreachy#issues We use a labelling system to distinguish microtasks from each other, and other types of issues in the repo.

How to choose one#

Each microtask will have a standard layout that will tell you:

  • How many applicants can work on the issue simultaneously

  • What work, if any, you will need to have completed before attempting the task

  • The maximum number of times you should complete a task before moving on (Note: This is a hard limit to discourage flooding of contributions. It is not a target to be met.)

  • What the task is and step by step instructions on completing it

  • What you should specifically record in Outreachy as a contribution after completing the task

  • What you can work on next

This should give you a good idea of whether or not you want to tackle that issue.

You should also look out for the following labels:

  • The level: <level> labels will tell you how difficult the task is. You may wish to start with beginner level tasks and work your way up.

  • The project: labels will tell you which project the microtasks are associated with. You should, at a minimum, try to complete the tasks linked to the project you want to apply for as this will help the mentors evaluate whether you are a good fit for the project.

Attention

We tend to limit the number of microtasks that a single applicant can work on as this generates a lot of overhead for the mentors to keep track of who is working on what.

For microtasks that allow multiple applicants, we will not be assigning the issue to anyone. You don’t need to ask permission to begin working, just begin :)

What to work on next#

Each microtask should list what you should move onto next. If it doesn’t, or you have completed all the microtasks, then there are a few other things you can you do:

Caution

You are allowed to begin working on any help wanted or good first issue labelled issues you find across the JupyterHub organisation. But these issues have not been scoped for Outreachy, and could be more complex to start working on or become unclear very quickly. The JupyterHub team are here to help, but you should prioritise completing the Outreachy tasks first.