A few years ago, someone asked on the Elixir slack “Is the Ash project dead?” Thats how I knew something was wrong.
Let's start by answering the question “Where do Elixir developers hang out?”. You probably know about a few of these, but very few people are aware of just how many sub-communities there really are. This is certainly not an exhaustive list, and these are not in any particular order.
Github Issues & Discussions
Slack
Discord
Social Networks
Telegram
With that information, I bet you know exactly where to go to participate in the community, so we can end the article here, right? Sure.
How did this happen?
People are on these different platforms for a reason. Twitter is banned in Brazil right now. Many workplaces don’t allow discord. People have personal reasons. Many don’t like the politics of twitter. Or the walled garden of Slack/Discord. Or simply want to be in a smaller community that they view as more like themselves, or perhaps more accepting of who they are.
So this conversation can’t be about “taking things away”, which is a natural first conclusion when you start thinking about this problem. Why don’t we just choose between Discord & Slack? Combine the communities? Because you’re going to alienate a large group of people regardless of how you do it.
Smushing all of these communities together is not a good idea even if we could. Even if everyone was willing, would one “mega-community” really make anything better? I find it doubtful. Many people have told me that they appreciate the Ash discord server in part because it is a much smaller group than “all Elixir developers”, cutting down the noise.
This is the “better”, in “for better or for worse”.
So what is the problem then?
Beginners can get lost
Where do I go for help?
Google? Well, millions of questions have been answered in non-indexable places like Slack, Discord and IRC. So you won’t have nearly as much luck as you would here.
Stack Overflow? Strangely unpopular among Elixir developers. But there is some good stuff here. You might find what you’re looking for, but its unlikely.
Issue trackers? No! Those are for bug reports with proper reproductions and all the info necessary!
Slack? What if the folks who know about the thing you’re asking about aren’t in Slack? Or they’re busy today?
How about I search in Slack! Oh…only the last 10k messages are kept? I guess all that hard work from the community is gone forever then. None of the history is indexed by search engines either.
IRC? Same problems.
Discord? Same problems. You have unlimited search back here, which is awesome. For now. Who knows what changes discord will make?
Right, Elixir Forum then. This is the actual best answer, but that doesn’t mean that it wouldn’t have been faster to get help elsewhere.
The optics aren’t great
As a community, we have to cut a difficult balance. A balance between considering the commercial aspects of what we do and the fun aspects. The Elixir community is a lot of fun to be a part of, and the fact that our direction is not set by corporate overlords is the reason that many of us are here. I, for one, believe it will play out better for our community in the long run.
With that said, a very large portion of the Elixir community is focused on working with Elixir professionally. We need a healthy job market. We need a healthy image from members that are not a part of our community, to increase adoption. We need things like case studies, success stories that act as a testament to the power of Elixir.
This stuff isn’t fun. Its annoying. Half the time it can even feel disingenuous. We are experts; We are aware of the challenges we faced building a thing. It wasn’t magic. We aren’t salespeople. But we have to sell it. At least, we do if we want Elixir to continue to be a viable career choice.
When someone asked if the Ash project was “dead”, I realized that for all the benefits I got from having my own discord server (custom roles, as many dedicated channels as I want, low signal/noise ratio for things we cared about) there was also one major drawback. I had created a silo.
I’ve always thought of Ash as something that could draw new developers to Elixir. This has proven to be true! But if you googled Ash Framework two years ago, you’d see a smattering of questions on Elixir Forum, a few of my conference talks, and it would not have been enough.
Creating a dedicated space in the Elixir Forum was the best thing we ever did for the Ash community. We still have our discord server, but we encourage questions to be posted in Elixir Forum. Some people are better at this than others. We aren’t forcing anything on anyone. We meet them where they are at. So all we had to do was make an avenue for participation in a more open community, and we got the benefits.
The Oban community ended up doing the same thing that we did, and just the other day, the Nerves community announced that they were doing the same. Huzzah! The silos are collapsing!
So what do we do?
No-one likes to think of the optics. I get that. And the truth is, you don’t have to. You do you.
However, if you’re part of the leadership of this community, or wish to make an active change, I highly implore you to consider the cost of these silos. They make the language look far less active and supported than it actually is. They make it hard for beginners to know where to get help, or to get the best help that they can.
We’re talking about this on Elixir Forum right now. People have a difficult time getting caught up on the Elixir news, because it happens on a social network they can’t access. Or because it happens in a silo they don’t know about.
Here are some positive impacts that can be made right now:
If you’re posting awesome content on twitter, like this awesome video by José Valim on optimistic updates in LiveView, post it on the Elixir Forum too!
Alternatively, post it anywhere you’ve got an RSS feed. Like Substack, or your blog.
When in doubt, use Elixir Forum. It’s an open community. It has excellent SEO. You can subscribe to any part of it as an RSS feed. The posts are automatically sent to twitter even!
Elixir is a growing language. Lets help our newbies, and show the world the kind of traction that is really has!
We have a Telegram group in English: https://t.me/elixir_world
And there are also several others in other languages.