NixOS/Nixpkgs/Nix Discord (for voice communication)

Although discourse is great for a forum format, and irc good (not quite great) as a chatroom, I would love to be able to communicate by voice to individuals as the rate of communication is greater than typing alone.

Not to mention it natively supports linux and is quite usable with NixOS.

Not sure if this would replace the IRC rooms, and I know some people love their irc workflows, but I feel like not being able to do voice communication easily is something the community is lacking.

Why Discord? (many of these will not be specific to discord)

  • Great linux support
  • Commonly used, especially among gamers
  • Channel based text and voice chatrooms (similar to slack)
  • Chat history (not very search-able, but at least you aren’t going-in blind like irc)
  • Screen sharing (great for mentoring)
  • Mobile app

Expectations as a maintainer (Maintainer role):

I’m able to sit in a channel, and if people want to ask a question, or get a review, I’ll be able to respond without having to check irc or github. Able to screen share and have a better “mentoring” session if someone wants more context about comments on a PR/issue.

Expectations as a newbie (Beginning user/NixOS curious):

Able to drop in and ask a few questions about tooling/packaging/PRs/NixOS or related topics without having to read through documentation with various levels of staleness.

A Nix communications middle-ground

Maybe my concern is that all the communication mechanisms in the Nix community are all fairly “formal” (irc being the least formal, and github being the most formal). Irc probably provides the most “organic” knowledge sharing, but I find that it’s hard to use because the chatrooms are either inactive or have several different discussions going on at once. Github is great for progress on a specific PR or issue, but it lacks a convenient way for someone to ask, “I’m encountering this specific issue, and I would like to know the best way forward”.

This doesn’t have to be a NixOS foundation “official” platform, but it would be nice to have a designated “community discord”. If people are comfortable with Discord, then they can drop-by and actually speak with living humans, rather than some text from some user.

8 Likes

While Discord is an excellent choice for voice communication, Zulip might also be worth considering - it doesn’t do voice chat natively but has a great integration with Jitsi (or Zoom). Both Zulip and Jitsi are open source and (I think) align better with the community’s values.

Zulip is used by the Rust project (primarily the compiler team) and I’ve always found Zulip to be receptive to contributions, bug and feature requests.

3 Likes

I’m open to other voice platforms, as a gamer, I’m just very used to Discord. As long as the barrier to entry is low, I’m fine with really anything that has decent to great linux support.

2 Likes

I would be strongly against using Discord, a privacy invasive, proprietary, and bloated, piece of spyware. If you are looking for voice chat, I would recommend taking a look at Mumble.

7 Likes

For cost of ownership, Mumble is a lot higher a burden to maintain as it requires a dedicated server for hosting. Where as discord is something like 3 clicks and typing a name.

Guess I’ll address your other points individually:

  • privacy invasive:
  • propiertary:
    • doesn’t make them inherently evil or bad. They, after all, are a business.
  • bloated:
    • All electron apps are. I’m sure if shipping native binaries to many platforms was easier, people wouldn’t feel inclined to use electron.
  • piece of spyware
    • see privacy invasive point.
1 Like

I think it would be great to have an officially-supported chat platform for Nix that’s not IRC. Even better if it supported voice chat.


Related links:

It appears that Rust officially pushes their Discord as a place to chat with text:

@peti hosts his weekly nix hacking sessions on discord (while they are being streamed on twitch):

The FP Chat slack group has a #nix channel. This is significantly less active than IRC (maybe an average of 10 messages a day or so), but the people there are very helpful. If you’re using Haskell on nix, this might be the best place to ask for help (in addition to discourse?):

3 Likes

There’s a Matrix room at https://matrix.to/#/#nixos:matrix.org. I’m not a part of it yet, but I probably should join.

It has voice and screen share, and it’s open source and federated. Their most complete client is a web/Electron app, but Gnome is working on a native client. Mozilla is replacing IRC with Matrix.

It also supports bridging IRC, but I don’t know whether or not you can do that with a room on the matrix.org homeserver.

6 Likes

Maybe you would be interested in guest hosting office hours sometime. What you’re describing definitely sounds like some previous weeks of office hours. I hear they are looking for guest hosts so I would really encourage you to ping @worldofpeace and @grahamc.

1 Like

Mumble is a lot higher a burden to maintain as it requires a dedicated server for hosting

So does IRC.

Where as discord is something like 3 clicks and typing a name

Setting up a mumble server is only 1 line of Nix away. services.murmur.enable = true;

I’m not aware of any wrong-doing on Discord’s behalf

They invade my privacy by collecting information without the users permission. For example Discord scans through your open processes and at least for matches save the results forever on their servers. Additionally, they store events like messages and interactions that you make in such a way that they can search through your information. For voice calls Discord routes your call through their servers instead of just simply sending it P2P over webrtc (which it is already using for voice chat).

A lot of platforms that deal with user-created data have similar data and privacy issues/concerns/licensing/ToS

Just because other services do something, it does not justify it being right.

doesn’t make them inherently evil or bad. They, after all, are a business.

It increases the difficulty in learning what information they are collecting on you since you can not inspect the source code of your client. Discord only allows you to connect via their official client. They will ban your account if you use anything other than the official client.

I’m sure if shipping native binaries to many platforms was easier, people wouldn’t feel inclined to use electron

Shipping native binaries to many platforms is not a hard challenge. You just add a download link to your website. The rise in electron applications is likely from the large rise in web developers along with the desire to want to unify the code base between the website and desktop version of the application.

3 Likes

problem is that the office hours occur at 12PM PST, which is during my workday :frowning:

EDIT: Also, this would be for just allowing a lobby of people to be semi-present, similar to hanging out in an irc room

1 Like

I’d be up for using Discord, though primarily as a text based platform. I don’t particularly like using a closed-source solution, but I also realize that there are no good out-of-the-box open-source solutions elsewhere. Have you looked at Matrix recently? It has support for voice, regular chat and is a open-source protocol with a bunch of open-source implementations, I’ve used it here and there for bridging with Freenode occasionally and enjoy it quite a lot.

… although this is only so for small-group communication as for main community conversations we want to have a text archive that can be skimmed, searched etc (so we should not sacrifice too much in the name of voice communication)

As far as privacy invasions go, using Google’s ReCaptcha for login (not even just for sign up) is pretty bad already, as modern ReCaptcha is much more oriented to checking trackability than, you know, CAPTCHA (and it is intentionally made inconvenient more than hard).

Makes their packaging handling inherently more fragile than for open-source clients, and of all the projects, distributions should care about that.

… and even a business having accepted some amount of venture-like financing, which is not a good long-term sign w.r.t. condtions changing…

Which is a good reason to have good support for platforms that have other options.

We actually have our Freenode IRC room bridged on the Matrix.org homeserver via their Freenode bridge. So one can have a choice of participating via IRC client of choice, via a wide range of good enough for text Matrix clients, or via the feature-complete Web app.

What should happen to the Matrix-IRC bridge to say that Matrix is a supported platform? It also supports voice chats (I think using Jitsi for group chats and directly for one-to-one)…

2 Likes

I would be strongly against using Discord, a privacy invasive, proprietary, and bloated, piece of spyware.

Would you mind substantiating these statements with references?

Discord is a gaming service.
Capturing of running processes:
https://www.reddit.com/r/discordapp/comments/43lqyb/why_is_discord_recording_our_open_programs_and/

Then there’s the privacy policy. I suggest you have a look at https://tosdr.org/#discord
Reading through their policy they gather data about me and use it to form a profile and share that profile with others including “partners”, i.e. companies that pay discord to get that data.
TLDR: Discord couldn’t pay me enough to use their services, but apparently they think they can sell my data and then even demand payment from me or the “server” owners.

2 Likes

