Skip to content

Latest commit

 

History

History
182 lines (120 loc) · 10.6 KB

CODE_OF_CONDUCT.md

File metadata and controls

182 lines (120 loc) · 10.6 KB

FastF1 Code of Conduct

Introduction

This Code of Conduct applies to all spaces managed by the FastF1 project, including all public and private mailing lists, issue trackers, wikis and any other communication channel used by our community. Any projects that are based on FastF1 are encouraged to have a code of conduct similar in spirit to this one.

This Code of Conduct should be honored by everyone who participates in the FastF1 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.

Specific Guidelines

We strive to:

  • 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.

  • 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.

  • 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.

  • 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.

  • Be supportive. The FastF1 community is comparably small and oversight through an independent overseeing council is therefore not possible at the current stage. We encourage the community to listen to, and take serious, the concerns of fellow members of the community. We will engage in open and supportive discussion of these concerns and will stand together against anybody that breaches the code of conduct. This is especially important for concerns that involve leading members of the community.

  • 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 FastF1 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, FastF1 development is conducted in English.

Standards for behaviour in the FastF1 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 maintainer of FastF1 (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 maintainer of FastF1 directly, or ask for their advice, in confidence.

You can report issues to the maintainer Philipp Schaefer at [email protected]. Any reports to this email address concerning breaches of the code of conduct will be treated with confidentiality and with the highest possible priority.

Currently, FastF1 only has a single maintainer. The FastF1 project is too small so that any supervisory council or group can realistically exist. We recognize that this poses the problem that reports involving the maintainer themselves can not be made to an independent and uninvolved party.

The maintainer pledges to strongly adhere to this code of conduct. Should any problems arise despite that, members of the community are strongly encouraged to publicly report their concern so that the community can serve as an impromptu overseeing council. A mechanism for building such a council may be in the form of starting a public discussion about a perceived breach of the code of conduct involving the maintainer in the GitHub Discussion section of the project. Members of the community are reminded that by directly mentioning other users using the @username tag, these users will most likely (depending on their notification settings) get a direct notification about the new discussion. By selecting many (preferably active) users, it is likely that the discussion receives a quick response from the community. Note as well that it is impossible for the maintainer to undo notifications that were sent to other users in this way. Members of the community are reminded again, that in most cases a non-public report should be preferred and that public reports should be limited to breaches that involve leading members of the community.

Incident reporting resolution & Code of Conduct enforcement

We will investigate and respond to all complaints. The FastF1 maintainer 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 FastF1 communication channels.

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:

  • acknowledge report is received,

  • reasonable discussion/feedback,

  • mediation (if feedback didn’t help, and only if both reporter and reportee agree to this),

  • enforcement via transparent decision

Possible responses may include:

  • Taking no further action:

    • if we determine no violations have occurred;
    • if the matter has been resolved publicly while the maintainer was considering responses.
  • Coordinating voluntary mediation: if all involved parties agree, the maintainer may facilitate a mediation process

  • Remind publicly, and point out that some behavior/actions/language have been judged inappropriate and why in the current context, or can be hurtful to some people, requesting the community to self-adjust.

  • A private reprimand from the maintainer to the individual(s) involved. In this case, the maintainer will deliver that reprimand to the individual(s) over email.

  • A public reprimand. In this case, the maintainer will deliver that reprimand in the same venue that the violation occurred, within the limits of practicality. E.g., the original mailing list for an email violation, but for a chat room discussion where the person/context may be gone, they can be reached by other means. The maintainer may choose to publish this message elsewhere for documentation purposes.

  • A request for a public or private apology, assuming the reporter agrees to this idea: they may at their discretion refuse further contact with the violator. The maintainer will deliver this request.

  • A “mutually agreed upon hiatus” where the maintainer asks the individual to temporarily refrain from community participation. If the individual chooses not to take a temporary break voluntarily, the maintainer may issue a “mandatory cooling off period”.

  • A permanent or temporary ban from some or all FastF1 spaces (github, etc.). The maintainer will keep records of all such bans so that they may be reviewed in the future or otherwise maintained.

Once a resolution is agreed upon, but before it is enacted, the maintainer will contact the original reporter and any other affected parties and explain the proposed resolution. The maintainer will ask if this resolution is acceptable, and must note feedback for the record.

The maintainer will respond to any report as soon as possible.

Acknowledgement

We are thankful to the groups behind this document, from which we drew content and inspiration:

  • The SciPy, NumPy and Matplotlib Code of Conduct

  • Discussions about a good, useful and enforceable code of conduct that took place in the ecosystem of the projects supported by NumFOCUS