We moved to Slack a couple of years ago, and it has served us pretty well during that time. Slack was a huge improvement over our previous Gitter.im community chat that was growing quickly out of control. The stability and overall reliability of Slack was great and as so many people use Slack for other communities, it made perfect sense to move Grav there. However, in the past couple of years, the Grav Slack community has grown to nearly 2,500 users, and we're starting to hit some significant issues.
Slack Main Issues
Message & Upload Limits
The free version of Slack which is really the only option for large communities, limits the number of messages to 10,000 messages. While this may sound like a lot, we actually hit that limit pretty fast, so everyday we are losing valuable Grav discussion history. We had at one time used
slackarchive.io which was able to use a bot to track all the posts, but unfortunatley, changes to the API and Slack Terms of Service, put an end to this valuable resource.
Another issue we face is upload limits. When you have reached the designated upload limit, old uploads are not removed, you simply are unable to upload new files until you 'clean things up'. Unfortunately, it's not a simple process as there are no bulk upload tools built-in to facilitate this.
Lack of Moderation
In Slack, was built for teams and everyone in a channel is inherintly trusted. This means that Slack really has no fine-grain roles or permissions that would allow you to have some control over spammers or abusive trolls. Also it's very easy to spam people, or post non-appropriate material, and only the admins hae the ability to do anything about it. We really have no way of limiting certain types of users or even creating a moderator role that means we can have trusted community members helping out.
The Wrong Business Model
To be honest Slack is built for teams and companies, it was never intended to be used for large open source communities. This business model is becoming more and more evident as our community grows. The limits on the free service maybe a good incentive for teams and companies to upgrade to their paid plans, but at $8/month per user, this would be ludicrous for an open source community. For example, with our current 2500 users X $8/month = $20,000/month for Slack! Without a discounted or open source plan available, Slack's paid model offers no viable option for us.
In an effort to address these problems and limitiations, we've conducted extensive research and testing into a variety of platforms. There are a number of viable options available now that didn't exist 2 years ago, but really only one platform ticked all the boxes. Discord was originally built for gamers, but with the ability to scale, and the great features you get for free, results in an ideal communication platform for other types of large groups. Many diverse non-gammer groups have discovered that Discord's powerful feature set makes it an ideal solution for their communication needs. In fact Discord is so open-source friendly, they even have a dedicated open source landing page on their site showcasing some of the great projects that are now using Discord.
One of the great benefits of Discord is how they use a unique business model for generating revenue compared to most other chat platforms. For most casual users, Discord is 100% free, however you have the option to upgrade your own account their premium offering called Discord Nitro for $10/month which includes some free games, a custom discord tag, animated gifs, high quality video for screensharing, custom emoji, and increased uploaded limits.
Some of the Other Discord Benefits:
- Unlimited message history
- Unliited storage limit
- Powerful user roles with configurable permissions
- Channel Categorization for better organization
- Clean native apps for all desktop/mobile platforms
- Dark / Light mode with ability to custom further with 3rd party extensions
- Powerful user bots that can add a rich variety of functionality
How and When Will This Move Happen?
We have already been running and testing a Discord server for serveral weeks, and some of the more active members have already setup their accounts in order to help with the testing and migration process. We will change the https://chat.getgrav.org landing page so it reflects the new Discord server, and provide a link to this blog post to explain the reasoning for the move.
The plan is to also notify all existing Slack users via email, and provide them with a link to easily join the new Discord community. We will keep the Slack channel around for some time, but will actually remove most of the current channels and leave a message in the #general channel notifying our community members that we have moved to Discord.
We are also investigating the possibility of isntalling a Slack bot to sit in the #general channel, that can send messages over to discord, so we can help those Slack users make the move easier.