@jimmycuadra - not sure what you mean eg) remram's comment above. It's totally okay if someone prefers Matrix, but what we're talking about is opening ourselves up specifically to the Slack audience.
To be clear, "I don't think an open source project should encourage using Slack" is a totally valid opinion, but I have yet to see why specifically Slack is being singled out. The Rust project uses closed source tools for other parts of its infrastructure, but they help enable the project. While I empathize with the desire for everything to be open, we're not going to move off of GitHub, for example, to a more open source host. Slack seems similar to me, in that it's just where people are moving and there are a growing number of people comfortable with that platform.
Slack's UI is designed for small teams. It places private messages front-and-center, allows you to create rooms and just stick team members into them, and has no supported method to make teams publicly joinable. (the Heroku thing uses undocumented APIs)
It's GitHub integration is pretty inferior to Gitter's. You can't just write issue numbers and have links come out, and you can't just sign in with your existing user.
Since Slack doesn't technically have public chatrooms, your "public" room is either limited to 10,000 messages or it costs money. Gitter, uses the same prices model as GitHub: public rooms are free, while private rooms cost.
Admittedly, IRC shares many of the same problems, so it's easy to compare Slack to IRC favorably. But all the features are ones Gitter also has:
Markdown
(Reliable) file sharing
Built-in pastebin
Built-in archiving (Slack's just aren't public)
Built-in NickServ
Email in response to @mention
Usable by anyone with a web browser; Mibbit isn't usable for anything but a one-off. IRCCloud is, but it costs $5 a month.
If you want to use Slack because of any of those things, Gitter has all of them, too.
I have largely stopped participating in the Rust community because of how expensive and hard to use IRC is. Especially since I've started using Slack for all my other communication, putting up with IRC is just too much. And I know how to use IRC, if I really wanted to. I'm sure there's lots of other folks who don't. That's a real barrier to entrance.
The only reasonable IRC client and service I've found is irccloud.com, which costs $5/month if you want to stay connected, which you need for people to reply to you later, have history, etc. It's also not that great of software.
The Gophers slack, on the other hand, is much easier to participate in. Gitter sounds OK too though I've never used it.
We are definitely missing potential new users. To quote the conversation "it just seems silly to put a barrier to entry on the front door without a very compelling reason". That's what putting IRC out there for people who don't use it feels like to them. Seems like an unnecessary loss if we can find a way to make some of these alternatives to IRC work well.
Is there any way we can make the Slack channel a thing? Also, Discord came up in that conversation as well, which I'll admit that I've never used before (you'll see I mistake it for Discourse).
I think Gitter is Sufficient (Discord is just an alternative that other folx like the React community use). Both are fine and since Gitter seems to already have some traction, I'd just advocate to move everything to Gitter.
You can't just move communities around. Folks use IRC because they want to use IRC. Folks use Gitter because they want to use Gitter. A lot of folks will just stop participating in the discussion channel if it is moved around -- you can't force the community to use Gitter. This happened when we switched from the mailing list to Discourse too, however the mailing list wasn't that high volume anyway so it's not a big deal. IRC is pretty high volume.
(Also, Gitter doesn't seem to allow for sub-channels, which would be necessary to make it work. Right now we have around 10 different IRC channels for Rust development, because it just gets too noisy in one channel)
Wow, that is a surprise! I think this definitely should be advertised more (community page at least, and perhaps a gitter badge/link in the Readme.md in the repo).
As for IRC, I think we can do a better job if we actually introduce people to IRC, and not just aim a bunch of channels at them. I am hardly a user of IRC, I only roughly understand what it is, and for me links to mibbit on the community page are scary and alienating. I think that a short paragraph describing what IRC actually is, and a nicer looking default web client would help me and perhaps a bunch of over people. In comparison, Gitter/Slack offer nice landing experience out of the box.
About Slack itself, I have a hypothesis that if you don't like IRC, and would prefer Slack or Gitter, there's high chance that you would be OK with either of them. And given that there is already a gitter channel, it makes sense to promote it and see if it can satisfy the needs of IRC haters like myself
Definitely +1 on making IRC generally easier to use and giving people better help on getting used to it.
But, that still doesn't address the concern, though. The concern specifically is around people who don't like IRC. We can make it easier to use, for sure, but if they don't like it... well they don't like it. Eg, I don't like horseradish, so giving me high quality horseradish doesn't make me want to eat it.
I created an account here just to respond to this thread since I'm in the process of learning Rust and was looking for the official Rust Slack channel. IRC is great for dropping in and out of rooms to get some information, but I can't really subscribe to it or get notified on all my devices or get emails of @ mentions. Also, I am subscribed to a bunch of other programming communities on Slack, so having Rust not live separately would be nice. So, big on Slack from me.
Also, it would be great if the Gitter link was listed on the community page.
Small correction here: given that the Gitter channel is not advertised anywhere (unlike /r/rust, which is advertised on community page despite being unofficial), we won't be able to say that "people prefer Slack to Gitter" if we start advertising Slack.
I would personally prefer to reframe this discussion from "add Slack channel" (which is great!) to "add and advertise Slack, or Gitter, or both".
Okay, I'd like to reiterate a few points here, because I think the discussion is getting a bit unstructured.
First of all, I'd like to reject the notion that we are beginner-unfriendly because we don't offer Slack. This runs under the base assumption that Slack is the only accessible option.
The outset:
We were considering opening up a second chat venue, possibly on Slack, to open more venues of approach for people
There is no discussion about changing anything about IRC. As a consequence, that doesn't mean that everyone is reachable by the new system. (For example, several teams meet in their channel on IRC and we don't want to influence)
Here's a couple of things around that:
We have good experience with providing project-endorsed channels.
We have a outstanding community standing and much of it stems from the friendlyness of our channels.
While I do agree that we should use open, free and self-provided channels, I'm also not into policing people. If people prefer Slack and don't want to use anything else, it's not our job to tell them otherwise.
Same goes for Gitter/Matrix.
There's the open issue of mod tools, which self-signed-up Slack sorely lacks, I'm just don't know how big the problem currently is. From my years of active moderation, the best consequence towards the day-to-day boundary breaking are stern words, which all tools provide.
Which brings the whole thing mostly down to: if we provide those two channels, who would like to take up moderation and make sure they hold our community standards. That's quite some work and 24/7 service. Many of the current moderators have expressed that they have many eyes on their current projects.
Finally, I think we should still choose well and not start a landgrab everywhere. I prefer good and strong support on selected venues over thing support everywhere.
Also, finally, I'd like to mention that the community team does not have enough persons to conduct and search for moderation teams.
I don't feel strongly enough about slack to propose that the community team allocate resources to begin the process of using it.
IRC works fine. Gitter is also working nicely. Adding another communication avenue is ~50% more effort to moderate. It's also ~50% more effort for a user to internalize for communicating with the community.
If someone is passionate enough, I think they should just make an unofficial slack channel for rust and grow it to where it couldn't be ignored until adoption. That's how open source works. You fork the concept and if it survives / provides value, people will gravitate to it. If no one is willing to take up that mantle, I believe that it wasn't a popular enough alternative to be used over the current paradigm. Every new idea shouldn't require immediate community team leadership buy-in for it to begin.
If/When a slack channel becomes available and it overtakes IRC/Gitter, I will use it. IRC/Gitter is available and active so, I presently use it.
Edit for clarification:
My personal opinion is a preference that community members of the rust language take personal initiative in championing alternative and new ideas relative to what has been previously provided and is currently supported.