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

DOC: adopt the SciPy Code of Conduct #521

Merged
merged 5 commits into from
Oct 15, 2019
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion community_guidelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ through our GitHub profiles). We are committed to making this community a
safe and welcome space.

You can learn more about contributing to PyWavelets at
http://pywavelets.readthedocs.io/en/latest/#state-of-development-contributing
https://pywavelets.readthedocs.io/en/latest/contributing.html
1 change: 1 addition & 0 deletions doc/source/common_refs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@
.. _Matplotlib: http://matplotlib.org
.. _guidelines for pull requests: https://github.com/PyWavelets/pywt/tree/master/CONTRIBUTING.rst
.. _community guidelines: https://github.com/PyWavelets/pywt/tree/master/community_guidelines.rst
.. _code of conduct: https://github.com/PyWavelets/pywt/tree/master/doc/source/dev/conduct/community_guidelines.rst
.. _StackOverflow: https://stackoverflow.com
.. _wavelets.pybytes.com: http://wavelets.pybytes.com/
2 changes: 1 addition & 1 deletion doc/source/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ interest in PyWavelets are very welcome to join the development team! Please
see our `guidelines for pull requests`_ for more information.

Contributors are expected to behave in a productive and respectful manner in
accordance with our `community guidelines`_.
accordance with our `community guidelines`_ and :ref:`CoC`.


History
Expand Down
175 changes: 175 additions & 0 deletions doc/source/dev/conduct/code_of_conduct.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
.. _CoC:

PyWavelets Code of Conduct
==========================


Introduction
------------

This code of conduct applies to all spaces managed by the PyWavelets project,
including all public and private mailing lists, issue trackers, wikis, blogs,
Twitter, and any other communication channel used by our community. The
PyWavelets project does not organise in-person events, however events related
to our community should have a code of conduct similar in spirit to this one.

This code of conduct should be honored by everyone who participates in
the PyWavelets community formally or informally, or claims any affiliation with
the project, in any project-related activities and especially when representing
the project, in any role.

This code is not exhaustive or complete. It serves to distill our common
understanding of a collaborative, shared environment and goals. Please try to
follow this code in spirit as much as in letter, to create a friendly and
productive environment that enriches the surrounding community.

This code of conduct was adapted from SciPy's code of conduct without any
substantial modification in terms. We wish to thank the SciPy contributors for
their hard work in authoring these terms and in helping develop a community
consensus them.


Specific Guidelines
-------------------

We strive to:

1. Be open. We invite anyone to participate in our community. We prefer to use
public methods of communication for project-related messages, unless
discussing something sensitive. This applies to messages for help or
project-related support, too; not only is a public support request much more
likely to result in an answer to a question, it also ensures that any
inadvertent mistakes in answering are more easily detected and corrected.

2. Be empathetic, welcoming, friendly, and patient. We work together to resolve
conflict, and assume good intentions. We may all experience some frustration
from time to time, but we do not allow frustration to turn into a personal
attack. A community where people feel uncomfortable or threatened is not a
productive one.

3. Be collaborative. Our work will be used by other people, and in turn we will
depend on the work of others. When we make something for the benefit of the
project, we are willing to explain to others how it works, so that they can
build on the work to make it even better. Any decision we make will affect
users and colleagues, and we take those consequences seriously when making
decisions.

4. Be inquisitive. Nobody knows everything! Asking questions early avoids many
problems later, so we encourage questions, although we may direct them to
the appropriate forum. We will try hard to be responsive and helpful.

5. Be careful in the words that we choose. We are careful and respectful in
our communication and we take responsibility for our own speech. Be kind to
others. Do not insult or put down other participants. We will not accept
harassment or other exclusionary behaviour, such as:

- Violent threats or language directed against another person.
- Sexist, racist, or otherwise discriminatory jokes and language.
- Posting sexually explicit or violent material.
- Posting (or threatening to post) other people's personally identifying information ("doxing").
- Sharing private content, such as emails sent privately or non-publicly,
or unlogged forums such as IRC channel history, without the sender's consent.
- Personal insults, especially those using racist or sexist terms.
- Unwelcome sexual attention.
- Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing.
- Repeated harassment of others. In general, if someone asks you to stop, then stop.
- Advocating for, or encouraging, any of the above behaviour.


Diversity Statement
-------------------

The PyWavelets project welcomes and encourages participation by everyone. We
are committed to being a community that everyone enjoys being part of. Although
we may not always be able to accommodate each individual's preferences, we try
our best to treat everyone kindly.

No matter how you identify yourself or how others perceive you: we welcome you.
Though no list can hope to be comprehensive, we explicitly honour diversity in:
age, culture, ethnicity, genotype, gender identity or expression, language,
national origin, neurotype, phenotype, political beliefs, profession, race,
religion, sexual orientation, socioeconomic status, subculture and technical
ability, to the extent that these do not conflict with this code of conduct.

Though we welcome people fluent in all languages, PyWavelets development is
conducted in English.

Standards for behaviour in the PyWavelets community are detailed in the Code of
Conduct above. Participants in our community should uphold these standards
in all their interactions and help others to do so as well (see next section).


Reporting Guidelines
--------------------

We know that it is painfully common for internet communication to start at or
devolve into obvious and flagrant abuse. We also recognize that sometimes
people may have a bad day, or be unaware of some of the guidelines in this Code
of Conduct. Please keep this in mind when deciding on how to respond to a
breach of this Code.

For clearly intentional breaches, report those to the Code of Conduct committee
(see below). For possibly unintentional breaches, you may reply to the person
and point out this code of conduct (either in public or in private, whatever is
most appropriate). If you would prefer not to do that, please feel free to
report to the Code of Conduct Committee directly, or ask the Committee for
advice, in confidence.

You can report issues to the PyWavelets Code of Conduct committee, at
PyWavelets-conduct@googlegroups.com. Currently, the committee consists of:

- Gregory Lee
- Ralf Gommers
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we may want to invite a third person here, perhaps from scikit-image since they rely on pywavelets and likely someone on that team will be happy to help out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also include the committee member's email addresses here? (or were those deliberately omitted to reduce spam?)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It shouldn't be needed I think. And if someone really wants to find us, they can look at the commit log so it's not impossible. I'd leave it out here.


If your report involves any members of the committee, or if they feel they have
a conflict of interest in handling it, then they will recuse themselves from
considering your report. Alternatively, if for any reason you feel
uncomfortable making a report to the committee, then you can also contact:

- Chair of the PyWavelets Steering Committee: Gregory Lee


Incident reporting resolution & Code of Conduct enforcement
-----------------------------------------------------------

*This section summarizes the most important points, more details can be found
in* :ref:`CoC_reporting_manual`.

We will investigate and respond to all complaints. The PyWavelets Code of
Conduct Committee and the PyWavelets Steering Committee (if involved) will
protect the identity of the reporter, and treat the content of complaints as
confidential (unless the reporter agrees otherwise).

In case of severe and obvious breaches, e.g. personal threat or violent, sexist
or racist language, we will immediately disconnect the originator from
PyWavelets communication channels; please see the manual for details.

In cases not involving clear severe and obvious breaches of this code of
conduct, the process for acting on any received code of conduct violation
report will be:

1. acknowledge report is received
2. reasonable discussion/feedback
3. mediation (if feedback didn't help, and only if both reporter and reportee agree to this)
4. enforcement via transparent decision (see :ref:`CoC_resolutions`) by the
Code of Conduct Committee

The committee will respond to any report as soon as possible, and at most
within 72 hours.


Endnotes
--------

We are thankful to the SciPy developers for creating the code of conduct we
have adapated here.

- `Scipy Code of Conduct <http://scipy.github.io/devdocs/dev/conduct/code_of_conduct.html>`_

The SciPy code of conduct was in turn inspired by the following documents:

- `The Apache Foundation Code of Conduct <https://www.apache.org/foundation/policies/conduct.html>`_
- `The Contributor Covenant <https://www.contributor-covenant.org/version/1/4/code-of-conduct/>`_
- `Jupyter Code of Conduct <https://github.com/jupyter/governance/tree/master/conduct>`_
- `Open Source Guides - Code of Conduct <https://opensource.guide/code-of-conduct/>`_

Loading