Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New communication channels #1865

Closed

Conversation

sophiajt
Copy link
Contributor

This RFC proposes adding official gitter and Slack channels to compliment our official IRC channels.

Rendered

@strega-nil
Copy link

I don't like it. It just splits the community.

@strega-nil
Copy link

It's already hard to deal with the three official communication channels of irlo, git, and irc. Adding another would just be more to deal with.

Additionally, slack takes a lot to set up, and requires a log in, as opposed to irc, which is easy to access with mibbit, or a simple downloadable program. It also means relying on another company, as opposed to only relying on Mozilla.

@sophiajt
Copy link
Contributor Author

@ubsan

To be clear, this proposal does not require anyone to use Slack or gitter, only to allow people who wish to use those platforms to be able to have a well-supported way of getting help with Rust questions.

@steveklabnik
Copy link
Member

To be clear, this proposal does not require anyone to use Slack or gitter,

and

a well-supported way of getting help with Rust questions.

are in conflict.

@BurntSushi
Copy link
Member

What kinds of moderation tools are available in these chat rooms? Are they comparable to what is available with IRC? (I've never used gitter before, and while I use Slack at work, I've never had to think about moderation.)

@steveklabnik
Copy link
Member

while I use Slack at work, I've never had to think about moderation.

Slack is generally perceived as having poor moderation tools for exactly this reason: it's a chat product for work. The needs are very different than a public chat room.

My understanding is that there are basically no tools for moderation at all.

@sophiajt
Copy link
Contributor Author

sophiajt commented Jan 23, 2017

@steveklabnik - there are ways to moderate. See: https://get.slack.help/hc/en-us/articles/201314026-Roles-and-permissions-in-Slack Moderation also came up in the thread. It's something the moderation team would need to explore, but there is at least some support there.

Can you explain how they are in conflict?

@sophiajt
Copy link
Contributor Author

Maybe some more general points:

We're big enough now as a community that it's no longer just a small handful of us answering beginner questions. We're better able now than ever before to support people and support their preferred communication channels.

I think @steveklabnik 's feelings are shared by some but my worry here is that it's a way for us to continue to exclude people rather than trying to accommodate. Yes, some of us just don't like Slack and we have our reasons. Some of us love IRC or have grown very fond of it, which is totally understandable. Many of us spend many hours a day there, myself included.

None of that, though, addresses the issues being raised. It's not about which technology we personally like more, but about how welcoming we are as a community. In a way, I'm suggesting we look past our own biases and try to accommodate more people and more ways of communicating.

@ahicks92
Copy link

I'm not saying do this or don't, I want to be clear about that up front. However:

if you are blind, Slack is almost entirely unusable. I believe this is being worked on, but for the moment this means XMPP or IRC gateways, neither of which are necessarily fully featured and both of which are inconvenient. I know at least one person who had to resort to using the Slack API to get something unavailable to them through these avenues.

Gitter was completely inaccessible last time I bothered trying. I doubt this has changed.

So, fine. Do this by all means. But if we end up in a situation where I must use them to continue contributing to the compiler, I'm probably out. At least, unless that's after Slack gets their accessibility act together. The one thing about IRC is that it's guaranteed to be accessible, one way or another.

@solson
Copy link
Member

solson commented Jan 23, 2017

I have no love for IRC as a protocol at all and I agree that our use of it is a real barrier for people, but splitting the community across more official communication channels seems counter-productive. I would much rather see an RFC for creating a beginner's guide to engaging with the Rust IRC community, which could range from just getting connected to IRC social expectations.

For an example of the latter, I've seen many new people make the mistake of asking a question and expecting an immediate response, though in reality questions are often answered with much delay during certain times of day and in slower channels like #rust-internals, so they shouldn't be discouraged or feel ignored by lack of an immediate response. We could also get slightly more general and include a concise "how to ask good questions". Basic things like paste-binning and including exact error text can help people get helped a lot quicker, and they aren't obvious to every new user.

