Scala Chat: Hello Discord (So Long, Gitter) – صحيفة الصوت

Tuesday 21 December 2021
Seth Tisue


On behalf of the Scala organization, I am pleased to announce that we
have adopted Discord as our official chat platform.

Join us!

Please join us for live text-based chat on the Scala Discord
server, via this link:

The server has existed for several years now and is already
busy and well-established. It is actively moderated under the
Scala Code of Conduct.

Popular channels on the server include #scala-users,
#scala-contributors, #announcements, #jobs, #tooling, #scala-js,
#scala-native, and others. New channels can be proposed on #admin.

What about Gitter?

Adopting Discord means we have moved away from Gitter. Most of our
old Gitter rooms are now closed. The main room remains open, but
mainly so we can help people find us on Discord.

Gitter served the Scala community extremely well for more than six
years. We applaud the Gitter team for their pioneering efforts, which
revolutionized public online chat for programmers. We also thank
Gitter for providing us with free, high-quality service for so long.

How is Discord different?

A Discord “server” may contain many “channels”, also called rooms.

When you join a Discord server, all of the public channels on that
server are immediately visible to you. Unlike Gitter, you don’t have
to join each channel individually. (But you can individually mute
channels that don’t interest you.)

There is a desktop client and a mobile client (for iOS and Android).
Both are high quality.

Former Gitter users will notice a number of quality-of-life
and user-interface improvements such as reactions and replies.

What other chat servers exist?

Scala enthusiasts might also be interested in joining the following
Discord servers:

  • Scalameta: Scalameta-based tooling: Metals, Scalameta, Scalafix, Scalafmt, and Mdoc
  • Typelevel: the Typelevel ecosystem for pure-functional programming in Scala
  • ZIO: Type-safe, composable asynchronous and concurrent programming for Scala
  • Functional Programming: not Scala-specific, but includes a Scala channel

And although we have closed down all but one of the official Scala
Gitter rooms, as of December 2021 there are still some active Gitter
rooms out there devoted to particular libraries or topics, for example
playframework/playframework.

What about non-English languages?

Our website’s community
page
lists chat
rooms and servers for many other languages besides English. Discord,
Gitter, and Telegram are all represented.

As of December 2021, the list is probably not very up-to-date. We
invite the community to submit pull requests that will make it more
current, one language at a time. The file to edit on GitHub is
community/index.md.

Are other clients supported?

Yes, via Matrix. You can connect to
#scala-lang:matrix.org over the bridge, using your Matrix client of
choice (perhaps Element). Not all Discord features
are supported.

How did we decide to switch to Discord?

The community discussion of record on this began in October 2019
on the following Discourse thread:

  • https://users.scala-lang.org/t/can-we-have-an-official-scala-discord-server/5157

Among the objections raised were:

  • Discord is a proprietary, closed-source platform.
  • The contents of Discord rooms are not indexed on the public web.

But in the end, Discord’s feature set and its sheer popularity decided
the matter. By the time we officially switched over in December 2021,
most of the community had already voted with their feet and our
Discord server had become much more active than our Gitter rooms.

Slack was considered as an option, but we decided it is best suited
for private companies and groups, but not so well suited for
open-ended public communities like ours.

Tell us more history.

Okay, let’s take a trip down memory lane.

During Scala’s earliest days (at least since 2007, perhaps earlier),
the main chat platform for Scala was IRC. In those early years, when
the community was still small and there weren’t that many Scala
conferences and meetups yet, the IRC channel (along with the Google
Groups mailing lists) was an important place where community members
got to know each other and, one might even say, became a community.

Later, the IRC channel declined in popularity. In my personal view,
this was due to a lack of moderation and lack of any code of conduct.
It became essential to have these once the Scala community had become
larger.

The IRC channel still exists to this day, now on
Libera instead of Freenode, but traffic there
has slowed to a trickle in recent years.

Gitter launched in 2014 and was widely adopted by the Scala community
in 2015. The major advantages of Gitter over IRC include:

  • Scrollback: you can log out, log back on, and still see what
    people were saying while you were away. (On IRC, this was only
    possible if you used special software.)
  • Markdown support, including syntax-highlighting of Scala code.
  • Messages can be edited (within a limited time frame) and
    deleted.
  • More features supporting effective content moderation.

Discord shares these advantages as well.

Some advantages of Gitter that Discord doesn’t share:

  • GitHub integration, including GitHub-based login. (No need to
    make a separate account.)
  • Easy, decentralized, room creation, with room names based on GitHub
    repo names, making it a no-brainer for an open source maintainer to
    create a room specifically for their library.

However, in recent years, the Gitter platform largely stopped
advancing and eventually came to feel stale. After Gitter was
acquired by GitLab in 2017, some features were added such as
threading, but the implementation of threading was unpopular with
users. The quality and feature set of the mobile client fell behind
those of the desktop client. New Vector Limited acquired Gitter in
2020 and added Matrix support, but otherwise has not advanced the
platform.

Meanwhile, Discord was becoming extremely popular in the video gaming
community, then crossed over into programming communities.

Are the old Gitter rooms archived?

The main Gitter room for Scala,
scala/scala remains online and
searchable. We’ll probably leave it online indefinitely.

The other Gitter rooms under the scala/* organization have been
deleted and their contents archived; the Scala Center retains the
archives.

Credits

Salar Rahmanian created the
Scala Discord server initially and administered it until recently.
We are grateful to him for leading the way. Thank you, Salar!

Personally, I would also like to applaud and thank everyone who’s ever
been helpful and kind to a Scala newcomer arriving in one of our chat
rooms for the first time. You keep my faith in humanity alive. ❤️

التعليقات

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *