Just in case you’ve been living under a rock, you should know that Slack is absolutely crushing it. At the risk of sounding like a sponsored ad, I’ll say this: if you’re working on a team of three or more people, go ahead and create an account. You’ll see very quickly why Slack is doing so well. Put simply, the experience of setting up Slack as your team’s communication hub is frictionless. Absolutely frictionless. Every interaction, every notification, the manner in which Slack handles billing, etc etc, just fits with the way people actually get work done today. Instead of fighting against the way people want and expect their tools to work, Slack accepts it and embraces the reality of distributed workforces. Slack gets it. And you can feel it. This is why Slack is winning.
It never ceases to amaze me how nerds are quick to interject and say “we already have IRC”, “we don’t need these proprietary, walled gardens, etc”. Of course, as soon as you start to compare IRC to Slack, feature for feature, it devolves into a discussion about how to set up “bouncers” for persistent chat logs, etc. Here’s where I feel nerds have it completely wrong: open-source is a wonderful thing. Only a short time ago people scoffed at the idea of running mission critical software on open-source technologies. I don’t think I’m alone in thinking that a complete 180 has taken place. Nowadays, people wouldn’t dream of using closed-source, proprietary software for most things. This makes sense. Why would I pay exorbitant licensing fees to use software that is verifiably not as good as open-source offerings that have been battle-tested and have 1000s of eyeballs sorting through all of the issues in the open?
However, in my opinion open-source thrives as plumbing and plumbing only. Obviously all of the underlying tools and technologies that Slack relies on to deliver their product are open-source. TCP, HTTP, etc – that’s the stuff that thrives in an open/decentralized way. But IRC and other things that build upon various components of plumbing are better replaced by very sophisticated and polished experiences built on top of those open protocols. Maybe someone or some group of people is crazy enough to try to create an open-sourced alternative to Slack. Even then, I’d argue that this still misses the mark because companies don’t want to mess around with infrastructure and bouncers and paying a team of devops folks to maintain their servers, etc etc.
More fundamentally though — and back to my main point — nerds just don’t get it. Open-source should focus on the plumbing. Trying to build polished products on top of open-source is exactly the realms of a company, motivated by pecuniary interest, like Slack. See for yourself. Sign up for Slack and ask yourself: why in the hell would there be an open-source project aimed at delivering details like snoozing notifications for x hours/days/weeks. What would motivate the maintainers of an open-source project to create a system in which users can be granted access to only one channel, etc.? The list goes on and on. I’m tired of nerds thinking that excellent product work done by companies like Slack can easily be replicated by open-source projects. Not because open-source developers can’t do excellent work but because it completely distorts what, in my mind, should be the focus of open-source projects: building protocols and plumbing that are generally applicable and upon which great products can be build on top of.
In other words, Slack is compelling because of all the little details that delight its users. These things just don’t make sense to bake into an open-source project. I’m not saying someone couldn’t decide that they wanted to build a Slack clone. But it’d be very strange for open-source developers to be building the kinds of features that Slack has, features aimed at satisfying every requirement and expectation of companies looking for a centralized communication solution. Also, what’s wrong with a company like Slack integrating a bunch of open-source technologies to build a delightful user experience? Nothing. In my mind, the success of Slack (and other tools like it) is a testament to open-source, not a knock on it. We do open-source a disservice when we act as if there isn’t a place for for-profit companies to build excellent products on top of open-source tech.