Contributing
============

.. toctree::
   :maxdepth: 1


   start-contributing
   dev-contributions/index
   docs-contributions/index
   communication-contributions
   ipython-dev-guide/index

Whether you are a new, returning, or current contributor to Project
Jupyter's subprojects or IPython, **we welcome you**.

Project Jupyter has seen steady growth over the past several years, and it is
wonderful to see the many ways people are using these projects. As a result of
this rapid expansion, our project maintainers are balancing many requirements,
needs, and resources. We ask contributors to take some time to become familiar
with our contribution guides and spend some time learning about our project
communication and workflow.

The Contributor Guides and individual project documentation offer
guidance. If you have a question, please ask us. `Community Resources
<https://jupyter.org/community.html>`_ provides information on our commonly
used communication methods.

We are very pleased to have you as a contributor, and we hope you
will find valuable your impact on the projects. **Thank you** for
sharing your interests, ideas, and skills with us.

Do I really have something to contribute to Jupyter?
----------------------------------------------------

Absolutely ✅. There are always ways to contribute to this community! Whether it
is is contributing code, improving documentation and communications, teaching others,
or participating in conversations in the community, we welcome and value your contribution!


What kinds of contributions can I make?
---------------------------------------

The following sections try to provide inspirations for different ways that you can
contribute to the Jupyter ecosystem. They're non-complete - if you can think up any way to
make an improvement, we appreciate it!

Improving documentation
```````````````````````

One of the most important parts of the Jupyter ecosystem is its documentation. Good
documentation makes it easier for users to learn how to use the tools. It also makes
it easier to teach others, and to maintain and improve the code itself. There are many
ways to improve documentation, such as **reading tutorials and reporting confusing parts**,
**finding type-os and minor errors in docs**, **writing your own guides and tutorials**,
**improving docstrings within the code**, and **improving documentation style and design**.

If you'd like to improve documentation in the Jupyter community, check out the :ref:`documentation-guide`.

Improving code
``````````````

There are many different codebases that make up the tools in the Jupyter ecosystem. These are
split across many repositories in several GitHub organizations. They cover many
different parts of interactive computing, such as **user interfaces**, **kernels**,
**shared infrastructure**, **interactive widgets**, or **structured documents**.

We recommend checking out the :ref:`developer-guide` for more information about how
you can find the right project to contribute to, and where to go next.

Participating in the community
``````````````````````````````

The most important part of Jupyter is its community - this is a large and diverse group of
people spread across the globe. One of the best ways to contribute to Jupyter is to simply
be a positive and helpful member of this community. Whether it **participating in online conversations**,
**offering to help others**, **coming to community meetings**, or **teaching others about Jupyter**,
there are many ways to improve the Jupyter community. For more information about this, we
recommend starting with the :ref:`community-guide`.

Getting Access to Jupyter Managed Accounts
------------------------------------------

As a contributor, you may need to access accounts managed by Jupyter, for instance,
to write a blog post or update information posted to a Jupyter site.

To request access, email the security group at `security@ipython.org`, or make
an issue on the `Jupyter Security subproject repo <https://github.com/jupyter/security/issues/new>`_.
