118 points brydencalaway 3 days ago 90 comments

fuckff 3 days ago | parent

Claims to be done right, vibecoded bs from last week that can't even get the links on their page right, who cares

Fidelix 3 days ago | parent

I thought you were a little harsh, but after looking further I don't disagree.

It's way too early for this to be in HN.

lynx97 3 days ago | parent

Means "punishment" in german, weird name.

Dilettante_ 3 days ago | parent

"Discord becomes strife cause that means kinda the same thing, strife becomes strafe cause that's a gamer term"

is the completely german-less train-of-thought I could imagine leading to this name

TheDong 3 days ago | parent

And "discord" means "disagreement", "lack of harmony", "arguments" in English. Even weirder name for a chat application in an even more commonly used language.

"Slack" associates pretty strongly with "slack off" (get no work done) too, so that one's also strange.

I think "Zulip" has the best naming of all these.

ButlerianJihad 3 days ago | parent

The only explanation I can offer for “Slack” is that its founders and top brass have been adherents of the “parody religion” Church of the SubGenius, and have successfully interposed themselves into the everyday business machinations of a wide swath of Western businesses.

Meanwhile, “Discord” wouldn’t surprise me if it were a product of the Discordians themselves, a similarly disorganized “parody religion”.

Leynos 3 days ago | parent

Slack is also allowance in budgets (time, finance, materials) to allow for unplanned pressures, demands or constraints.

anonym29 3 days ago | parent

Slack stands for Searchable Log of All Conversations and Knowledge. Prior to that, it was going to be "linefeed".

ButlerianJihad 3 days ago | parent

Did you read that on the English Wikipedia or something? Have you ever heard of "backronyms"?

anonym29 3 days ago | parent

I read it directly from the founder and former CEO, who included a screenshot from November 2012, about 9 months before the August 2013 release, of him using that acronym as a code name. https://xxcancel.com/stewart/status/780906639301812225

taybin 3 days ago | parent

Also see: Slackware.

I always preferred Discordianism over CofSG, but both were cool.

chrysoprace 3 days ago | parent

I figured Slack referred to slack in task time estimation i.e. the amount of extra time allowed in a task. Collaborating on Slack would count towards that time.

r_lee 3 days ago | parent

Zulip definitely is the worst naming if you don't go off of what the name means literally

slack and discord are very good household names, same with twitter (rip) and google etc.

nobody's gonna say "hop on Zulip"

abirch 3 days ago | parent

Discord is on brand for many of the "discussions" on there.

What does Zulip mean?

formerly_proven 3 days ago | parent

Building strafe.chat and expecting people to not expect it’s a D/s chat app is hilarious.

Also “strafe on your desktop”. Plus this is obviously entirely vibecoded.

pampas 3 days ago | parent

No reaction emojis?

brydencalaway 2 days ago | parent

Emoji reactions are indeed supported.

Stitch4223 3 days ago | parent

Previous alternatives for discord never included video, so they were no alternatives. So: great to see this!

Nitpick: the bottom row on the front page shows a discord link, but not their own strafe link. I hope they can add this because of dogfooding.

themaninthedark 3 days ago | parent

Great project, glad to see something like this!

Also all links under the resources heading are broken.

NikxDa 3 days ago | parent

I also want to highlight Chatto here: https://chatto.run/ Very lightweight and self-hostable. Not e2ee, though.

sbarre 3 days ago | parent

I've been exploring Chatto as a self-hosted chat UI in my homelab for interfacing with durable agents and it works pretty well so far, although the API is (by the author's own admission) not fully stable yet.

morjom 3 days ago | parent

Fluxer is another one (self-hostable, not e2ee afaik): https://github.com/fluxerapp/fluxer

Fidelix 3 days ago | parent

nearlyepic 3 days ago | parent

Nobody asked

BLKNSLVR 3 days ago | parent

Gotta be a good thing, extra points.

sicktriple 2 days ago | parent

good

magnio 3 days ago | parent

Another one is Stoat (formerly Revolt): https://stoat.chat/

Fidelix 3 days ago | parent

