Suggestion for growing the community around Crystal

Hi there, I start this discussion on Gitter channels and I was (correctly) suggested by @straight-shoota to move it there.

I’m passionate about programming language and I start to follow Crystal about 3 years ago.

I return to the community only this year and try to help out with something like VSCode and other ide thanks to @faustinoaq, fez, clear orm and so on…

One thing that I see in many languages is that having some common “meeting point” can help the community grow.

The forum is a good point for example.

My observation is, that languages that have “common entry point” chat with multiple thematics or issues channel internally, normally grows more than the one with scattered around chat.

In the first group I can point as examples: Elixir, Go, F#.
I take the bigger (Go) as en example just because I’m in here on this PC.

When you subscribe you are on only a couple of channels of the 1,286 channels presents.
announcements, general, off-topic…

Anyone can open a channel (public or private). If I’m not the owner of a project but I’m passionate about it I can open a channel for other passionate likes me.

I can see if there is a channel of people living in my city (or nation) and so on…
I can love web programming but not machine learning and so on…
I can find all that I need to make my experience with that language better within a community or involve more people.

Any sites that has a channel in that “chat” point his users there, and they can discover more easily other things they are interested to.

Crystal situation now is different:
You go to Crystal Home page and found crystal-lang/crystal (on the footer), I can hear of some major web framework (in alphabetical order Amber, Kemal, Lucky…)

But what about Ricr, Athena…???
Is there some active project for machine learning, or (put here the topic you are intereted to)

The visibility obtained is superior to that which would have been obtained by “communicating” the individual information.

Here I talk about the benefits for Crystal as a community but also for individual projects…

So my idea is to find an open source platform (that I hope become officially supported) where we can realize that (I’ll be the first to work on that).

I see as an example Zulip that I used some times ago for Pony language.
Open source, we can use our own server, compatible with IRC, Matrix and many more things I suggest to read on their site.

I want to know how everyone sees this project. I hope @asterite, @bcardiff and all core team members and Manas gives me their opinion and / or suggestion.

I assure I’m willing to commit on this effort for the growth of Crystal community personally.


Gitter can already have multiple chats for different topics.

Projects ran by individuals, including those written in Crystal, choose whatever chats they want (or none).
Sure they may be able to create a channel in the main Crystal platform, but they won’t be admin - or it may be possible but it will be tedious to handle user permissions for the Crystal admins.

Currently, I did not have any issue for speaking about Crystal-related topics on Gitter’s crystal-lang/crystal chat - it is calm enough.

What are these communities using? I think Elm and Elixir are using Slack.

I just created a Slack workspace: . Feel free to join. Since it’s free, I can’t see why it would hurt to use Slack.

1 Like

The con of slack is that AFAIK there are no automated invites. So you would need to invite each specific person.

Here’s an invite link:

EDIT: the invite link expires in 30 days. Up to 2000 people can use that invite link. I think for now this is fine. In one month I can post another link, or we can keep it updated somewhere. But for now this is just an experiment.

@asterite free slack channels have a limit on chat history you can see.

Also is not Open Source

Because it’s not free. Or at least the free version isn’t really useful because of the limits on searchable archives. IMO that’s an inacceptable restriction.

Also I don’t like surging ahead like this. We’ve just started this thread to discuss possible improvements on Crystal’s chat channels. Let’s have that discussion first and consider pros and cons of different approaches before jumping to a conclusion. Inviting everyone to join an ad hoc slack org in the third comment on this thread seems really counterproductive.


It doesn’t matter. If you want history you can use the forums. Chat is used if you want to ask something now and get a reply soon-ish.

Why does this matter?

It’s used for Elm. I don’t think Elm is paying this. And it’s been working great for them.

I can imagine Elixir also doesn’t pay for this, and they’ve been doing great.

My guess is that they are not paying it because you pay per user.

Also there’s crystal-jp slack workspace, I joined it a few times and they are having a great time there, and they organize themselves.

I think we are all making a big fuzz over “moral” stuff, whether something is really “free”, whether it’s open source, etc. Meanwhile, every other great language is using Slack just fine.

The Slack workspace is there. Feel free to use it. If it turns out in the end we find out that it was not worth it, we can close it. But I believe great discussions will happen there.

@asterite doing this you completely miss the point I want you (core members and older user) see about language adoption. But it’s ok. I learned something that really I already know.

I’ve been using slack for many years, mostly in workspaces for non-profits orgs where we can’t affort paying for each user and use the free version. That’s certainly fine for having great conversations and stuff. I’m not saying it is outright unsuable. But getting your history cut off is a very strong limitation. I’ve often encoutered that I remebered there was a discussion about something in chat, but can’t reach it because it’s been too long ago. With our current Gitter/IRC setup, you can easily search IRC logs from years ago. It’s not directly integrated into the platform, but at least there’s a way to access the chat history.
Maybe something similar could be achieved with an IRC bridge and archive for slack channels. But this is really not the way it should be. If we want to improve our chat platform, having direct access to unlimited history is IMO a strict requirement. Otherwise I’d not see it as an improvement.
This is not about the platform being open source or not. I actually don’t care about the software license. But I care about our data. For an open community, I believe open access to the community’s history is important.

I think that having one common spot would be fantastic. I think Slack could work if all the communities used it. Right now the biggest barrier to Slack is invites. If there is one “Crystal” slack where we have tons of channels, that sounds perfect. I’d happily move Lucky over there. The only reason we are on Gitter is because Crystal and others are there and sign up is easy.

If there is just one slack and one invite then I think that is simple enough

I personally am ok with the history not being unlimited. Very few people actually use Gitter with IRC and don’t know how to search it anyway. And for those that do use the Gitter interface, it is quite atrocious :joy:

Tons and tons of bugs that make it so hard to use. The App store app has 1.5 stars I think. So I’d be very strongly in favor of one Slack room where every Crystal community can have their own channel. Nice an discoverable and you only need 1 invite. However I won’t move over unless this Slack is official and there will be a nice invite system maintained, etc. I don’t want to be the only community that moves over and then have to move back to Gitter eventually :P


Yeah Slack or Zulip for being usable must have an invitation page (like Elixir and go have) that can generate auto invite via email.

Then Crystal, Lucky and so on point at that registration / access page.

Zulip looks really good. I’m not a big fan of external control of free communities, we’d be at the mercy of Slack’s plans.

If there’s a need for management of an official Zulip Crystal instance, I’d volunteer.


Okay, let’s continue the discussion. At least we’ll have crystallang as a workspace name if we decide to go with Slack (crystal is taken).


Exactly. Not to mention gathering of data for whatever reason they want.
Opensource self-hosted is always the better choice.

1 Like

In this case can be something like chat.crystal-lang.orgor if we decide to self hosting.

Who is going to pay this?

And who is going to maintain this? System updates, reboot if it comes down, etc.

@asterite I pay the server if this is the problem.
But it must be official endorsed and possibly have a subdomain
(And also someone from Mana must have access)


@Acciaiodigitale it is not about money, but all the time and knowledge and time to setup and maintain to keep secure and up-to-date the platform.

Matrix has also to be considered, with the service.
Something will have to be paid anyway, better to have less hassle and support Matrix (even if we have to trust them vs self-hosting).
Notable customers are Mozilla and KDE.