devedmonton / devedmonton-org

Track issues and projects related to running Dev Edmonton
10 stars 0 forks source link

Open up Dev Edmonton Slack to the public #22

Closed MarkBennett closed 5 years ago

MarkBennett commented 6 years ago

Background

There are lots of different slack workspaces used by the development community in Edmonton (Edmonton Python, christiannaths, YegDevelopers, YegDevStories, etc.) While having these spaces allows different groups to collaborate amongst themselves it doesn't foster much communication between groups. We're hoping to change that by opening up our Slack to others and allowing meetups to setup their own channels in our workspace.

We wouldn't require groups to use this Slack if they're involved with Dev Edmonton, but we'd encourage them to use it so that we can build a community together.

Deliverables

abramhindle commented 6 years ago

COC Suggestion 1: https://github.com/python/pycon-code-of-conduct/blob/master/code_of_conduct.md

COC Suggestion 2 (From Aisha): https://github.com/python/pycon-code-of-conduct/blob/master/code_of_conduct.md

MarkBennett commented 6 years ago

COC Suggestions 3: https://www.exchangejs.com/code-of-conduct

MarkBennett commented 6 years ago

COC Suggestion 2 (From Aisha): https://github.com/python/pycon-code-of-conduct/blob/master/code_of_conduct.md

@abramhindle Is this meant to be a different link? It looks the same as the first to me.

MarkBennett commented 6 years ago

I really like the PyCon CoC @abramhindle and @ashiazed. It does look a little long but I like the specific examples. Perhaps we can integrate that with the Exchange.js one which has been tweaked to specifically cover the Alberta Human Rights Code, then ship it?

Thoughts?

benzittlau commented 6 years ago

I'm trying to remember if we can convert a channel into a private channel after it's been public. We've had some discussion in the #dev-edmonton-general channel which would probably be better to lockdown before we open up the Slack. I haven't looked through it to confirm if there's anything that would be a problem, but personally I can say that I wasn't really applying "publicly visible" degree of care with what I was posting there.

MarkBennett commented 6 years ago

I'm trying to remember if we can convert a channel into a private channel after it's been public.

The slack docs say it's possible @benzittlau.

https://get.slack.help/hc/en-us/articles/213185467-Convert-a-public-channel-to-private

I'd be in favour of making the current channel private and starting a new one for public general discussion.

ashiazed commented 6 years ago

As @MarkBennett mentioned in Slack the general channel cannot be made private. I'm on a fair number of large Slack teams and there is always a request to not have a general channel as it is a required channel for everyone to be in, as such it works great as an announcements channel.

Some strategies going forward:

Channel creation

There are two flavours we can go with either anyone can start a new channel or admins only. The first allows groups to organize themselves and the latter allows greater focus and channels that are used more often. To give you an example the Python slack team controls the channels (15,000 people) and tries to lean the focus on staying around Python topics. Rands Slack Team is a global team for leadership and management with around 7000 users, they allow anyone to create a channel and they have a bot that archives channels if no messages have been shown in a certain amount of time. I like Rands solution as I think it would put the focus more on community, users will inevitably start weird random channels like #whiskey #wine #exercise but I think our ultimate goal is to build a better community and that comes with building friendships between people.

Inclusivity

Code of conduct is of course mandatory and we will need to have some strategies in place for dealing with issues.

One of the most inclusive Slack teams I'm on is Rands. They have a bot that takes care of guiding people with language suggestions. What I mean is, they show a message suggesting a different word to use when people use the word "guys" or "retard" etc. There are a actually a few that do this. Some other slack teams have a policy not to police language this way but as a woman in the tech field I cannot tell you how wonderful it is. It instantly shows that inclusivity is important, it sets the tone for the whole community.

Another slack team has a women in tech channel where everyone is welcome and a women in tech private one where only women and non-binary folks hang out. This is a safe place. There are also similar channels for lgbt. I strongly suggest we do this, I've seen it work in action and can only benefit our community.

As well, I suggest starting a diversity channel right off the bat. We all need to share knowledge about this.

Admins We'll need to have a group of admins to deal with any issues, the more the better. Active people are usually top of the list.