https://developers.stoat.chat/developing/contrib ``` Please do not open PRs generated with LLMs. ```

subscribed 3 days ago | parent

And how is it bad?

Read: write your PR. It doesn't say "do not contribute code touched by LLM".

It asks to take accountability for the thing you submit.

Technical output written by LLM is often very hard to read due to the ticks, fillers, fluff and idiosyncrasies. Even with rules or guidance.

This contribution rule ensures crap will be edited out and only the valuable content submitted. Cleaned up LLM code can be very valuable.

BLKNSLVR 3 days ago | parent

What was the stat? Was it 85% or 95% of LLM generated PRs are trash that should be ignored?

Developer gets it.

doublerabbit 2 days ago | parent

One of the original discord clones. Created in the time before LLMs.

npodbielski 3 days ago | parent

Yes I am running it now, it is pretty nice though custom, not related to the original developer, mobile application, have few annoying problems. I.e. it does not allow you to connect to your own server right away. It does not have notifications working on stable version. I had to ask an agent to do some changes first before it was usable.

On the other hand Strafe does not have it at all, so it is not really a competition.

Fidelix 3 days ago | parent

Unfortunately Chatto is not accepting contributions

import 3 days ago | parent

Links to docs, resources, GitHub is non existent. Also no screenshots. Waste of time.

sbarre 3 days ago | parent

What site were you looking at? All those things are on the page.

subscribed 3 days ago | parent

Linked. Also no screenshots, no details. Just a long black page with no substance. Github link form the hamburger menu doesn't work so it's a.... very premature submission at the very least.

hk1337 3 days ago | parent

https://github.com/StrafeChat

There’s a GitHub but it was all the way at the bottom of the page behind a tiny icon in a group of other socials. At least on mobile it was.

VoidWhisperer 3 days ago | parent

Not to claim that Discord has like copyright over their layout, but do you not anticipate eventually running into problems with them due to using pretty much the same layout/visuals verbatim? It is to the point where one could easily be visually mistaken for the other unless a much closer look is taken

Incase anyone is wondering, there is a screenshot here: https://github.com/StrafeChat

tete 3 days ago | parent

That's silly. Neither is Discord the only one with that layout (Slack and even things like Gajim have similar layouts) nor would/should it count as something that cannot be copied.

The fact that Apple back in the early iOS days thought it invented desktop icons is still absolutely ridiculous.

dd8601fn 3 days ago | parent

> The fact that Apple back in the early iOS days thought it invented desktop icons is still absolutely ridiculous.

That wasn’t a thing.

VoidWhisperer 2 days ago | parent

There are still reasonable, noticable differences in the layout between slack and discord.

Compare strafe and discord, the only differences im seeing is the strafe icon instead of the discord icon and a small difference in the embed in the chat message.

jeromechoo 3 days ago | parent

Another Discord alternative that still lacks an iOS app. I personally don’t mind but if I am to switch my entire friend group to an alternative, native apps on mobile is a fundamental requirement.

brydencalaway 2 days ago | parent

Hey! An IOS app is planned and in the works. You can track development here: https://github.com/StrafeChat/mobile

bob1029 3 days ago | parent

