Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Is there a decentralised alternative to Slack?
51 points by febin on Dec 20, 2018 | hide | past | web | favorite | 54 comments
I heard a lot of slack accounts has been closed down today. I was wondering if there's a decenteralised alternative to it?

I also saw a post in HN that MailChimp suspended accounts without prior notification. What's with these tech companies and closing accounts? It's scary.

I think you'd really like Matrix. https://matrix.org/blog/home/

Riot is a decentralised team messenger built on top of Matrix. https://riot.im/app/#/home

Both Synapse and Riot have been working well for me. I’ve been running my own homeserver for a while now. I use it daily to communicate with a few of my friends. We all use Riot. They use it on Android, I use it on iOS.

Riot is well polished - polished enough that I was able to get my non-techie friends to start using it without any issue.

One caveat to Matrix is that I wouldn't recommend making an account on matrix.org. In my experience, their homeserver is so massively overloaded that it's almost unusable.

There are other providers, though, and hosting your own instance isn't too difficult.

Running your own Synapse (backend) and Riot web (frontend) within Docker containers is pretty easy and reliable.

How is Synapse faring so far on memory consumption? Their README [0] still warns about it in its last section.

[0] https://github.com/matrix-org/synapse#help-synapse-eats-all-...

It is... not great, in my experience. My newly-rebuilt Synapse instance currently has a resident size of 571 MB, for one user in two channels. I doubt that it scales linearly with users, though, and there may be settings to get memory usage down.

I can’t give you an actual answer, but what I can say is that my server had an uptime of 180+ days without any apparent memory leaks. I only have a few users though, but we do use it heavily.

IRC was and is the best alternative for Slack. Private IRC servers are easy to install and you can create a federated service with multiple of them. There are many great web or mibile clients as well as desktop ones.

Is there a particularly good IRC client app you'd recommend?

Palaver (iOS), Textual (macOS) or https://www.irccloud.com/ if you want a "hosted znc" kinda behaviour. They also have an iOS app and a web interface.

I tried more than once to get my head round irssi, then I tried Weechat and found it much easier to get along with - now I use it every day (plus its excellent documentation is a bonus).

ngircd is a simple apt-get install.

My favorite slack alternative is Zulip; IMO it's got a much superior model; it's as much a real-time forum as chat. It makes threads first class citizens rather than the ugly hack they added in slack.

And it's open source, so it's decentralized in that many people host their own. It's not federated though.

I think this is a matter of preference. Microsoft Teams does threads as first class citizens, and to me it's overly busy. I'd much rather a chat tool work like IRC, and in my mind Slack is simply IRC with more features.

Creating a subject for a thread is optional in Microsoft Teams rather than required as it is in Zulip. This very minor difference makes a HUGE difference in how the UI works.

Any IRC mobile app recommendations nowadays?

Irccloud is decent for consistent connectivity, although for android revolution irc is showing promise.

The IRC bridge of Matrix works pretty well.

Weechat is another popular choice, also offers access on mobile via Glowing Bear https://www.glowing-bear.org/

I ise irccloud, pretty amazing for few bucks

IRC is by designed centralized: A chat room is hosted by exactly one service provider, and that service provider also manages identities and authentication.

The fact that most IRC clients integrate the connection to different servers in the interface does not really make it decentralized.

It really comes down to exactly what you mean by "decentralized". In the case of IRC it is, in a sense, decentralized in that it need not be a single server operated by a single person/company/whatever. Some of the larger networks have dozens of servers hosted by multiple different entities and spread out across the globe. As someone else pointed out (and had their comment killed, for some reason) the concept of a "netsplit" exists specifically because of the decentralized nature of the protocol - there exist scenarios in which the server you're connected to can no longer communicate with some or all of the other servers on the network and so the network is split in two with users continuing to exist on either side but unable to communicate with each other.

Basic, plain, no-frills IRC is also decentralized in that there is not a single user registry (since there is no user registration mechanism at all). Most of the time you're going to add on services (Nickserv and Chanserv at a minimum) and that's going to involve a single point of failure and control for authentication, so there is a potential downside there, but it's still arguably better than it being controlled by a single for-profit company that interprets and enforces laws in different ways.

Whether or not those caveats are in any way relevant to the use case you care about really depends on what that use case is... I would hazard to say that for most people, no matter what the use case, it would be more than sufficient - piracy rings, cyber criminals, and millions of nerds the world over have used IRC to communicate on a daily basis for decades, so there's quite a track record.

An IRC channel is hosted by a network of federated servers (such as Freenode or EFNet). This is why netsplits happen when communication is disrupted between servers.

Some networks have bolted-on authentication to prevent people from riding netsplits and commandeering channels, but that's not a part of IRC itself.

I'm interested in knowing more about this. Accessing #xyz on Freenode won't let me access the #xyz on EFNet, I don't understand how the servers are linked or to what effect. Surely I have to be connected to Freenode to talk in a Freenode channel? Similarly if Freenode goes down, is the channel I was using still accessible somehow else?

Freenode and efnet are completely separate. But both freenode and efnet have lots of servers (typically spread out geographically) that are synchronized and it's between those that a split can occur.

People in channel #xyz on efnet doesn't have to be connected to the same server to talk to each other (during normal operation).

