This Code of Conduct covers our behaviour as contributors/committers of the Scala team, as well as those participating in any Scala moderated forum, mailing list, wiki, web site, Gitter or IRC room, hackathon, public meeting or private correspondence. (See our list of community fora.)
Scala moderators are appointed by EPFL and Lightbend to maintain the health of the community and will arbitrate in any dispute over the conduct of a member of the community.
Note: This should not be interpreted like a legal document. It’s a statement of intent, and a guideline for collaboration.
The code of conduct consists of some hard-and-fast rules and some guidelines:
(1) Be Respectful
The Scala community is made up of a diverse set of individuals and backgrounds. Everyone can make a contribution to Scala. Disagreement is no excuse for poor behavior. Also, many users coming to Scala might have different background than others. Not knowing a particular domain is not just cause for rude behavior. If someone is suggesting concepts that go beyond your basic understanding, patiently asking for more information is the right way to go. Treat each other with respect in all interactions.
A few examples for clarification.
Abusive language, such as:
is never welcome. The same goes for personal attacks like the following:
It’s obvious you’re a troll.
Snide comments, like the following:
You really haven’t comprehended anything I’m saying.
are generally unhelpful. What you could have said:
I think perhaps my point was unclear. Let me expand:
(2) Be Courteous
Whether posting to a mailing list, or submitting a bug report we value your contribution to Scala. When working with another’s work, be courteous and professional. It’s not courteous to demand responses, insult pull requests or post condescending bug reports. In that same vein, avoid posting messages with little to no content on the mailing list. We have a lot of people in the community, let’s keep our signal-to-noise ratio high, and set emotions aside before coming to the table.
We didn’t want our code to consist only of things that aren’t allowed. Here are some guidelines about how our community can be not just good, but great:
(3) Strive for Excellence
Strive to improve in all things. Strive to better Scala, and improve understanding. Improve your own teaching styles. Change the way we think about code design. Scala is a gateway into a new world of software design, and we’re constantly learning new things and opening new avenues. Keep an open mind to try new things, and strive to improve what we already know.
(4) Be Thorough
No matter what it is, responding to a question, fixing a bug, writing a proposal, make sure the contribution is thorough. Don’t leave things half written or half done. While the evolution of Scala is a continual process, incomplete work is often of negative benefit. At the same time, contributors will come and go, as with any open source community. If a contributor needs to drop something, take measures to ensure someone else is willing to pick it up, or notify the other maintainers.
Violating the Code
If a community member refuses to abide by the Code of Conduct, via personal attacks, abusive language or snide comments, then the following actions will be taken:
- Issued a warning On the first offense, one of the Scala moderators will issue a warning about the unacceptable behavior.
- Put under moderation On the second offense, a user may be placed under moderation. This will continue for a maximum of three months. If behavior improves, a user can leave moderated status. If behavior degrades, it can lead to #3.
- Removal from community If a user has already been placed under moderation and returned, or has not learned to be respectful and courteous to others, it will constitute a removal from the Scala community, including all forums the Scala moderators are responsible for.