Cloning discord is easy. Convincing everyone in a particular circle to move to a new solution is the challenge. You have to force a partition in the social network unless everyone in your group is happy to run both applications side by side (they won't be).

I was there when teamspeak was forced out by the demands of the group. There was no fighting it. My individual ideological preferences cannot defeat those of a collective. These people just want to play games. They don't want to take up arms in my weird nerd battle against COTS software, closed platforms or buggy applications.

zaneyard 3 days ago | parent

Our community is actively looking for an alternative that we can control. I'd love for an open source, self-hosted clone to pop up that keeps the user experience of Discord, but there is no other. Having a mobile app is a big blocker, and I suspect it will get harder with how Google is locking down the play store.

bob1029 3 days ago | parent

The mobile app part is where I gave up on the fantasy of reinventing discord myself. A mobile client has become non-negotiable for my groups.

zaneyard 2 days ago | parent

I always wondered if a progressive web app could be good enough, but it appears iOS support is under the "partial" column.

bob1029 2 days ago | parent

No you absolutely need native for the audio and video on iOS.

roosterIllusi0n 2 days ago | parent

Discord is a silo of disconnected groups. That makes it easier to switch. There is a big incentive in switching, privacy. These companies have started using AI to call the FBI on people when they take private conversations and jokes out of context. As more people see stories of people being arrested for PMs that were never public because an AI read them and reported them to the FBI, they will realize they need to be protect themselves. If there was no open alternative, I would at the very least look at services that exist entirely in europe.

jonaharagon 1 day ago | parent

Cloning Discord is evidently not easy because nobody (besides perhaps Fluxer) has actually done it.

A feature comparison between Discord and all these other clones is always laughable, which is exactly the reason why convincing everyone to move is an impossible challenge. I was checking out Fluxer this weekend and it's the first one to inspire hope in me that maybe that won't always be the case. But Matrix, Stoat, etc. are all simply sub-par user experiences.

Bender 3 days ago | parent

Is anyone tracking all these open source Discord clones? I ask because I have seen about a dozen of them advertised by Youtube influencers. New chat clients seem to be showing up almost daily. I think it would be interesting to have a table that shows features, OS/phone support, E2EE, federation, scale how many clients per server per resources, etc...

As bob1029 said, making apps is easy especially now but getting friend groups to move is the real challenge so I think a column in the table should include a score for how easy it is to import Discord server history, chat history, invite friends and so on. I think there would have to be next to no friction or risks. If self hosted then backups would have to be encrypted and automated so that the servers can be treated as mostly ephemeral. Operating and maintaining Discord takes a rather large team so these open source alternatives would have to be able to show they have automated most tasks in a secure and fault tolerant manor that is hard to get wrong.

BLKNSLVR 3 days ago | parent

Beside the point: I still don't get why anyone wants to keep conversation history.

Are we reliving particularly nice interactions with loved ones?

Photos and home videos I totally get. But even going back a day in a conversation history can be a significant chore if I didn't 'save the link' or remember a date or whatever. I couldn't imagine ever trawling through all that text unless by necessity.

The argument changes slightly if someone wants to recreate a friend by throwing conversation into the model or context or whatever, but I find that creepy and it's a relatively new thing.

Maybe I'm just sentimental via pictures. I love conversing in text, but I'm just not sentimental for it in any way. Other people are allowed to be, but I don't understand it.

Bender 3 days ago | parent

I still don't get why anyone wants to keep conversation history.

I personally agree but I think you and I are outliers in that most feedback I get is people want scroll-back history so they can see what they missed when they were offline. My preference is to treat chat as ephemeral and instead have my own forums, chan servers, sftp servers for longer term storage people can link to but it is rare I meet anyone that operates the same way. There are web front-ends to IRC for example but the moment someone ventures down that path the cost to scale up the chat server climbs exponentially due to the bloated web framework, message queues, database, etc... not that most people would really need to scale up for their small circles of friends.

BLKNSLVR 3 days ago | parent

so they can see what they missed when they were offline.

Can't think of a worse chore. I'd rather do laundry, it's at least productive. Life can go on without our presence occasionally. That's "normal". It's not possible, nor healthy to try, to be everywhere all at once. I think I may have had notions in that direction when I was younger, but living life won instead. And for that I'm thankful.

Having ranted all that, here I am conversing on HN at 1am :\

zaneyard 2 days ago | parent

I'm sorry you think interacting with people is a chore, but the primary way I interact with most of my friends is online through Discord. While I don't respond to each and every message, I read them, and look forward to doing so because they're my friends.

BLKNSLVR 2 days ago | parent

Not what I said, more that I've just got too much to do (not a complaint, it's by conscious choice) so if I'm not presently online for the conversation, and I have to go to the effort of scrolling backwards through a conversation it's just never going to be worth it. If there's anything worthwhile it'll come up again. And if it doesn't, I'll be none the wiser anyway, which is fine with me - there is all sorts of awesomeness going on in the world that I'm not part of.

When we catch up in person the awesome stuff generally gets relived, which is good enough for me.

wellthisisgreat 3 days ago | parent

I think for Discord the case that if you join a hobby / gaming etc channel, with a particular interest question in mind, you may want to look for answers in the history.

Also some people do go back and reread texts from personal history for sentimental reasons. I don’t, but I know those who do

ryankrage77 3 days ago | parent

fwiw I occasionally like to read back through chat histories from months/years prior. I brings me right back to that time and reminds me of things I thought I'd forgotten. It's like the nostalgia from an old scent.

ungawatkt 2 days ago | parent

Use case: my partner and I have a discord server just for us. That's something I'd like to keep a backup of for the future. Both for day to day communication that's searchable (what was this logistics thing?) and for nostalgia (where did we do that silly date? Can we do it again?)

And yes, a place for pictures between friends is handy, even if in running immich.

1e1a 2 days ago | parent

I find Discord's search functionality to be severely limited compared to that of other platforms (for example, Slack). It's slow, the search results are relegated to a tiny sidebar, date filters are clunky, you can't search across all DMs at once, and perhaps worst of all, it's severely rate limited: After clicking through somewhere around 25 pages, it will fail and also force you to re-send the search query, and then navigate back to whatever page you were on.

ranger_danger 2 days ago | parent

> Is anyone tracking all these open source Discord clones?

https://discord-alternative-tracker.pages.dev/

tptacek 3 days ago | parent

Why would you use Olm/Megolm for your chat protocol? Even Matrix doesn't want to be using it anymore (they're in theory planning a transition to IETF MLS, last I checked). Group E2E is incredibly hard to get right, not just because of the underlying cryptographic constructions, but because all the metadata and signaling that rides on top of and alongside the group encrypted messaging layer also influences key distribution.

If you're literally just doing a front end to Matrix, I get why you have to use the current Matrix protocol. But if you're doing something that isn't Matrix, you should avoid Olm.

hiimkeks 3 days ago | parent

I agree, but.

The thing with MLS is that it basically requires a central server for ordering the commits. For Matrix' interpretation of federation, this doesn't really work because a group isn't really owned by a server, it is a DAG of events, which, as is the nature of DAGs, does not have the total order needed for MLS commit ordering.

So either you introduce a central party that does ordering, or you do BFT-style consensus, or you try to get some idea of branching an merging of group states into MLS, which isn't really possible with what RFC 9420 offers.

My impression also is that the Matrix community really loves their DAGs and the group state management that they built, and from an MLS perspective it makes more sense to store that in the group context (either as extensions or as components as defined in draft-ietf-mls-extensions-10).

There is draft-xue-mls-decentralized which proposes two ways to MLS offer some foundations, one of which (IMO) only solves half the problem and the other (IMO) doesn't make sense.

The fediverse folks are also trying to solve this and it just is hard. https://github.com/swicg/activitypub-e2ee/issues/56

Edit: (I work on OpenMLS)

Arathorn 3 days ago | parent

Roughly speaking, the concrete disadvantages of Olm and Megolm are:

* In the current Matrix implementation, server tells the clients what the group membership is, so a server could spoof an invite to add a malicious user to a room and you'd have to rely on social mechanisms to spot it.

* There's no way to force everyone to rotate the sender key at the same time.

* On the plus side, it decentralises relatively well.

The concrete disadvantages of MLS are:

* Vanilla MLS needs a centralised sequencing function for changing group membership.

* The key bundles are much larger.

* On the plus side, only clients within the group can add new users/devices, and everyone in a given epoch shares the same group secret, so when someone rotates everyone has to rotate to participate in the new epoch.

Now, the server-controlled membership problem can be solved with Olm/Megolm if you instead have the client control the membership, using Matrix itself to define which users are authorised to be in the room, by running the Matrix DAG merge resolution on the client as well as the server. I did this a few weeks ago (in prep for The Matrix Conference next week) to show viability; it works, and has the advantage that you don't have to blow up the whole crypto implementation.

On the other hand, MLS can also be made to decentralise. DiMLS (draft-xue-mls-decentralized) isn't the only option here; DeMLS is the one we've been working with (using the Phoenix DeMLS OpenMLS fork) on the Matrix side - and works by letting MLS epochs fork and then merge again later, using puncturable functions to avoid undermining forward secrecy. This is a much bigger change; we experimented with it a few months back; details here: https://www.youtube.com/watch?v=jc7yfec3iIQ. It's promising, it works, but is much more complex and experimental.

So, TL;DR: it's possible to use olm/megolm securely (even if it's had a mixed record); I doubt strafe is doing fancy client-controlled group membership though. Separately, MLS can be used too, but it is way more complex and has its own complications. On the Matrix side we're still pursuing both (and finally making some progress, although it's a very slow burn).

ezst 2 days ago | parent

> My impression also is that the Matrix community really loves their DAGs and the group state management that they built

I mean, if you take that out, what's left of Matrix and its differentiating proposition?

bratsche 3 days ago | parent

The website says it's released under a permissive open source license, but it doesn't say what that license is. And when you look at the GitHub repo[1] there is no LICENSE file and no mention of license.

[1]. https://github.com/StrafeChat/web.strafe.chat

rixed 3 days ago | parent

The screenshot of commit history on their landing page mentions "MIT licence", yet many of their repo are actually AGPL.

bigstrat2003 3 days ago | parent

The project is AI slop; you shouldn't expect accuracy from it.

brydencalaway 2 days ago | parent

Sorry about that, it is under GNU Affero General Public License v3.0 I had a friend make the landing page website at strafe.chat and I believe MIT was a placeholder by them and was never changed. I will make sure to change it and add the license to all of the repos.

Frone125 3 days ago | parent

Nice I've been looking for something like this for quite a while!

sieve 3 days ago | parent

- Moderated newsgroups if you really want to chat.

- You can change the back end and store everything in an sqlite3 database.

- Spam is what killed usenet as a discussion medium. Topic-specific, moderated google groups are still active and see traffic.

- People keep reinventing the same things over and over again.

7bit 3 days ago | parent

Newsgroups and chat applications are as similar as apples and pears.

sieve 3 days ago | parent

The only difference is timing. You can call it groups or channels or whatever else you want. You can expose the same data via two different methods.

- irc.example.org

- news.example.org

could be the same thing. IRC would poll. NEWS would not.

stevetron 3 days ago | parent

Requirement #1: Supports Windows 7.

reacharavindh 2 days ago | parent

I would like one like this.. (Slack/Discord alternative) with a native iOS app, realtime push notifications, and self-hosted backend such that my AI assistant can be a “user” on it and participate in conversations like a team member(who has a lot of knowledge at their finger tips).

I can’t find any such free thing that has a native iOS app.

Buzz was one I looked at but it was way too complicated with Nostr and a bunch of things that are way too much for what I intend to use it for… :-(

This - Strafe, Chatto, Stoat all fall apart in the native iOS app requirement..

netbioserror 2 days ago | parent

Federation is annoying. Why does every Discord alternative insist that your whole interface, including the "server" list, is dedicated to one instance, as targetable and inconvenient as that is?

Each sidebar "server" entry should be an ACTUAL SERVER, with a unique username and connection. Like Mumble, Ventrilo, and Teamspeak. Federation is a strictly worse model than what they got right two decades ago.

tcfhgj 2 days ago | parent

having to maintain accounts for every server/community is a pain.

Imagine having to create a gmail account to write with gmail users and a sim card for every telcom provider, because you only can call someone within one provider.

This is just a path which ends up at the global monopoly or oligopoly which we have now with Discord and whatsapp

jonaharagon 1 day ago | parent

That is what Fluxer is, to my knowledge it is the only Discord alternative tackling that problem (also happens to be the most feature-complete by a country mile).

I think they are working on federated identity between different servers, but multiple servers with individual auth is available today.

Tepix 2 days ago | parent

There is a need for this, but why not build it on top of Matrix?