Skip to content

Commit 0af8caf

Browse files
authored
blog post about Discord for Scala chat (#1314)
1 parent d438b9d commit 0af8caf

File tree

2 files changed

+182
-0
lines changed

2 files changed

+182
-0
lines changed

blog/_posts/2021-12-21-discord.md

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
---
2+
layout: blog-detail
3+
post-type: blog
4+
by: Seth Tisue
5+
title: "Scala Chat: Hello Discord (So Long, Gitter)"
6+
---
7+
8+
On behalf of the Scala organization, I am pleased to announce that we
9+
have adopted **Discord** as our official chat platform.
10+
11+
## Join us!
12+
13+
**Please join us** for live text-based chat on the Scala Discord
14+
server, via this link:
15+
16+
* https://discord.com/invite/scala
17+
18+
The server has existed for several years now and is already
19+
busy and well-established. It is actively moderated under the
20+
[Scala Code of Conduct](https://www.scala-lang.org/conduct/).
21+
22+
Popular channels on the server include \#scala-users,
23+
\#scala-contributors, \#announcements, \#jobs, \#tooling, \#scala-js,
24+
\#scala-native, and others. New channels can be proposed on \#admin.
25+
26+
## What about Gitter?
27+
28+
Adopting Discord means we have moved away from Gitter. Most of our
29+
old Gitter rooms are now closed. The main room remains open, but
30+
mainly so we can help people find us on Discord.
31+
32+
Gitter served the Scala community extremely well for more than six
33+
years. We applaud the Gitter team for their pioneering efforts, which
34+
revolutionized public online chat for programmers. We also thank
35+
Gitter for providing us with free, high-quality service for so long.
36+
37+
## How is Discord different?
38+
39+
A Discord "server" may contain many "channels", also called rooms.
40+
41+
When you join a Discord server, all of the public channels on that
42+
server are immediately visible to you. Unlike Gitter, you don't have
43+
to join each channel individually. (But you can individually mute
44+
channels that don't interest you.)
45+
46+
There is a desktop client and a mobile client (for iOS and Android).
47+
Both are high quality.
48+
49+
Former Gitter users will notice a number of quality-of-life
50+
and user-interface improvements such as reactions and replies.
51+
52+
## What other chat servers exist?
53+
54+
Scala enthusiasts might also be interested in joining the following
55+
Discord servers:
56+
57+
* **[Scalameta](https://discord.gg/RFpSVth)**: Scalameta-based tooling: Metals, Scalameta, Scalafix, Scalafmt, and Mdoc
58+
* **[Typelevel](https://discord.gg/XF3CXcMzqD)**: the Typelevel ecosystem for pure-functional programming in Scala
59+
* **[ZIO](https://discord.gg/2ccFBr4)**: Type-safe, composable asynchronous and concurrent programming for Scala
60+
* **[Functional Programming](https://discord.gg/K6XHBSh)**: not Scala-specific, but includes a Scala channel
61+
62+
And although we have closed down all but one of the official Scala
63+
Gitter rooms, as of December 2021 there are still some active Gitter
64+
rooms out there devoted to particular libraries or topics, for example
65+
[playframework/playframework](https://gitter.im/playframework/playframework).
66+
67+
## What about non-English languages?
68+
69+
Our website's [community
70+
page](https://www.scala-lang.org/community/#chat-rooms) lists chat
71+
rooms and servers for many other languages besides English. Discord,
72+
Gitter, and Telegram are all represented.
73+
74+
As of December 2021, the list is probably not very up-to-date. We
75+
invite the community to submit pull requests that will make it more
76+
current, one language at a time. The file to edit on GitHub is
77+
[community/index.md](https://github.com/scala/scala-lang/blob/main/community/index.md).
78+
79+
## Are other clients supported?
80+
81+
Yes, via [Matrix](https://matrix.org). You can connect to
82+
`#scala-lang:matrix.org` over the bridge, using your Matrix client of
83+
choice (perhaps [Element](https://element.io)). Not all Discord features
84+
are supported.
85+
86+
## How did we decide to switch to Discord?
87+
88+
The community discussion of record on this began in October 2019
89+
on the following Discourse thread:
90+
91+
* https://users.scala-lang.org/t/can-we-have-an-official-scala-discord-server/5157
92+
93+
Among the objections raised were:
94+
95+
* Discord is a proprietary, closed-source platform.
96+
* The contents of Discord rooms are not indexed on the public web.
97+
98+
But in the end, Discord's feature set and its sheer popularity decided
99+
the matter. By the time we officially switched over in December 2021,
100+
most of the community had already voted with their feet and our
101+
Discord server had become much more active than our Gitter rooms.
102+
103+
Slack was considered as an option, but we decided it is best suited
104+
for private companies and groups, but not so well suited for
105+
open-ended public communities like ours.
106+
107+
## Tell us more history.
108+
109+
Okay, let's take a trip down memory lane.
110+
111+
During Scala's earliest days (at least since 2007, perhaps earlier),
112+
the main chat platform for Scala was IRC. In those early years, when
113+
the community was still small and there weren't that many Scala
114+
conferences and meetups yet, the IRC channel (along with the Google
115+
Groups mailing lists) was an important place where community members
116+
got to know each other and, one might even say, became a community.
117+
118+
Later, the IRC channel declined in popularity. In my personal view,
119+
this was due to a lack of moderation and lack of any code of conduct.
120+
It became essential to have these once the Scala community had become
121+
larger.
122+
123+
The IRC channel still exists to this day, now on
124+
[Libera](https://libera.chat) instead of Freenode, but traffic there
125+
has slowed to a trickle in recent years.
126+
127+
Gitter launched in 2014 and was widely adopted by the Scala community
128+
in 2015. The major advantages of Gitter over IRC include:
129+
130+
* Scrollback: you can log out, log back on, and still see what
131+
people were saying while you were away. (On IRC, this was only
132+
possible if you used special software.)
133+
* Markdown support, including syntax-highlighting of Scala code.
134+
* Messages can be edited (within a limited time frame) and
135+
deleted.
136+
* More features supporting effective content moderation.
137+
138+
Discord shares these advantages as well.
139+
140+
Some advantages of Gitter that Discord _doesn't_ share:
141+
142+
* GitHub integration, including GitHub-based login. (No need to
143+
make a separate account.)
144+
* Easy, decentralized, room creation, with room names based on GitHub
145+
repo names, making it a no-brainer for an open source maintainer to
146+
create a room specifically for their library.
147+
148+
However, in recent years, the Gitter platform largely stopped
149+
advancing and eventually came to feel stale. After Gitter was
150+
acquired by GitLab in 2017, some features were added such as
151+
threading, but the implementation of threading was unpopular with
152+
users. The quality and feature set of the mobile client fell behind
153+
those of the desktop client. New Vector Limited acquired Gitter in
154+
2020 and added Matrix support, but otherwise has not advanced the
155+
platform.
156+
157+
Meanwhile, Discord was becoming extremely popular in the video gaming
158+
community, then crossed over into programming communities.
159+
160+
## Are the old Gitter rooms archived?
161+
162+
The main Gitter room for Scala,
163+
[scala/scala](https://gitter.im/scala/scala) remains online and
164+
searchable. We'll probably leave it online indefinitely.
165+
166+
The other Gitter rooms under the scala/* organization have been
167+
deleted and their contents archived; the Scala Center retains the
168+
archives.
169+
170+
## Credits
171+
172+
[Salar Rahmanian](https://twitter.com/salarrahmanian) created the
173+
Scala Discord server initially and administered it until recently.
174+
We are grateful to him for leading the way. Thank you, Salar!
175+
176+
Personally, I would also like to applaud and thank everyone who's ever
177+
been helpful and kind to a Scala newcomer arriving in one of our chat
178+
rooms for the first time. You keep my faith in humanity alive. ❤️

community/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ Our main chat platform is Discord, and the main Scala server is:
6666

6767
The server is covered by the [Scala Code of Conduct](../conduct.html).
6868

69+
Alternate clients such as [Element](https://element.io) are supported
70+
via a [Matrix](https://matrix.org) bridge. Connect to
71+
`#scala-lang:matrix.org`.
72+
6973
Scala-oriented Discord servers operated by the community include:
7074

7175
* **[Scalameta](https://discord.gg/RFpSVth)**: Scalameta-based tooling: Metals, Scalameta, Scalafix, Scalafmt, and Mdoc

0 commit comments

Comments
 (0)