Name or nickname We can ask/require that people use their real names, this makes the community safer and people more accountable. Though a lot of people do love their usernames. Either way we should make a recommendation going forward.

Job boards and recruiters Job board channel will be great but we need to minimize recruiters somehow, unless we want that.

Shameless plugs We need a policy to cut down on advertisements which happen eventually.

Open to all, invite only Do we share a link and have anyone sign up or force people to fill out a form with their name and send an invite manually?

Thoughts?

SteveReiter commented 6 years ago

I'm on board with all of this.

I like the open account creation. I think it's fine if people are creating channels like #whiskey since our goal is building a stronger community, not a focus on particular technology. If the #whiskey channel ends up being too popular and people start joining our slack space just for that, we can deal with that problem when it comes up.

MarkBennett commented 6 years ago

Great feedback @ashiazed. You're experience in this area is very valuable as moderating Slack or similar is definitely not something I've done in the past.

I've left some comments below...

Channel creation

There are two flavours we can go with either anyone can start a new channel or admins only. The first allows groups to organize themselves and the latter allows greater focus and channels that are used more often. To give you an example the Python slack team controls the channels (15,000 people) and tries to lean the focus on staying around Python topics. Rands Slack Team is a global team for leadership and management with around 7000 users, they allow anyone to create a channel and they have a bot that archives channels if no messages have been shown in a certain amount of time. I like Rands solution as I think it would put the focus more on community, users will inevitably start weird random channels like #whiskey #wine #exercise but I think our ultimate goal is to build a better community and that comes with building friendships between people.

Perhaps we find a balance between these and allow everyone to create their own channels so emerging and communal topics can surface organically, but direct the discussion a bit by starting with a few channels we expect everyone to use. Based off comments elsewhere, an initial list might look like:

Having a bot which prunes inactive channels seems like a good way to eliminate quiet and unused channels.

Inclusivity

Code of conduct is of course mandatory and we will need to have some strategies in place for dealing with issues.

Do you know of a bot that will enforce a code of conduct for new members?

One of the most inclusive Slack teams I'm on is Rands. They have a bot that takes care of guiding people with language suggestions. What I mean is, they show a message suggesting a different word to use when people use the word "guys" or "retard" etc. There are a actually a few that do this. Some other slack teams have a policy not to police language this way but as a woman in the tech field I cannot tell you how wonderful it is. It instantly shows that inclusivity is important, it sets the tone for the whole community.

This bot sounds great! Do you know any details about how they set it up? Personally, I really believe in the value of how we choose language and having a bot help explain other possible language choices seems like a great idea.

Another slack team has a women in tech channel where everyone is welcome and a women in tech private one where only women and non-binary folks hang out. This is a safe place. There are also similar channels for lgbt. I strongly suggest we do this, I've seen it work in action and can only benefit our community.

I like this idea in principle, but I think we'd want to be clear how we decide what is/is not considered "safe" language and behaviour. I also think we need to decide if we want to limit it to women and non-binary folks or just anyone who feels they need the support of a more inclusive and moderated space. Can you elaborate a bit more on who would choose to use this and the purpose they're seeking to get from it? Is there a way to make a safe space that's also inclusive or men and other gender expressions or is that missing the point? Definitively want to make sure all members have a space they can feel safe and supported! I might recommend following your advice on this as this is something you've got more experience with.

As well, I suggest starting a diversity channel right off the bat. We all need to share knowledge about this.

👍 Let's go this!

Admins We'll need to have a group of admins to deal with any issues, the more the better. Active people are usually top of the list.

For sure.

Name or nickname We can ask/require that people use their real names, this makes the community safer and people more accountable. Though a lot of people do love their usernames. Either way we should make a recommendation going forward.

I like requiring real names as it introduces some level of accountability, as long as it's with the understanding that there are safe anonymous channels available for people unable to speak publicly.

Job boards and recruiters Job board channel will be great but we need to minimize recruiters somehow, unless we want that.

Let's get these folks in a channel from the start so people can choose to mute if they wish.

Shameless plugs We need a policy to cut down on advertisements which happen eventually.

I like the idea of a channel for this as then we can choose to mute it, and enforce that plugs shouldn't be made in other channels.

Open to all, invite only Do we share a link and have anyone sign up or force people to fill out a form with their name and send an invite manually?

I'd be in favour of open to all, with invites to private and "safe" spaces. Having a bot that could require signing a code of conduct would help too.

SteveReiter commented 6 years ago

I like the bot that gives suggestions for more inclusive wording but I worry it will alienate some people instead of convincing them of the harm caused by their choice of wording.

Does the suggestion thing include a link to a good explanation of why your wording matters? Maybe that belongs more in the code of conduct.

I only bring this up because I'm obviously a privileged white guy and I used to use a lot of language that was harmful to others because I didn't know it was harmful. All it took was someone pointing out the impact of it instead of saying "don't use that word".

That said, I'd rather alienate people that insist on using harmful language than do nothing :P

MarkBennett commented 6 years ago

I like the bot that gives suggestions for more inclusive wording but I worry it will alienate some people instead of convincing them of the harm caused by their choice of wording.

Does the suggestion thing include a link to a good explanation of why your wording matters? Maybe that belongs more in the code of conduct.

I only bring this up because I'm obviously a privileged white guy and I used to use a lot of language that was harmful to others because I didn't know it was harmful. All it took was someone pointing out the impact of it instead of saying "don't use that word".

That said, I'd rather alienate people that insist on using harmful language than do nothing :P

Perhaps this is something that we can launch with just a code of conduct and monitor the community to see if we need to take a more proactive approach?

I also agree with @SteveReiter that it would be good to focus on persuading and informing people able word choice, rather than barraging them notifications. If we do implement this, it might make sense to have some kind of cool off period when people wouldn't be notified more than once for the same word or more than once in a given time period. I don't think we need to decide this now though, especially if we wait to implement this kind of bot until we better understand how the community is conducting itself.

Thoughts @ashiazed?

ashiazed commented 6 years ago

I think the bot decision is a now or never kinda thing. And starting now would set the stage for how we want our community to be. I'm going to link to a short article that is extremely valuable and relevant to this: http://thagomizer.com/blog/2017/09/29/we-don-t-do-that-here.html

That is exactly how a bot like that works, it's a polite way of saying "we don't use that word here", the person corrects their behaviour and moves along. In theory you would think that this would be an issue, or people would debate on it, or get annoyed by notifications but interesting enough I have not seen that even in a community that has 7000 people. Just looking at it's history the "guys" one pops up once a day or once every two and the "crazy/insane" pops up twice. People see it, usually adjust their message and add an emoji.

I think when we join a new job, group, etc. we look around us for how things "are" and adjust ourselves accordingly. If people at work all eat outside in the summer you're probably gonna do the same. If people mostly eat lunch at their desk, you're gonna do the same. We look to the existing non-written rules in every space and community. This gives us a chance to influence our space.

MarkBennett commented 6 years ago

Are you able to get some details about setting up that bot @ashiazed? Do we need to host it somewhere or is there a service we can use somewhere?

MarkBennett commented 6 years ago

I'm trying to remember if we can convert a channel into a private channel after it's been public. We've had some discussion in the #dev-edmonton-general channel which would probably be better to lockdown before we open up the Slack. I haven't looked through it to confirm if there's anything that would be a problem, but personally I can say that I wasn't really applying "publicly visible" degree of care with what I was posting there.

@benzittlau Just to document this here... we can make a public channel private but not the special general channel as all new users on the slack are added to it by default so making it private wouldn't really make sense.

There's a tool called slack-cleaner that we can use to archive the discussion. I think that's the best we can do and probably makes sense.

I've setup a new dev-edmonton-society channel for public society discussion and we can use the private board channel for ones we don't want shared.

benzittlau commented 6 years ago

Re: the channel, makes sense.

Re: the bot conversation, I get a little worried about how the UX of it plays out. We used to a tool called hound-ci which did something similar as a linter in GitHub PR's, and it just drove us all nuts. It wasn't that people weren't interested in or accepting of linting, but the UX was just dropping a ton of comments all over the place in your PR and cluttering up the actual conversation you were having. This seems very much like a "linter of language", so I just have flashbacks to how our devs ended up hating that tool (and how I'm sure some of that hate inevitably being transferred to the idea of linting in general). Interested in the idea, but would like to understand better what the UX is like, how much control you have over what it triggers on, etc.

MarkBennett commented 6 years ago

So that it doesn't look like we're trying to destroy our history or chats, I've exported and backed up our Slack before wiping the #announcements channel.

You can find the backup in Drive:

https://drive.google.com/open?id=1oSPQyNionRtdp-z7w-pd_JQRHLY2Civn

MarkBennett commented 6 years ago

So that we have time to make decisions about the language bot, code of conduct, safe spaces, etc. I'm thinking that we should let Exchange.js and Edmonton.py know we're not ready to invite people into our Slack yet.

I'd like to push to have it setup for October though.

Thoughts?

ashiazed commented 6 years ago

Me and @MarkBennett were talking about how to make sure code of conduct is read, here are some examples: http://randsinrepose.com/welcome-to-rands-leadership-slack/ https://pyslackers.com/slack/ (also sends a message) https://witchat.github.io/

I particularly like Rands as it includes an intro, general guidelines as well as a link to the COC. It also encourages real names.

ashiazed commented 6 years ago

Two other channels to add: intros random

Which ones do we set by default??? intros announcements dev edmonton society

MarkBennett commented 6 years ago

Which ones do we set by default??? intros announcements dev edmonton society

@ashiazed when you say add by default, do you mean people would join those automatically when they accept an invite?

ashiazed commented 6 years ago

Yes @MarkBennett

MarkBennett commented 6 years ago

@ashiazed and I also talked a bit about language bot.

Really, neither of us see the bot as make or break issue and we want to focus on other things. That said we've got an opportunity with a new Slack to get things right. We decided to make a pros / cons list. ;)

Pros

Cons

Based on these, we thought a good option would be to setup the bot and try it out for a period time. We can then circle back and decide if we need to tweak it or drop the bot entirely.

Thoughts @devedmonton/board-of-governors?

MarkBennett commented 6 years ago

Two other channels to add: intros random

👍

MarkBennett commented 6 years ago

Which ones do we set by default??? intros announcements dev edmonton society

intros and #announcements are probably enough. If most of our users are meetup attendees and community members, I don't think many of them will care about the actual machinations of the society.

ashiazed commented 6 years ago

We also discussed the private "safe" spaces and think the best route is to start with public channels and create private ones as need arises, or let them be created organically.

ashiazed commented 6 years ago

I'll leave this link here for automatic channel cleanup, well probably need it eventually: https://github.com/randsleadershipslack/destalinator

MarkBennett commented 6 years ago

One more Code of Conduct to consider:

https://changelog.com/coc

MarkBennett commented 6 years ago

I just read through all the proposed code of conducts. The PySlackers and Python CoC looks closest to what we'd want for our Slack because it's:

I'm thinking we draft a CoC and put it up at:

https://devedmonton.com/coc

MarkBennett commented 6 years ago

I setup an issue for basic branding. We can use this for Slack colours and an icon. #24

dgmouris commented 5 years ago

@MarkBennett Mind if I join the slack if it's open to the public? If so where would the link be?

MarkBennett commented 5 years ago

Mind if I join the slack if it's open to the public? If so where would the link be?

@dgmouris We've just got a few more kinks to work out, but I'll make sure you get an invite by end of week. Just need to lock down the code of conduct and we should be able to let more folks join.

For now, lurking here on Github and leaving comments is the best way to get involved. Any feedback you've got on the Code of Conduct above would be welcome! ;)

MarkBennett commented 5 years ago

Hey @dgmouris, our Slack is now open and you can request an invite at:

http://devedmonton-invite.herokuapp.com/

Make sure to say hello in #introductions and checkout the #meetup-organizers channel so we can start planning some fun! :)

MarkBennett commented 5 years ago

Slack is now open and accepting invites at:

http://devedmonton-invite.herokuapp.com/

Closing.