Like or dislike of a service/policy/company/philosophy aside I’d like to bring this back on topic to a very generous offer from @jonringer freely giving his spare time as a nixpkgs committer to help people who are looking for help. Maybe we can continue to keep this conversation productive and see if something like matrix, jitsi, or whatever else will work… but if it doesn’t work, @jonringer is free to offer his services via any medium he sees fit. If you don’t need help from @jonringer with any PRs and you don’t like discord I don’t think you’ve lost anything.

:heart: @jonringer

10 Likes

One thing that should always be considered when it comes to these things is that fragmenting the community probably isn’t what we want to do either. Even with the IRC and discourse, there seems to be a kind of disconnect, with a bunch of people that are very active on one of them not taking part much in the other.

As for mumble, we’ve been running the voice.helsinki.tools server for quite some time now for (semi-)personal stuff and it’s been pretty great. Not sure how well it scales (management wise) with lots of people, but if anyone is interested in trying out mumble to see if it would work for them and if they think it could work for this community, they are welcome there. For any problems with that server, feel free to contact me (ajs124) or das_j on freenode.

2 Likes

I think a part of the thread has turned to (or is perceived as) «do we want to have an official Nix* community on a voice-communication-supporting platform».

A personal offer (I believe Nix Office hours are perceived as such) is of course perceived with an expectation of being done with whatever tools the person doing it is most comfortable with.

On the other hand, something being declared one of the official community channels and having worse public no-login log access than the current IRC can lead to a direct negative effect for people who sometimes search the public IRC logs.

Discourse is very topic based, and meant to have a written discussion. And IRC is an open chatroom in which many people are likely to have 0-many discussions going on.

I think the disconnect is that people prefer one style over the other, so they will naturally gravitate to whatever median they feel comfortable. Discord will just provide another platform, not necessarily replacing either. I also know that a lot of people in the community don’t know English as their first language and might not be comfortable speaking it, but will be comfortable typing out responses as they have some time to formulate what they are saying.

Personally I try to avoid IRC, because i found that the rooms are relatively inactive even when there’s many people sitting in there (I’m assuming so they have chat history).

Logs have a high-noise-to-signal ratio, if someone just wants answers on whether they should do “this or that in their configuration.nix”, then they’re likely not going to find anything specific to their current issue.

Like I said earlier, this is just to allow people to drop-by and talk through some issues they are having. If they’re not comfortable with discord, they don’t have to use the platform. Many gamers already use Discord extensively because it’s head-and-shoulders easier to setup and more modern than the alternatives (ventrilo, teamspeak, etc).

Many of those ToS are common for platforms which handle user-generated data. That’s to prevent proliferation of child porn and other illegal activity. Many of the FOSS alternatives delegate legal responsibility to the individuals hosting the server, as they are in “ownership” of that data.

CTO responds in the thread that this is for game detection. Unfortunately, many people see this a QoL improvement, even though the implementation on Windows has to do invasive system calls because there’s no better mechanism (I’m aware of). If people are paranoid about privacy, they are able to use the browser version which has all the protections of their browser as well.

1 Like

Their privacy policy sounds like it was drafted by a legal team, the wording is often written to encompass more scenarios than usually applicable. This is probably to cover-their-asses in case of a lawsuit.

I know from working on azure, we want to ask things like “are users still using python3.5”. So we collect very limited usage metrics on users. We aren’t concerned with specific users (and legally mandated not to), but we want to know whether users (in general) have certain use cases that we need to support.

Google translate (German > English) from their privacy policy (emphasis mine):

In order to better understand our users and optimize our services, we examine demographic data, interests and behavior of our users based on the information collected. These results can be compiled and analyzed. We can share this collected data with our subsidiaries, agencies and business partners. We may also disclose aggregate user statistics to present our services to current and potential business partners and to make them available to other third parties for other legitimate purposes.

The german text uses “Agenturen” which Google translates as agencies, but actually is only used for advertising companies in German language.
Advertising companies are not involved in fighting illegal activity.
Same for business partners. Usually companies pay other companies to become business partners and to receive data.

For companies, making money is a “legitimate purpose”. That’s not bad, but it’s just a fancy wording for “we sell your data”.