I think with such a guide we would have an easier time advertising the IRC community, by simply pointing people at the friendly guide, and making it more valuable to them, by explaining what to expect. This solves some problems that would exist even if we introduced Slack and gitter channels.

FYI, the current advertising we do for the IRC channels here is mostly just a list of mibbit links to the channels that exist.

What do y'all think about doing more to ease the introduction to IRC?

@steveklabnik
Copy link
Member

steveklabnik commented Jan 23, 2017

@steveklabnik - there are ways to moderate.

Cool; I wasn't aware of this, this must be a recent change. Specifically, "remove someone from a channel" was not there the last time I looked into this. And "slack has poor mod tools" is a thing people often say. I'm sorry that my understanding was out of date here.

Can you explain how they are in conflict?

If nobody is required to use those channels, then we can't be sure that they're properly staffed and supported. In order to support them, we need to mandate at least some people be in them at all times, like for example, the mod team. And if we want to truly provide good support, then we need to have some degree of knowledgeable people around to answer questions, etc. So, unless this just happens organically, which it might, then it's still going to be a burden. I'm not saying that this is impossible by any means, but "officially supported" and "don't worry you don't need to be there" seem pretty clearly at-odds.

It's not about which technology we personally like more, but about how welcoming we are as a community.

What really always rubs me the wrong way in these discussions is that the people who prefer Slack always assume that it's inherently more welcoming, and it comes across as extremely condescending. You're not exactly doing that here, but stuff like

More recent chat platforms like gitter and Slack have filled in the usability gap, and are now preferred over IRC.

is toeing the line. that's one of the reasons why it's so heated. "People like it more" is just repeated over and over again, against any criticism. You aren't doing this yet, but it's something I fear from this thread. I just had yet another conversation today with someone else who really doesn't like Slack. It's not as straightforwardly better or universally a slam-dunk as it's often presented.

The reality is, adding more and more official channels is going to fragment the community. Unless you're going to try to mandate that nobody continue to use the existing ones... and while you say you're not, at the same time,

At the same time, core developers spend a fair amount of time discussing issues on IRC, so it's an essential place to participate if you want to be deeply involved in the project. By requiring people to use IRC, we're creating an boundary between the Rust community and potential contributors.

So, which is it? Are we going to make all core development happen over Slack to erase the boundary we've artificially created by adding a Slack? Or are we going to perpetuate "oh the real work goes on on this hard thing, all the easy beginner stuff is for the easy thing."? This is tough.

If we're not going to fully move over to Slack, then this split is a serious drawback, and isn't really addressed in the drawbacks section. The reply to this in the drawbacks section is pretty much just saying "well it happens".

FWIW, I think much of the drawbacks could be negated here by making the unofficial Slack, like was originally proposed in the pre-RFC. In the alternatives section,

The drawback of this approach is that if we don't promote them how will the users they're intended to reach out to find them and how will the sense of equality we want to reach be fostered?

We do already link to unofficial things, /r/rust is linked to on https://www.rust-lang.org/en-US/community.html, for example. An unofficial Slack could go there as well.

Furthermore, there are a number of alternatives that are not at all discussed in this RFC: Why not Mattermost? Discord? Riot.im? Zulip? All of these provide an "easier interface than IRC" but change several other variations of the equation; some have extra features, some are open source, some are self-hosted and others are cloud services, etc.

To end on a bit of a positive note, since I've been almost entirely negative:

If our goal is to create a warm, welcoming community, then part of that work means working with technologies that are more familiar and comfortable to this potential community.

I do agree with this in principle, and don't think that we should inherently always stay with exactly what we have. The motivation here is good. I'm just extremely skeptical of the RFC as-written.

@withoutboats
Copy link
Contributor

withoutboats commented Jan 23, 2017

Some of the concerns here are thoughtfully expressed & important to address, but some of what I'm seeing feels like a kneejerk response (especially all the thumbs).

I can imagine easily that an inverse community, which has only a slack and no IRC channels, might react in exactly the same way to a proposal to add IRC. Who among us would not have been able to contribute to that community? Who today is not able to contribute to ours?

I want to challenge the idea that you have a need or even a right to be present in every communication channel that exists around Rust. Ultimately, 'official' actions are taken by git operations rust-lang owned repositories, and that is the only venue you "need" to participate in. My presence in IRC / gitter is fleeting, I don't feel disempowered by that at all. We should be optimizing to cast a wide net, not for having the same people present in every medium.

This proposal puts a responsibility & a burden on the community/moderation teams to maintain the slack and gitter, but not on anyone else as far as I'm concerned.

And I'll be clear that I don't care much for slack. I even don't care for the narrative I see floating around sometimes that it is 'more accessible' than IRC & keeping to IRC is 'elitist' or 'backwards.' There are people to whom slack is more accessible than IRC, and people to whom it is not.


But I wonder also if its necessary for a slack to be 'official.' What exactly does that mean? The key distinction here I think is the question of who is responsible for moderation. The subreddit has succeeded despite being unofficial, with a distinct set of moderators from the Rust project. Also, despite being unofficial, the subreddit is linked both from the website's community page and the rust-lang/rust README.

Perhaps the status of the subreddit should be generalized to a 'tier ii communication platform' and the slack should have a similar status.

The gitter seems like it should be made official since ownership of it is tied to the repo.

@withoutboats
Copy link
Contributor

Furthermore, there are a number of alternatives that are not at all discussed in this RFC: Why not Mattermost? Discord? Riot.im? Zulip? All of these provide an "easier interface than IRC" but change several other variations of the equation; some have extra features, some are open source, some are self-hosted and others are cloud services, etc.

I've seen users actively request a slack channel several times. I haven't seen users request any of these other services.

@SimonSapin
Copy link
Contributor

From the RFC:

we make the unofficial gitter channel official.

What does this mean? What makes a communication channel "official"?

@Manishearth
Copy link
Member

So I have various thoughts on this, wearing various hats.

With my mod hat on, I feel that these communities will have to organically grow moderators. I've tried hanging out in the gitter channel before and it never lasts, even though I like the place. Slack is worse; it eats up RAM. We can help bootstrap, but ultimately you'll need folks who actually want to hang out there. I'm unsure how many members of the team will be able to hang out on Gitter and Slack. Not all members of the current mod team actively hang out on all channels anyway, though we do make decisions together when issues occur. Additionally, there are other mods on these other channels who help handle more mundane isses (spam, blatant stuff, etc), so this wouldn't be a new concept. There's not much work in moderation since incidents are rare (spam, less so), but you have to have the capacity of being around 24/7 (collectively) and catching the more egregious incidents quickly when they happen. The mod team can expand, but I'd prefer it be approached in the opposite way -- identify trusted individuals who seem to like to hang out on the slack/gitter channel, and let them moderate there (possible uplifts into the mod team can happen later if we want)

With my community team hat on, I strongly share @steveklabnik's concerns. It's a matter of how much we're actually promising here. Are we promising that core development discussion will happen there? That's extremely unlikely to work. Are we promising that folks who like helping newbies will be there like we have with #rust-beginners? That may work, but it may not as well. We don't really promise anything for the beginners channel or reddit but it does end up working out on its own.

Splitting the community is a very valid concern and needs to be explored thoroughly. I don't spend much time on Discourse, and I'm one of the few people lucky enough to be paid to write Rust code. This (not spending time on Discourse) is true for many people. People participating in their free time will be further sequestered.

As a beginner-help channel I think it's a good idea, but attempting to copy more of the communication channels over could be disastrous. Communication needs agreement on the communication channel. Right now we have multiple, but there is general agreement on their purpose. For project-related discussion, we have (-internals, -lang, etc) IRC for on-the-spot rapid discussions of a particular topic which often get flushed as comments to GH or irlo, irlo for informal idea discussion, GH for formal discussion of rfcs and issues. For discussing programming in the language itself we have #rust/#rust-beginners and urlo, but it's fine for these to be fragmented, since it's not an "everybody must communicate with everybody" situation like language design and other internals discussions are.

