|
| 1 | +[//]: # (title: Code of conduct and guidelines for Kotlin Slack) |
| 2 | + |
| 3 | +Kotlin Slack aims to be an inclusive space committed to providing a friendly, safe and welcoming environment for all, |
| 4 | +regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). |
| 5 | + |
| 6 | +For this to be the case, it is vital that we all follow a basic set of guidelines and most importantly, |
| 7 | +adhere to the code of conduct. |
| 8 | +As such, please make sure you read this Code of Conduct and Basic Usage Guidelines in its entirety. |
| 9 | +This isn't your regular License Agreement that you should scroll through and agree blindly. |
| 10 | +It's here for a reason and also contains practical information. |
| 11 | + |
| 12 | +* [How to behave](#how-to-behave) |
| 13 | +* [How not to behave](#how-not-to-behave) |
| 14 | +* [How to report issues](#how-to-report-issues) |
| 15 | +* [Moderators](#moderators) |
| 16 | +* [Basic usage guidelines](#basic-usage-guidelines) |
| 17 | +* [Moderators](#moderators) |
| 18 | +* [Copyright](#copyright) |
| 19 | + |
| 20 | +## How to behave |
| 21 | + |
| 22 | +* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. |
| 23 | +* Exercise consideration, respect and empathy in your speech and actions. |
| 24 | + Remember, we have all been through different stages of learning when adopting technologies. |
| 25 | +* Refrain from demeaning, discriminatory, or harassing behavior and speech. |
| 26 | +* Disagreements on things are fine, argumentative behavior or trolling are not. |
| 27 | + |
| 28 | +## How not to behave |
| 29 | + |
| 30 | +* Do *not* perform threats of violence or use violent language directed against another person. |
| 31 | +* Do *not* make jokes of sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory nature, |
| 32 | + or use language of this nature. |
| 33 | +* Do *not* post or display sexually explicit or violent material. |
| 34 | +* Do *not* post or threaten to post other people's personally identifying information ("doxing"). |
| 35 | +* Do *not* make personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. |
| 36 | +* Do *not* engage in sexual attention. This includes, sexualized comments or jokes and sexual advances. |
| 37 | +* Do *not* advocate for, or encourage, any of the above behavior. |
| 38 | + |
| 39 | +## How to report issues |
| 40 | + |
| 41 | +If someone is acting inappropriately or violating this Code of Conduct in any shape or form, |
| 42 | +and they are not receptive to your feedback, or you prefer not to confront them, |
| 43 | +please get in touch with one of the Administrators. |
| 44 | +The main Administrators are Ilya Ryzhenkov (@orangy) and Hadi Hariri (@hhariri). |
| 45 | + |
| 46 | +## Basic usage guidelines |
| 47 | + |
| 48 | +There are over 50 000 users on many different timezones using the Kotlin Slack, and the number is growing rapidly. |
| 49 | +The influx of messages per day and the numerous channels can lead to a lot of noise and little value in the long run. |
| 50 | +If we all follow a set of guidelines, it can help make things more useful and bearable for everyone. |
| 51 | + |
| 52 | +* Please remember this is a Slack team for Kotlin. |
| 53 | + If you have generic questions that are about a technology (which may or may not be used with Kotlin), |
| 54 | + maybe it's better to use another forum, such as StackOverflow. |
| 55 | +* This Slack is not an official support channel. It is a place where the community hangs out along with some members |
| 56 | + of the JetBrains and Kotlin team (suffix [JetBrains]). |
| 57 | +* This Slack is not the best place for reporting bugs. For this, please use [YouTrack](https://youtrack.jetbrains.com/issues/kt). |
| 58 | +* Find the right channel to ask your question. There are channels for pretty much every topic. |
| 59 | + [See the list of common channels](#common-channels). |
| 60 | +* New channels should be focused around a well-known technology or area of interest. Create them sparingly. |
| 61 | + And before requesting for a new channel, make sure it doesn't exist in any other shape or form. |
| 62 | + Ask an administrator to create a new channel on the #meta channel. |
| 63 | + If you do end up creating a channel, make sure you set the topic. |
| 64 | +* Please refrain from cross-posting the same message on multiple channels. It is considered spamming. |
| 65 | +* When you ask a question, please be patient. Don't repeat it. Or at least not immediately. |
| 66 | +* Please do not ping or mention someone directly to get your questions answered, especially project owners, |
| 67 | + whether the project is Kotlin or other, unless they specifically indicate that you can. |
| 68 | +* Don't split messages into multiple ones. Ask it all in a single message. |
| 69 | +* Use code blocks. Don't paste code as plain text. Slack supports Kotlin markup. |
| 70 | + If the code you are pasting is longer than a few lines, use "Code or text snippet" available from `+` menu next to message input. |
| 71 | + Only first few lines will be displayed to all users and people interested in the code can expand your code to look into details. |
| 72 | +* While it's polite to say "Hi" or "I have a question" before asking something, it doesn't scale and leads to noise. |
| 73 | + You can say hello in the same message you ask the question if you like. |
| 74 | +* Using threads is not required, but do take into account that it does allow people to more easily follow conversations, |
| 75 | + especially those jumping in late. |
| 76 | +* Use reactions to show gratitude as opposed to a message. It reduces the noise and gets the message across. |
| 77 | +* Don't use reactions to tell people they're in the wrong place or asking the wrong question. |
| 78 | + If they're on the wrong channel, point them to the right one. If their question is badly worded, help them correct it. |
| 79 | + Have empathy. |
| 80 | +* Take into account cultural differences. As they say, what the British say isn't what the British mean. |
| 81 | + Remember this both as the receiver and producer of messages. |
| 82 | +* Don't create integrations with Slack. Given this is running on the free tier, |
| 83 | + the number is limited, and thus it won't be approved. |
| 84 | +* @channel, @here and other forms of notifications are disabled, even if you own a channel |
| 85 | + (unfortunately, Slack doesn't allow fine-grained permissions). |
| 86 | +* Use the #meta channel if you're unsure about how to do something. |
| 87 | + |
| 88 | +## Moderators |
| 89 | + |
| 90 | +A moderator is a member of the Kotlin Slack community |
| 91 | +who volunteers to keep the kotlinlang Slack a safe and welcoming place for other members. |
| 92 | +Moderators are approved by kotlinlang Slack administrators. |
| 93 | +Their responsibilities and the guidelines they follow are described below. |
| 94 | + |
| 95 | +### Responsibilities |
| 96 | + |
| 97 | +* Monitor Slack channels to ensure compliance with the Code of Conduct. |
| 98 | +* Help community members follow the rules. |
| 99 | +* If a channel has additional rules, ensure these are visible and up to date. |
| 100 | +* Monitor the #reports and #meta channels. |
| 101 | +* Participate in the private #moderators channel. |
| 102 | + |
| 103 | +### Guidelines |
| 104 | + |
| 105 | +* Moderators communicate in a friendly manner and do their best to help other community members. |
| 106 | +* Any changes suggested by a moderator should be discussed by all moderators and administrators before coming into effect. |
| 107 | + |
| 108 | +### Process |
| 109 | + |
| 110 | +* Each moderator oversees at least one channel, or more if possible. |
| 111 | +* When moderators notice inappropriate behavior, |
| 112 | + they explain the rules and guidelines to the members and help figure out how to correct the unwanted behavior. |
| 113 | + If the unwanted behavior persists, moderators report the case to administrators for further actions. |
| 114 | + In the case of obvious and/or particularly blatant violations, offending members can be reported immediately. |
| 115 | +* To set up or update a channel's rules, the moderator initiates a change proposal and discusses it with the appropriate community members. |
| 116 | +* Communication regarding moderation takes place in the private #moderators channel. |
| 117 | +* If community members notice that a moderator is ignoring their responsibilities (or engaging in any unwanted behavior), |
| 118 | + they can alert administrators. |
| 119 | + |
| 120 | +### Moderator status acquisition and revocation process |
| 121 | + |
| 122 | +* Any member is welcome to apply to be a moderator once they have been in the Slack community for longer than 6 months. |
| 123 | +* Moderator status is provided based upon the decision of the administrators. |
| 124 | +* Moderator status can be revoked if (this list is not exhaustive and can be updated on a case-by-case basis): |
| 125 | + * A moderator ignores their responsibilities, which leads to issues in a channel. |
| 126 | + * A moderator violates these guidelines. |
| 127 | + |
| 128 | +### The list of moderators {initial-collapse-state="collapsed"} |
| 129 | + |
| 130 | +At the moment we have 17 confirmed moderators, and they will be responsible for observing a total of 64 channels. |
| 131 | +For all other channels, if any issues arise, members can ping any of the moderators or admins directly, |
| 132 | +or they can post a message in #meta. |
| 133 | + |
| 134 | +* Alexander Nozik (@altavir) – #mathematics, #science, #datascience, #education |
| 135 | +* Anderson Lameck (@andylamax) – #coroutines, #kotlin-native, #webassembly, #serialization, #random, #javascript, #react |
| 136 | +* Andrey Mischenko (@gildor) – #coroutines, #android, #gradle, #multiplatform, #getting-started, #kotlin-asia, #singapore |
| 137 | +* Eric Ampire (@Eric Ampire) – #events |
| 138 | +* Holger Steinhauer (@Holger Steinhauer) – #fosdem, #berlin, #vkug, #german-lang, #server |
| 139 | +* Louis CAD (@louiscad) – #coroutines, #android |
| 140 | +* Magda Miu (@Magda Miu) – #android, #100daysofkotlin |
| 141 | +* Maryam Alhuthayfi (@Maryam Alhuthayfi) – #compose, #books, #ksp, #eap, #dagger, and #kontributors. |
| 142 | +* Nicola Corti (@gammax) – #feed, #detekt, #appintro, #chucker, #fosdem, #london, #berlin, #hamburg, #sweden, #ktlint, |
| 143 | + #kug-leads, #kotlinconf, #koin, #koin-dev, #spek, #vkug |
| 144 | +* Paulien van Alst (@Paulien van Alst) – #detekt, #koin, #mockk |
| 145 | +* Qian Jin (@qian) – #kotlin-native, #android-studio, #french |
| 146 | +* Raul Raja (@raulraja) - #arrow, #arrow-contributors, #arrow-meta |
| 147 | +* Sam Sam (@sam) – #kotest, #kotest-contributors |
| 148 | +* Simon Vergauwen (@simon.vergauwen) – #arrow, #arrow-contributors, #arrow-meta |
| 149 | +* Youssef Shoaib (@Youssef Shoaib) – #getting-started, #feed, #language-evolution, #language-proposals |
| 150 | +* Zach Klippenstein (@Zach Klippenstein) – #coroutines, #compose, #compose-desktop, #compose-web, #squarelibraries, |
| 151 | + #library-development |
| 152 | + |
| 153 | +## Copyright |
| 154 | + |
| 155 | +This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). |
| 156 | +Portions of a text derived from the [Citizen Code of Conduct](http://citizencodeofconduct.org/). |
0 commit comments