.. _contribindex:

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

First off, thank you for considering contributing to Arbor! It's people
like you that make Arbor such a great tool. Feel welcome and read the
following sections in order to know how to ask questions and how to work
on something.

There are many ways to contribute: sharing models, writing tutorials or blog posts,
improving the documentation, helping other users, submitting bug reports
and feature requests or writing code which can be incorporated into
Arbor itself.

Arbor uses Git for version control and GitHub to host its code repository and nearly
all of its infrastructure. If you're not familiar with Git or GitHub, please have at look at
`this introduction <https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/set-up-git>`_.
Make sure you have a `GitHub account <https://github.com/signup/free>`_.

You can reach out in the following ways for support or sharing of your work, questions:

-  `Discussions <https://github.com/arbor-sim/arbor/discussions>`__. Any
   questions or remarks regarding using Arbor for your research are
   welcome.
-  `Gitter <https://gitter.im/arbor-sim/community>`__. If you're interested in
   developing Arbor itself, get in touch on Gitter.
-  `Email <mailto:contact@arbor-sim.org>`__.

Howtos
------

.. toctree::
   :titlesonly:
   :maxdepth: 1

   File an Issue <issue>
   Make a Pull Request <pr>
   Share a model <model>
   Write code <code>
   Modify documentation <doc>
   Add examples <example>
   Add test <test>
   Make a release <release>
   dependency-management

.. _contribindex-coc:

Code of Conduct
---------------

We have a brief code of conduct which we ask you to respect:

* We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or any other characteristic.
* Please avoid using overtly provoking aliases or nicknames that might detract from a friendly, safe and welcoming environment for all.
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs.
* Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.

Concerns
~~~~~~~~

If you believe one of these standards has been violated, you can reach out to the Arbor project by email, `concern@arbor-sim.org <mailto:concern@arbor-sim.org>`_. Nora Abi Akar, Thorsten Hater, Brent Huisman and Sam Yates read this inbox and will get back to you in a timely manner. Your complaint and the private information therein will be handled with the utmost care and confidentiality. Alternatively, you can contact someone outside of the Arbor team at Ebrains, `see below <#ebrains>`_.

In general, violations of the community standards will generate one or more of the following responses from the Arbor Team:

1. Informal feedback, privately and/or (for public violations) in the forum where a violation appeared, with the goal of encouraging good-faith contributions and mutual understanding while making offenders aware of the problem and preventing future incidents. Where possible, good intentions of the participants should be assumed.
2. Gross online violations of community standards may result in immediate deletion of the offending comments, coupled with informal feedback.
3. For severe cases, especially persistent, disruptive violations despite repeated warnings and other feedback, a formal investigation may be started through the Ebrains Ombudsperson.

Ebrains
~~~~~~~

Arbor is an Ebrains/HBP project. Its policies and recourse options in case of concern are therefore available to you. In addition, the European Commission recognizes the ALLEA Code of Conduct as a model for all research it funds, which includes Ebrains/HBP/Arbor.

* `Ebrains Terms <https://ebrains.eu/terms>`_
* `ALLEA Code of Conduct <https://allea.org/code-of-conduct>`_
* `Ebrains Point of registration for ethical concerns <https://www.humanbrainproject.eu/en/social-ethical-reflective/about/register-ethical-concern/>`_
* `Ebrains Ombudsperson <mailto:research-integrity@ebrains.eu>`_