I realize that not having an internals channel on Slack means that we're effectively excluding people who want to participate in these discussions but don't use IRC. I think that's inevitable. If we copy over to slack, we'll have some of the discussion happening on slack, which the IRC-only folks aren't included in, and the rest happening on IRC, which the slack-only folks won't be included in. While this is a strict increase in participation, we may end up excluding as many folks as we include for any given discussion.

This doesn't cover moving to Slack, but I feel that there are already plenty of arguments against an open source project using Slack as its primary venue, and besides, the churn itself (with current participants leaving) could be disastrous. We did this before, with the mailing list, and there was churn then, and the community using the list was much smaller at the time (so the impact wasn't too bad). I don't think we could do this now easily. If we started out with Slack I would have similar arguments against switching to or sharing with IRC; a lot has to do with maintaining the health of the existing community.

With my novelty "I ❤️ Open Source" hat on: I'm usually very much for keeping multiple ways for participating in an open sourceproject. I am a big advocate of projects that use patch mailing lists to also accept patches (and allow patch reviews) on Github with the discussion being forwarded to the list for newcomers, and nudge them to the mailing list as they grow into seasoned contributors. We have a similar dual-entry system for Servo and I'm quite fond of the model. I think we can do the same here, by keeping general purpose discussion channels on Slack/Gitter, but still keeping them second-class in terms of serious participation. Folks can still have internals discussions on these channels, but it will always be a smaller crowd so for something more involved the more official channels would make sense. This means that folks can start getting involved however they want, and as they become seasoned participants they can include IRC. This is very different from officially encouraging internals discussions on those channels, since that will have the aforementioned split issues. I'm not very fond of asking people, seasoned or otherwise, to use a particular tool, but in this case I feel that it's better than the alternative of splitting.


My personal ideal solution for this is:

  • Have general purpose Rust/beginners channel(s) on Slack and Gitter. I don't particularly have an opinion of a #rust/#rust-beginners-like split, since #rust is still 90% beginners discussions and 10% offtopic banter, so it doesn't really matter IMO.
  • Link to them from wherever. Homepage, community page, readme, etc.
  • Grow mods organically from those subcommunities, so mod team only needs to be involved when bootstrapping them.
  • I don't particularly care if they're actually considered "official" or not. The gitter one already existed and could be considered a separate community, really. /r/rust is doing fine as unofficial and we could apply the same policy here (link to it, but let it do its own thing). AFAICT the only difference between official and unofficial is that official channels will have the rust mod team (plus any other mods local to that channel), and the rules are enforced pretty uniformly across official channels.

@solson
Copy link
Member

solson commented Jan 23, 2017

I can imagine easily that an inverse community, which has only a slack and no IRC channels, might react in exactly the same way to a proposal to add IRC. Who among us would not have been able to contribute to that community? Who today is not able to contribute to ours?

This is an interesting point. I feel like in the inverse situation, my reaction would indeed be exactly the same: double down on the existing communication channels and do not introduce an official channel on a new service. I think that splitting the community along chat service lines will make these communication channels less valuable to everyone compared to making the existing service more accessible and keeping everyone together.

It's great having so many people together... on IRC I can start up a quick chat directly with the friendly authors of tons of crates I use. Once you're on IRC, there's so much knowledge you can tap into with just a small amount of effort. Our community is so nice. <3

So it's a shame for someone to miss out on this over IRC's UX problem. But I don't think the best answer is to spread across multiple chat services, which will make certain people less accessible to each other or force people to run more clients. I would rather focus on making Rust IRC more accessible so we can have more people benefit while preserving the connectedness.