Not really, the ircnet servers (many of them) are linked together and they provide the service like that, you can connect to any of them.

IRC is both centralized and decentralized.

Users join a single node (centralized) but that node is part of the wider IRC network (decentralized).

This is a misconception, normally IRC servers operate in a linked network sharing a pool of users and channels. Also there is no such thing as authentication in IRC, at least on a protocol level.

"IRC is by designed centralized"

Never encountered a netsplit, I see.

I’ll eternally plug XMPP.

Openfire is good to explore features with/PoC, and there are lighter daemons to go forward with.

Plenty of negativity around XMPP, I think it’s fundamentally a legacy hate for XML but we’re all good at DOM and namespaces and schemas now if we use JS or Golang anyway. XEP database is worth a browse.

The fact that the core of XMPP is across at least 4 different RFC's means its too complicated. That's the source of the hate.

Mattermost is a self hosted slack clone. 95% feature parity in my experience - we use it as our primary chat tool where I work, no issues.

I've been testing out the self hosted community edition, it works well enough but you'll most likely want to run an image proxy server (it only seems to support camo) and mobile notifications are supported but sent plaintext (unless you compile your own apps).

You also can't prevent users from 'archiving' (deleting) any channel they have access to.

Overall it feels like I was being firmly nudged towards the paid hosted version.

Last time I looked, Riot, Mattermost, Friends, and Rocket were good options. This post compares five alternatives: https://blog.okturtles.org/2015/11/five-open-source-slack-al...

(Disclosure: I work with okTurtles)

What about https://keybase.io

We've been using Rocketchat at my work for some months now after moving from Slack and it's served us well. It's self-hosted and even feels a bit like Slack to use.

I remember reading about XMPP several years ago and how it was going to be a universal chat protocol that was also decentralized. I think Facebook and Google chat implemented the protocol at one point

XMPP is a federated protocol. Google supported federation for a time, but dropped federation in 2013 which cut off a lot of people from being reached if you didn't use Google Talk yourself. I'm not sure any of the other big players in messaging support XMPP federation.

I was using Mattermost for quite some time and really enjoyed using it.

Cabal [1] might be of interest.

[1]: https://github.com/cabal-club/cabal

Haven't used any of these, but this is what a quick Google turns up:





For "what's with these tech companies and closing accounts?", blame spammers and scammers. They're generally cleaning up fake accounts, and no filter is perfect - real accounts will get caught in the net. Blaming conspiracy and oppression is shortsighted. The best protection is to make sure there is no way anyone will confuse your account with spam or scam, and the best way for that is to be a paying customer, rather than a free user.

The people whose accounts they've closed by mistake are essentially fucked over because the company provides no information and no recourse. Stop making excuses.

> because the company provides no information and no recourse

From what I've seen on Twitter it looks like Slack is asking people to email them so they can figure out what is going on and if they did in fact err in closing accounts. We'll see what comes of that, but it feels a bit premature to say that they've just cut people off and that's the end of the story.

They don't?

The biggest problem would be lost data, if the anti-spammer cleanup process doesn't back things up and they don't have a good way to recover. But you'd think they'd be happy to get back a paying customer.

Non-paying customers, on the other hand... just how much effort are they worth?

Rocket.chat is offering both hosting and guidelines to selfhost




I wouldn't worry about this seriously. Do companies shut down accounts, yes. Do they do it poorly sometimes, yes. Should you always make sure your business is protected against ANY third party service you use, yes. Does that mean you should avoid using these services, no.

You don't know the full story to these cases, you don't know what the person was doing/sending for fact. All we have is a shaming event posted on HN or reddit etc. Not saying the companies are right here, but you are considering things to be fact based on one side of the story and generally no actual facts beyond someone's statements. Someone stating something doesn't make it a fact, it is an opinion, proof is much different.

I have heard this about Stripe many times saying they shut down accounts, or Square as another example. I had my own situation where Square held up a little more than 20k in payments until I proved some details about my business. I did what they asked and had my money released in 24 hrs because I was within the terms of service and I had facts. 9 out of 10 times when people have these issues they are outside the terms of service or are playing loose with facts.

There are exceptions of course too, myself and many others have posted proof/facts around Paypal's deceitful practices of holding money even when you are within the terms of service and have called them ahead of time as required for certain events/transactions.

Also, just as a note, sometimes companies must act based upon legal situations and do something that they normally wouldn't. This happens more often in the U.S. when a company is dealing with foreign individuals or companies and not its own citizens. This is similar to any other Country and their governments enforcing their laws/rules, except at least in the U.S. there generally is some court involvement which provides some checks and balances.

In my opinion it's probably worth discussing.

I'm generally concerned if someone tells me not to worry.

I do agree with you it is worth openly discussing. And I never said it is something to not worry about or discuss, my overall point is knee jerk reactions over opinions and not facts are useless and you should always be protecting your business from 3rd party services you use, regardless of what you read.

But dismissing using quality tools because you read on some forum that a few people had their accounts disabled can just create chaos for your own teams. You have no clue what the facts are, and if you base doing business solely off subjection and hearsay you won't be in business long. Although, somewhat ironically, I do feel a healthy level of paranoia can be positive because it makes you ask more questions.

Technically I said not to worry seriously. There are reasons to question things but not worry seriously over it, at this point.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact