Scala Code of Conduct
We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other such characteristics.
Whether you’re a regular contributor or a newcomer, we care about making this community a welcoming and safe place for you and we’ve got your back.
As a member of the community, you agree to the following:
- Be kind and courteous.
- Respect differences of opinion and remember that every design or implementation choice carries a trade-off and numerous costs. There is seldom a single right answer.
- Remember that everyone was new to Scala at some point. We want to encourage newcomers to join our community and learn the Scala language and ecosystem. Assume competence.
- Show empathy towards other community members.
- Keep unstructured critique to a minimum. We encourage sharing ideas and perspectives, so please ensure that your feedback is constructive and relevant. If you have solid ideas you want to experiment with, make a fork and see how it works.
- Avoid aggressive and micro-aggressive behavior, such as unconstructive criticism, providing corrections that do not improve the conversation (sometimes referred to as "well actually"s), repeatedly interrupting or talking over someone else, feigning surprise at someone’s lack of knowledge or awareness about a topic, or subtle prejudice (for example, comments like “That’s so easy my grandmother could do it.”). For more examples of this kind of behavior, see the Recurse Center’s user manual.
- We will exclude you from interaction if you insult, demean or harass anyone. The term “Harassment” includes “Unacceptable Behavior” described in the Citizen Code of Conduct. In particular, we don’t tolerate behavior that excludes people in socially marginalized groups.
- Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member’s behavior, please contact one of the moderators or any member of the Scala Center immediately.
- Likewise any spamming, trolling, flaming, baiting or other attention-stealing behaviour is not welcome.
These are the policies for upholding our community’s standards of conduct. If you feel that a thread needs moderation, please contact anyone on the moderation team, or any employee of the Scala Center.
- Remarks that violate the above code of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful manner.)
- Moderators will warn users who make remarks inconsistent with the above code of conduct.
- If the warning is unheeded, the user will be “kicked,” i.e., kicked out of the communication channel to cool off.
- If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
- Moderators may choose at their discretion to un-ban the user if it was a first offense and they if they make suitable amends with the offended party.
- If you think a ban is unjustified, please take it up with that moderator, or with a different moderator, in private. Complaints about bans in-channel are not allowed.
- Moderators are held to a higher standard than other community members. If a moderator acts inappropriately, they should expect less leeway than others.
In the Scala community we strive to go the extra step to look out for each other. Don’t just aim to be technically unimpeachable; try to be your best self. In particular, avoid exacerbating offensive or sensitive issues, particularly if they’re off-topic; this all too often leads to unnecessary fights, hurt feelings, and damaged trust; worse, it can drive people away from the community entirely.
If someone takes issue with something you said or did, resist the urge to be defensive. Rather, stop the offending behavior, apologize, and be sensitive thereafter. Even if you feel you were misinterpreted or unfairly accused, chances are good there was something you could’ve communicated better — remember that it’s your responsibility to make your fellow Scala developers comfortable. We are all here first and foremost because we want to talk about cool technology, and everyone wants to get along in doing so. People are generally eager to assume good intent and forgive.
The enforcement policies listed above apply to all official Scala channels: mailing lists, GitHub repositories and Gitter channels under scala and scalacenter, Discourse, and Scala Center venues and hackathons. For other projects adopting the Scala Code of Conduct, please contact the maintainers of those projects for enforcement. If you wish to use this code of conduct for your own project, consider explicitly mentioning your moderation policy or making a copy with your own moderation policy so as to avoid confusion.
Adapted from and/or inspired by multiple successful Codes of Conduct, including:
- Rust Code of Conduct
- The Node.js Policy on Trolling
- The Contributor Covenant v1.4.0
- The Recurse Center’s User Manual
- The 18F Code of Conduct
Tips from the Discourse Team
Here are some rules to help improve the discussions in this forum. These are not hard and fast rules, merely aids to the human judgment of our community. Use these guidelines to keep this a clean, well-lighted place for civilized public discourse.
Help us make this a great place for discussion by always working to improve the discussion in some way, however small. If you are not sure your post adds to the conversation, think over what you want to say and try again later.
The topics discussed here matter to us, and we want you to act as if they matter to you, too. Be respectful of the topics and the people discussing them, even if you disagree with some of what is being said.
One way to improve the discussion is by discovering ones that are already happening. Please spend some time browsing the topics here before replying or starting your own, and you’ll have a better chance of meeting others who share your interests.
You may wish to respond to something by disagreeing with it. That’s fine. But, remember to criticize ideas, not people. Please avoid:
- Ad hominem attacks.
- Responding to a post’s tone instead of its actual content.
- Knee-jerk contradiction.
Instead, provide reasoned counter-arguments that improve the conversation.
The conversations we have here set the tone for everyone. Help us influence the future of this community by choosing to engage in discussions that make this forum an interesting place to be — and avoiding those that do not.
Discourse provides tools that enable the community to collectively identify the best (and worst) contributions: favorites, bookmarks, likes, flags, replies, edits, and so forth. Use these tools to improve your own experience, and everyone else’s, too.
Let’s try to leave our park better than we found it.
Moderators have special authority; they are responsible for this forum. But so are you. With your help, moderators can be community facilitators, not just janitors or police.
When you see bad behavior, don’t reply. It encourages the bad behavior by acknowledging it, consumes your energy, and wastes everyone’s time. Just flag it. If enough flags accrue, action will be taken, either automatically or by moderator intervention.
In order to maintain our community, moderators reserve the right to remove any content and any user account for any reason at any time. Moderators do not preview new posts in any way; the moderators and site operators take no responsibility for any content posted by the community.
Nothing sabotages a healthy conversation like rudeness:
- Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech.
- Keep it clean. Don’t post anything obscene or sexually explicit.
- Respect each other. Don’t harass or grief anyone, impersonate people, or expose their private information.
- Respect our forum. Don’t post spam or otherwise vandalize the forum.
These are not concrete terms with precise definitions — avoid even the appearance of any of these things. If you’re unsure, ask yourself how you would feel if your post was featured on the front page of the New York Times.
This is a public forum, and search engines index these discussions. Keep the language, links, and images safe for family and friends.
Make the effort to put things in the right place, so that we can spend more time discussing and less cleaning up. So:
- Don’t start a topic in the wrong category.
- Don’t cross-post the same thing in multiple topics.
- Don’t post no-content replies.
- Don’t divert a topic by changing it midstream.
- Don’t sign your posts — every post has your profile information attached to it.
Rather than posting “+1” or “Agreed”, use the Like button. Rather than taking an existing topic in a radically different direction, use Reply as a Linked Topic.
You may not post anything digital that belongs to someone else without permission. You may not post descriptions of, links to, or methods for stealing someone’s intellectual property (software, video, audio, images), or for breaking any other law.