We happen to be on IRC due to historical accident, and it's worse than some alternatives in objective ways, but I think the value of a more connected community outweighs that and I'm optimistic that we can make it much more accessible than it is now.

@Manishearth Manishearth reopened this Jan 23, 2017
@Manishearth
Copy link
Member

Manishearth commented Jan 23, 2017

Gah, accidentally closed it, butterfingers.

I feel like in the inverse situation, my reaction would indeed be exactly the same: double down on the existing communication channels and do not introduce an official channel on a new service.

Me too. But I don't think that this ("We would chose Slack in the reverse situation") needs to be too relevant here -- there are plenty of arguments here that deal with "We use communication channel A and want to add B" that are agnostic over A and B. I personally would like to avoid any discussion of which channel is better (not that anyone is doing so now, but we've had plenty on the older internals threads), like Steve I feel that this cuts both ways and IMO the tradeoffs are too complex to make a sound judgement on.

So while survivorship bias will be involved in the reactions to this, I think we can try to separate this from this discussion. For example, my comment doesn't really dwell on the differences in slack and IRC, it mostly focuses on the fact that we're already using one of these channels.

@elinorbgr
Copy link

Furthermore, there are a number of alternatives that are not at all discussed in this RFC: Why not Mattermost? Discord? Riot.im? Zulip? All of these provide an "easier interface than IRC" but change several other variations of the equation; some have extra features, some are open source, some are self-hosted and others are cloud services, etc.

I've seen users actively request a slack channel several times. I haven't seen users request any of these other services.

Just for the record, riot.im (or rather matrix.org) has full IRC-bridging capabilities, and has been bridged with mozilla irc network for several month now. Several people (me included) use it to access the IRC channels. So this is most likely why no riot.im users have made such requests.

However, advertising the matrix bridges would not imply any split of the community, as they effectively target the same channels.

@nagisa
Copy link
Member

nagisa commented Jan 23, 2017

From my recent personal experiences. I found out tokio/futures only has a dedicated gitter or whatever chat set up and not an IRC channel. I enter webpage, see

Sign in to start talking

Page gets insta-Super Q/Alt F4d and I go solve my problems by being mildly offtopic on #rust-libs instead.

Now, this is just one of the very many problems with this service that would prevent me from participating in this media. That being said, I couldn’t care less about where people figure out their first encounter with borrowck – its always possible to guide them towards IRC later on.

@aturon aturon added the T-core Relevant to the core team, which will review and decide on the RFC. label Jan 23, 2017
@sophiajt
Copy link
Contributor Author

Imagine if you will, a system that:

  • Is very easy for a new user to sign up for
  • Persists conversations, mentions, notifications, etc between logins
  • Is visually pleasant
  • Allows for strong moderation

With bonuses:

  • Allows you to edit things you mistyped
  • Allows good interaction with things like GitHub

If this thing existed, it seems like it would be the better fit for us. I think we mention things like Slack and Gitter, but as others have pointed out, those solution come with their own set of problems (eg, they lack strong moderation).

Does IRC have any big advantages over the above solution? Of course, it's familiar to us, it's a known value that people have learned over the years. Still, I believe that this magical unicorn solution would be a better fit for us and something we'd quickly grow accustomed to.

@Ixrec
Copy link
Contributor

Ixrec commented Feb 19, 2017

@vberger I hadn't heard of KiwiIRC before, but after trying it for a few minutes I immediately run into things like 1) I can't even join #rust without knowing that it's not on the default server and how to look up what the correct server is (I happen to know these things, but obviously newcomers will not, and shouldn't have to), 2) If I reload the page, it forgets everything.

So I don't think that particular web client solves the problems with IRC.

@nagisa
Copy link
Member

nagisa commented Feb 19, 2017

Does IRC have any big advantages over the above solution?

It is an open, well understood protocol that one can use over as simple an interface as telnet. That’s trivially not true for most of the other options.

@sophiajt
Copy link
Contributor Author

