Real-time chat applications have been around since the earliest days of the Internet. Yet somehow, despite the enormous number of options, the workplace chat app Slack has surged in popularity. After just two years in business, the company now boasts 675,000 paid users, 2.3 million users overall, and annual revenue of more than $64 million.

Slack's growth has shown that even seemingly ancient technologies like chat can still be improved, particularly when it comes to using instant messaging for work. But Slack has the limitations that all proprietary cloud apps do. Your data lives on someone else's servers. Customization is limited. You have to trust that Slack the company will make the changes you want to Slack the app and not make changes you don't want.

Open sourcers are trying to beat Slack at its own game by providing features it doesn't yet have.

That's why the open source community has been racing to build better versions of Slack, even though countless open source chat apps exist already. In fact, Slack alternative Mattermost and Rocket.chat topped the Black Duck Rookies of the Year report, an annual list of new open source projects that attract the most developers and produce the most code. Along with other open source chat apps such as Friends and Let's Chat, these projects are hoping to provide not just a more open alternative to Slack, but beat the company at its own game by providing features Slack doesn't yet have.

No Longer Stuck

Mattermost co-founder Ian Tien knows what it's like to get burned by cloud software. In 2014 he and his colleagues at the game development company SpinPunch were at their wits' end with the commercial chat application they'd been using (Tien won't say which one). "We didn't want to leave, but there are too many bugs, and it crashed too often," he explains. The company decided to switch to Slack, but found they were unable to export their old chat logs from the chat app. "We had gigs and gigs of data," he says. "We think we just had too much data in there, it was too big to get out."

Slack's growth has shown that even seemingly ancient technologies like chat can still be improved.

As much as the team liked Slack, they didn't want to risk a repeat of what happened before, so they repurposed the chat features of their game development engine and turned it into Mattermost. The application is designed to be compatible with Slack so that users can easily connect applications–such as GitHub and Trello—to Mattermost in exactly the same way they would connect Slack without any modifications. That managed to turn some heads in the developer community.

"I saw someone mention the Mattermost 1.0 announcement and it seemed like the best of both worlds: a pretty Slack-like interface with media embeds and Slack-compatible hooks, but open-source," says Benjamin Reed, a developer of the the open source network management platform OpenNMS

Open Options

But by building their own software, the SpinPunch team was able to add new features that weren't already in Slack, such as threaded messages. Likewise, the desire to be able to go beyond what companies like Slack already offer out of the box is what drove the team at the Brazilian business software company Konecty to create Rocket.Chat. Co-founder Gabriel Engel explains that some of Konecty's clients wanted the company to create a chat feature for its customer relations application.

The Konecty team looked into integrating with Slack, which they used themselves, but soon realized that it wouldn't quite meet their needs. They wanted ways to not just add users or create new chat rooms, but create different types of users and chat rooms, since the software would be used by salespeople to both chat with customers and to chat with each other. So they decided to build their own chat system, written entirely in the popular JavaScript programming language.

Engel credits the choice of JavaScript as one major reason that developers from outside Konecty have been so excited about the project. Most web developers know JavaScript, which lowers the barrier of entry for those who want to make changes to the code. "When we ask people why they decided to use it, they say simplicity of how the code is organized, and how easy it is to add new features," Engel says.

Both open source projects are now hoping to turn this early enthusiasm into money. Engel says most of the Konecty team are now focused on developing Rocket.chat. The company offers Rocket.chat hosting for those who don't want to run Rocket.chat on their own servers and makes money selling support and customizations to the software. SpinPunch, meanwhile, has pivoted entirely to developing Mattermost. The company now sells a non-open source version that adds special features that large companies need, such as the ability to integrate with corporate directories. Slack, of course, is still hugely popular. But for people and companies who want something different, their options are open.