From e6a1e581fd0c854b17734f11e51dca4730010e06 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Wed, 15 Dec 2021 21:04:09 -0800 Subject: [PATCH 1/5] blog post about Discord for Scala chat --- blog/_posts/2021-12-20-discord.md | 176 ++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 blog/_posts/2021-12-20-discord.md diff --git a/blog/_posts/2021-12-20-discord.md b/blog/_posts/2021-12-20-discord.md new file mode 100644 index 000000000..90241ebe7 --- /dev/null +++ b/blog/_posts/2021-12-20-discord.md @@ -0,0 +1,176 @@ +--- +layout: blog-detail +post-type: blog +by: Seth Tisue +title: "Scala Chat: Hello Discord (So Long, Gitter)" +--- + +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: + +* https://discord.com/invite/scala + +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](https://www.scala-lang.org/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](https://discord.gg/RFpSVth)**: Scalameta-based tooling: Metals, Scalameta, Scalafix, Scalafmt, and Mdoc +* **[Typelevel](https://discord.gg/XF3CXcMzqD)**: the Typelevel ecosystem for pure-functional programming in Scala +* **[ZIO](https://discord.gg/2ccFBr4)**: Type-safe, composable asynchronous and concurrent programming for Scala +* **[Functional Programming](https://discord.gg/K6XHBSh)**: 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](https://gitter.im/playframework/playframework). + +## What about non-English languages? + +Our website's [community +page](https://www.scala-lang.org/community/#chat-rooms) 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](https://github.com/scala/scala-lang/blob/main/community/index.md). + +## 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 were'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](https://libera.chat) 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 Sclaa 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. Some open-source communities were initially hesitant to +adopt it because of the strong association with gaming (some companies +block it for that reason). Discord also got some bad publicity, years +ago, when some unsavory political groups used it for organizing, but +the association of Discord with that episode in the public's +perception has now largely faded. + +## Are the old Gitter rooms archived? + +The main Gitter room for Scala, +[scala/scala](https://gitter.im/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](https://twitter.com/salarrahmanian) 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. ❤️ From 4942e8fab414d120ca75a997a85ff02a9e2c899b Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Wed, 15 Dec 2021 21:13:54 -0800 Subject: [PATCH 2/5] fix typos --- blog/_posts/2021-12-20-discord.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blog/_posts/2021-12-20-discord.md b/blog/_posts/2021-12-20-discord.md index 90241ebe7..4f86391ad 100644 --- a/blog/_posts/2021-12-20-discord.md +++ b/blog/_posts/2021-12-20-discord.md @@ -103,7 +103,7 @@ 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 were't that many Scala +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. @@ -123,7 +123,7 @@ 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 Sclaa code. +* 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. From 4f88ee053674a000139e18850919119d7e651e38 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Thu, 16 Dec 2021 11:30:06 -0800 Subject: [PATCH 3/5] add information about Matrix --- blog/_posts/2021-12-20-discord.md | 7 +++++++ community/index.md | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/blog/_posts/2021-12-20-discord.md b/blog/_posts/2021-12-20-discord.md index 4f86391ad..12d998327 100644 --- a/blog/_posts/2021-12-20-discord.md +++ b/blog/_posts/2021-12-20-discord.md @@ -76,6 +76,13 @@ 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](https://github.com/scala/scala-lang/blob/main/community/index.md). +## Are other clients supported? + +Yes, via [Matrix](https://matrix.org). You can connect to +`#scala-lang:matrix.org` over the bridge, using your Matrix client of +choice (perhaps [Element](https://element.io)). 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 diff --git a/community/index.md b/community/index.md index a0736b4d6..588d5f042 100644 --- a/community/index.md +++ b/community/index.md @@ -66,6 +66,10 @@ Our main chat platform is Discord, and the main Scala server is: The server is covered by the [Scala Code of Conduct](../conduct.html). +Alternate clients such as [Element](https://element.io) are supported +via a [Matrix](https://matrix.org) bridge. Connect to +`#scala-lang:matrix.org`. + Scala-oriented Discord servers operated by the community include: * **[Scalameta](https://discord.gg/RFpSVth)**: Scalameta-based tooling: Metals, Scalameta, Scalafix, Scalafmt, and Mdoc From 4aa3eb52805813426d0a0038c609d6bb7be9354f Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 17 Dec 2021 09:17:13 -0800 Subject: [PATCH 4/5] remove some historical material, in response to review feedback --- blog/_posts/2021-12-20-discord.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/blog/_posts/2021-12-20-discord.md b/blog/_posts/2021-12-20-discord.md index 12d998327..7a3377366 100644 --- a/blog/_posts/2021-12-20-discord.md +++ b/blog/_posts/2021-12-20-discord.md @@ -155,12 +155,7 @@ those of the desktop client. New Vector Limited acquired Gitter in platform. Meanwhile, Discord was becoming extremely popular in the video gaming -community. Some open-source communities were initially hesitant to -adopt it because of the strong association with gaming (some companies -block it for that reason). Discord also got some bad publicity, years -ago, when some unsavory political groups used it for organizing, but -the association of Discord with that episode in the public's -perception has now largely faded. +community, then crossed over into programming communities. ## Are the old Gitter rooms archived? From 5001b7c86509a75d18c39ae022cba50aae5eb598 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Tue, 21 Dec 2021 06:52:46 -0800 Subject: [PATCH 5/5] set blog post date to current date --- blog/_posts/{2021-12-20-discord.md => 2021-12-21-discord.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename blog/_posts/{2021-12-20-discord.md => 2021-12-21-discord.md} (100%) diff --git a/blog/_posts/2021-12-20-discord.md b/blog/_posts/2021-12-21-discord.md similarity index 100% rename from blog/_posts/2021-12-20-discord.md rename to blog/_posts/2021-12-21-discord.md