@nagisa - absolutely. And I think that'd be true for the unicorn solution as well.

@eddyb
Copy link
Member

eddyb commented Feb 19, 2017

@Ixrec I was thinking it'd be hosted by Mozilla, e.g. like http://webchat.freenode.net.

@est31
Copy link
Member

est31 commented Feb 19, 2017

Is visually pleasant

IRC is visually pleasant for my tastes.

Allows for strong moderation

One of the things I like about IRC is that it doesn't allow for strong moderation. What is said has been said. There is no editing of things or anything. That's great. You can kick/ban/silence users who behave badly, that should be enough. One of the things I hate about the rust subreddit is that moderators often just delete posts. I wouldn't want it to extend this censorship to IRC.

Allows you to edit things you mistyped

I dislike this as well. On real time platforms like IRC it should be obvious that people only read and reply to the non edited variant. You shouldn't have to check every post in the history about whether someone has edited something.

Allows good interaction with things like GitHub

Again, please no. It creates vertical bloat I don't need or want.

The only two things in your list I that I think are positive features is the easier sign on and better persistence. IRC really should provide a better solution for this. But that should be no reason to use something considerably worse like gitter or slack.

@sophiajt
Copy link
Contributor Author

sophiajt commented Feb 19, 2017

@est31 - right, there is no "one size fits all" solution. For some folks, like yourself, the style of IRC works just fine.

That said, I'm sure you can recognize what you find valuable that others would not find equally inviting.

@salpalvv
Copy link

There is a lot of throwing around "IRC bad, hurts adoption" sentiments like it's an empirical truth in this rfc. Where is this coming from? Is it based off twitter diatribes? It's definitely not supported by the majority of emojis in this rfc. I don't see anything being reported about IRC after the State of Rust Survey 2016.

"Challenges for Rust"

learning curve, immaturity of the language and libraries, and immaturity of the tools.

@sophiajt
Copy link
Contributor Author

@salpalvv - it has come up a in person, on twitter, etc. Sadly, there's no place that aggregates all of the comments, but you can see some of them in places like this thread: https://twitter.com/jbeda/status/833008797459230721

@Manishearth
Copy link
Member

Is it based off twitter diatribes? It's definitely not supported by the majority of emojis in this rfc.

A community born in IRC will have some degree of self-selection bias for IRC.

I mentor people for joining open source; and IRC is a barrier for many. Slack/etc are barriers for others, too, but IRC stands out here.

@solson
Copy link
Member

solson commented Feb 19, 2017

More precisely, the fact that a guide is required at all is what makes IRC esoteric compared to other chat systems. This is why simply creating guides is not a solution to the problem

I agree, in the sentence you quoted I misspoke. The need for a guide proves that IRC is a problem, but then also not having a guide just makes it more of a problem.

Really, I think we should have an IRC guide if we continue to have any substantial IRC presence. This isn't really about solving the main problem, but it seems like a useful thing to do regardless of the outcome of this RFC unless we manage to move all important discussion off IRC.

@salpalvv
Copy link

A community born in IRC will have some degree of self-selection bias for IRC.

Yes, exactly. This is an RFC asking for support from the community, which it doesn't appear to have, to implement something the majority doesn't want nor believe will be a net positive relative to the downsides without any data to the contrary sans anecdotes.

@Manishearth
Copy link
Member

This is an RFC asking for support from the community, which it doesn't appear to have

Inclusion is hard. Almost every inclusion discussion has the self-selection bias issue; and you need to punch past it to get somewhere meaningful.

I do think there was decent support for having semi-official Slack/etc channels for analogues of #rust and #rust-beginners, it's the internals thing that is more contentious.

@sophiajt
Copy link
Contributor Author

Coming back to this thread after some discussions on IRC, I'm struck actually by how diverse our community already is. We're certainly not a monoculture that likes things a certain way. Sure, there's a self-selection bias around IRC, and lots of questions around it and how to proceed.

