This is another argument against using proprietary SaaS solutions for such crucial purposes as business communication. There are free open source alternatives which give you full control and privacy: Mattermost, Riot.im, Rocket.chat, Let's Chat.
In >15 years what I have seen is that OSS comes with a huge cost of attention - that you'd be better off focusing on your business need.
Running most of these OSS even at a medium employee count scale is a full-team-commit-nightmare. It essentially means your it department now needs a specialist who will be able to handle your org quirks, remember the tweaks and keep baby sitting it. Not to mention many OSS teams (I don't know about the above listed) are ever so sneakily introducing enterprise clauses about usage in their EULA.
I don't want to name names, but even with paid software we are seeing this problem everywhere in trying to host: But at least here, we got the actual developers and experts on a call who can walk us through why x employees are fine and x+1 nukes their system.
Open protocols without OSS tend not to be particularly robust. In this instance, we have both: open protocols like Matrix.org, XMPP & IRC - and open source servers & clients (like synapse & Riot.im on the Matrix side), which are no longer an opensource curiousity but ready for primetime as Slack/Discord replacements. Just as Apache is ready for primetime as an IIS replacement.
We've had a perfectly good open chat protocol since... gosh, I don't even know. It's called IRC and it's so simple you can implement a server or client in python in under an hour.
This is what happens when you over-engineer things.
Slack just freaks out when I'm offline (or it even thinks I am). To the point I often just end up writing an email as it's less painful than using slack.
So corporate users can set up an IRC server; a network of per-user bouncers for offline state maintenance; an internal file hosting network for uploads; a bunch of server-based logging stuff and a central search repository to check history; train every middle manager to be an IRC server admin in order to add and remove people from channels for new projects; somehow intervene to disable DCC and other methods users could use to circumvent server-side logging; maintain their own fork of an IRC client in order to implement inline code, images, website previews, etc; break IRC's protocol in their client and server to allow text in excess of the maximum line length; and separately find a SAAS video/audio chat vendor or roll their own...
... all to save $7/month/person (or less for some competitors like MS Teams) because Slack is, like, too proprietary.
They could easily pay someone else to handle all that stuff just like we do with HTTP servers. We're not talking about the service, we're talking about the protocol.
> maintain their own fork of an IRC client in order to implement inline code, images, website previews, etc
These already exist. No need to maintain a fork unless you want to add features that don't exist in it. And since IRC is so trivial a protocol, that's not even hard.
> break IRC's protocol in their client and server to allow text in excess of the maximum line length
You don't have to break shit. Just split lines into multiple messages and piece together messages from the same user when they were also the last one who said anything, or use a character that means "message continues", or any of probably a dozen other ways you could implement that on top of the already existing protocol and that will still gracefully degrade on clients that don't support it.
Every time someone on HN says "you don't need x, just do a, then b, then c and you'll get something similar" I'm reminded of this comment: https://news.ycombinator.com/item?id=9224
Dropbox is just a hosted rsync server really [0]. The service has value, the technology didn't really require a new protocol except for lock in purposes.
I'm not saying that a service that takes existing ideas and makes them easier for people to use is bad, I'm saying that the open protocol people are calling for already exists, but because they have tech-brain they'd rather build a completely new protocol because it's more fun.
I dug around many years ago into dropbox. I actually found rsync was being used in at least some of its functionality. I doubt that remains the case, but it made me smile when I found it as it made a lot of sense at the time.
They certainly DON'T interoperate. I have a mail-tester score of 100, use SPF, DKIM and DMARC, yet Microsoft still sends all my emails in the spam folder. There's nothing I can do about it, it's a black box. The only suggestion from them is that I subscribe to some paid program with another company in order to maybe, or maybe not, increase the trust in my mail server.
I don't know about the rest of the software but Mattermost is easy to administer and requires minimal babysitting. I have it deployed with a simple docker-compose file which I only touch when I want to upgrade it, and there are Helm charts if you want a more production grade deployment. If I were to deploy it for my company I'd probably use the helm chart + a cloud hosted Postgres as the database and would likely never have to touch it between upgrades.
But you don’t want to go full ducking SaaS with things as well, where you don’t know what is coming until the ‘improvement’ is foisted upon you. Software gone mad. Spoken as a SaaS vendor
> In >15 years what I have seen is that OSS comes with a huge cost of attention - that you'd be better off focusing on your business need.
That’s not even wrong because nowadays almost all software comes with some OSS contained. So the non oss set is basically empty. I wonder if HN comes with a huge cost of attention because it runs on some OSS lisp?!
If you mean with "you" the operator of the tool, then yes I agree partially. But in this context it's more like "you" the user and then using open source alternatives doesn't make a big difference. Updates (which you generally want for security/good features/fixes/x) will still break your workflow regularly.
It's about how the service handles change (e.g. options to use the old interface etc.) that make the difference and not open source or proprietary.
There are many examples in FOSS that made user interfaces arguably worse and you have a hard time dealing with it, if you still need/want to run the newer version for other reasons.
Exactly that. There was an interview with Basecamp founder here a few days ago and he highlighted that even now when the current version is Basecamp 3 they still maintain Basecamp 1 for clients who don't want to make the change.
It being open-source (under your control) or not does make a difference here.
In an open-source thing, with this sort of productivity-harming breakage, you could worst-case just pay a random freelancer to fix it for you. You don't have that option with Slack.
That’s how you end up with critical apps which are full of known security issues because now upgrading requires reverse-engineering and migrating a bunch of one-off customizations. This approach only works if you’re committed to paying regularly to maintain your fork.
“upstream your fixes” only works if the upstream wants them. If you charge in saying “you're all dummies (per OP); here's a patch which goes against your project direction which I want you to maintain in the future”, that's probably not going to be very successful.