I'm realizing though, that I made a few mistakes in putting this RFC together. One that I think is the most pressing for the conversations at hand is that for something like this, I should have really tried to have gotten broad consensus around what the current issues are (a la https://internals.rust-lang.org/t/two-stage-rfcs-motivation-overview-then-details/4252). After that point, we could fire away giving solutions that could help with the issues we agreed we wanted to fix.

It feels like a lot of this thread was just people trying to get a grasp on the issues, with people solving what they thought they real issue was.

I'd be happy to rewrite the RFC in the staged approach and see if we can rally around the motivation/issues to be resolved.

Thoughts?

@est31
Copy link
Member

est31 commented Feb 19, 2017

I do think there was decent support for having semi-official Slack/etc channels for analogues of #rust and #rust-beginners, it's the internals thing that is more contentious.

Indeed, I do agree to adding such channels. Currently my main problem with the RFC is about: 1. the language that assumes that slack/gitter is better in all ways than IRC or wanted by everyone, and 2. that I'd prefer to have discussion about rust development not leaving IRC.

@Ixrec
Copy link
Contributor

Ixrec commented Feb 19, 2017

Re: Inclusion - Part of the reason I keep commenting on this thread is that I'm under the impression I'm one of the few in this community who is actively using IRC despite my opinion that (even for people like me that know how to use it) it is sorely lacking compared to all other popular chat software.

That said, I don't know what if any alternative we should be looking into, because 1) virtually every alternative has the basic functionality IRC lacks so I honestly don't care which one, 2) I don't know what functionality the rest of the Rust community cares about (is "usable over telnet" a feature we really need?), 3) I don't have a good grasp on how much risk there is of splitting the community by doing something like this, 4) Rust development is the part I'm really interested in so I'd probably have to remain on IRC even if Slack channels did appear.

I'd be happy to rewrite the RFC in the staged approach and see if we can rally around the motivation/issues to be resolved.

Thoughts?

Sounds like a good idea to me. As is probably obvious by now, I'm much clearer on what the issue is than on how it should be solved.

@chriskrycho
Copy link
Contributor

chriskrycho commented Feb 19, 2017

Staged approach for the win.

FWIW, it's worth noting that I'm in the same boat as @Ixrec here: I use IRC, but as noted upthread think it has some serious limitations which are least obvious to the people (a) most comfortable with it and/or (b) who tend to prefer command line tools. (That's not a critique of groups a or b, either, merely an observation.) I am in those channels far less than I would be with something not IRC (Discord/Slack/whatever else) precisely because of the frustrations IRC poses from a UI and UX perspective to me.

I think an i.r-l.o and/or u.r-l.o and/or Reddit discussion would be very helpful, and I think that having it not just in internals is important because of the self-selection issue: folks already in internals are the least likely to be those pushed away by IRC.

@ivandardi
Copy link

Uh, I'll advocate for Discord here.

Currently as it is, the moderation tools are really strong. You can set roles with permissions, so spamming can be dealt with easily, you can log all messages for posteriority and a lot of other stuff. So yes, moderation isn't a problem in it.

As for the ease of new users, they can have access in all platforms. It works in pretty much any browser and has apps for Linux, Windows, Android and iOS, so it covers everyone. It's also very intuitive to use: you just register, join the server and chat. And it has one thing I like better than Slack: you only have one account, rather than having one account per server. I know that the first time I tried Slack I got very confused by this, so I wonder if other people would get confused too.

One thing that IRC doesn't have is voice chat, so that could help out immensely as well, especially when hot ideas are being discussed. You can have voice chats in a server and individually too, so it offers max flexibility for conversations. The voice chat is also very good: the voice quality is amazing and it consumes little data, so people can talk about Rust anywhere they want.

It also has support for bots, so stuff like compiling in the playground definitely works, along with syntax highlighting, which is definitely a must. In fact, the new bot is still being worked on. It's being rewritten in Rust, and I'd love to get newcomers to Rust to try and help on the bot. It's a great first community project to work on. 😄

Since it also has support for bots, it can (and should have) an IRC bridge. Then, all the messages that get sent to the discord also get mirrored on the IRC, so for the people that like the IRC more they can still watch what's being talked on the Discord without actually having the client open.

Another cool thing that the bots allow is webhooks, so you can hook them up to the Rust repo over on Github and it will send a message whenever a new commit is pulled, a star is added, basically any git interaction with Rust. You can also mirror /r/Rust from Reddit to a channel, so when beginners post questions or an interesting article is posted you also get notified instantly.

Here's a link to it if anyone wants to judge and build an opinion on it. Keep in mind that as of now it's really in rough edges and that I'll gladly accept suggestions to improve it for everyone in the community. 😃 https://discord.gg/23sA8nR

PS: Yes, the server link is not very friendly. However, there's a way to get a custom server URL like https://discord.gg/rustlang or something. It takes some time though, so I don't think we can get it anytime soon unless some other things happen.

@causal-agent
Copy link

I agree with @solson's proposal of an IRC guide for newcomers. Really, no communication platform is going to be 100% intuitive to everyone, so I think that a guide to get started on whichever platform would always be useful.

@skade
Copy link
Contributor

skade commented Feb 20, 2017

@vberger I have an open pull request to the rust-lang website linked here to add kiwiirc with pre-configured channels. Kiwi only solves so much though, the users won't see a history and similar things, but it's a huge improvement on the "this is so hard to get started/looks very dated" side of things.

@skade
Copy link
Contributor

skade commented Feb 20, 2017 via email

@skade
Copy link
Contributor

skade commented Feb 20, 2017 via email

@nagisa
Copy link
Member

nagisa commented Feb 20, 2017

is "usable over telnet" a feature we really need?

Yes, as that’s essentially what salvages us all from all those Electron "Eatin' RAM for breakfast everyday” Applications. I happen to have strong feelings about this stuff (both simple protocols and electron-sort-of apps).

I’m glad discussion is only revolving around new venues equivalent to #rust and #rust-beginners, which I don’t frequent, and by extension cannot care much about them. However, the same moment the discussion begins involving the rest of the rustc development channels (i.e. the stuff I care about), it becomes a discussion about splitting the venue I myself frequent, which leads to exclusion of myself from some or (eventually) all of the discussion.

@nagisa
Copy link
Member

nagisa commented Feb 20, 2017

A concern I haven’t seen pointed out yet is that Slack is a paid service. This may cause unnecessary problems. See for example 1, 2.

@ivandardi
Copy link

Huh. I double checked just to be sure, and Discord will always be free.

Remember, the core voice and text communication of Discord will always be free. No server fees, no user cap fees, no messaging fees, none of that.

(Taken from this post)

@skade
Copy link
Contributor

skade commented Feb 21, 2017

More precisely, the fact that a guide is required at all is what makes IRC esoteric compared to other chat systems. This is why simply creating guides is not a solution to the problem; the only people who would read them are people who a) are aware IRC requires a guide to use properly, and b) are willing to read guides just to use a chatroom, and c) haven't already done so. Personally, I probably wouldn't be on the Rust IRC channels if I hadn't already been forced to learn IRC years ago for unrelated reasons.

I don't agree. Rust has a very specific split of channel and groupings and even if the guide just documents "If you are a beginner, click this link and talk to people in #rust-beginners", that's alright.

@aturon
Copy link
Member

aturon commented Apr 26, 2017

Just checking in on this, @jonathandturner, do you plan to close out this RFC and move toward discussion elsewhere?

@sophiajt
Copy link
Contributor Author

@aturon - I'm happy to close it, but IIRC I was asked not to close it? But yes, I'm fine closing this issue.

@sophiajt sophiajt closed this Apr 26, 2017
@rust-lang rust-lang deleted a comment Jan 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-core Relevant to the core team, which will review and decide on the RFC.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet