Martín Verzilli

Martín Verzilli

Why Crystal CodeCamp?

workshop, crystal
7 min
Apr 11 2017

Maybe you’ve heard: we’re organizing the first Crystal CodeCamp in San Francisco on May 11th and 12th. But, why are we doing this?

During the last few years, Crystal has been making the rounds at the front pages of Reddit Programming and Hacker News more or less consistently. If you read some of the comments there, you might have stumbled upon comments that look somewhat like this:

“Yeah, Crystal is cool, but I’m not betting on it given there’s no big corp behind it, the way Microsoft supports .NET, Google backs Go, Apple sustains Swift, etc, etc.”

Which is... true. Crystal started as Ary’s side project in 2011, when he wondered “What would Ruby look like if it was compiled to native code?”. He set out to answer that question and within a few weeks he was presenting a very rough working prototype to the rest of Manas. A year after that, Waj and Brian jumped on board and Crystal turned into more than a personal side project: it slowly became one of the biggest sources of pride and fulfilment for more and more Manas members. If you’re interested in the rest of the story, here’s a really cool recap by Inti.

So, while it’s true there’s no big corp behind Crystal, that does not mean it is on its own: there’s a 21-employee, 14-year old company in Argentina called Manas.Tech that is doing a lot to sustain it. On top of that, there’s an ever growing community of contributors and supporters who push the project forward, with work contributions that range from simply reporting issues to implementing support for ARM, and with monetary contributions ranging from 1 to 600 US dollars per month. Is that better or worse than having Big Corp behind? Well, there are tradeoffs.

First of all, Ary, Waj and Brian are (together with Nico, the founder) the oldest members of Manas. Manas is not a startup, it’s been around since 2003. In fact, Crystal was born in 2011 when Manas already wasn’t a startup. Manas is not simply investing in Crystal, it was the substrate from where Crystal flourished.

Why do I insist on this? Because in this environment, there is close to zero probability that external pressures will steer the direction of the project. Manas.Tech does not have an agenda to make Crystal fit into a larger commercial structure; the language is the end in itself, not a means to something else. Whatever direction the project takes in the future, it will be solely based on Ary’s, Brian’s, Waj’s, Julien’s and Jonne’s convictions together with those of the rest of Crystal’s community.

Now, I cheated, because I said there were tradeoffs but only wrote about how nice and wonderful it is to be immune to external pressures. There’s an obvious downside to lacking Big Corp support: there is certainly not a lot of money flowing into Crystal development. Everyone at Manas is free to invest time on it, then many of us continue working on it on our personal time, and, as I mentioned above, there’s an amazing and increasing volume of community contributions flowing into it.

But those efforts are not sustainable. We want to be able to invest time on Crystal without putting Manas’ financial stability at risk. That would also enhance our personal lives, since after doing 6 or 8 hours of Crystal a day, we’d likely go back home with a big smile on our faces and the peace of mind that we paid enough attention to it for the day. Dreaming bigger: we want to give back to the community and pay bounties for at least some of the greatest contributions.

So we’re exploring novel ways of financially sustaining Crystal:

  • Right now, BountySource is the main source of money for Crystal. It’s great because you can contribute as little as 1 dollar per month, but collectively it’s making a huge difference in how much time we can invest on it.
  • We are offering consultancy and support around Crystal projects. If you are interested in leveraging Crystal’s mighty performance and maintainability for your project, reach out here.
  • Merchandising: we still haven’t quite figured out how to manufacture a physical version of the proverbial spinning logo (go play with it at crystal-lang.org, I’ll wait for you to come back tomorrow), but we do sell some nice stickers on StickerMule.
  • CodeCamp: we love getting in touch with the community and we’ve been getting a lot of requests to organize a Crystal Conf and start dictating courses, so why not give it a try?

So there it is: next May’s CodeCamp in San Francisco is a great opportunity to connect face to face with other members of Crystal’s community, learn a heck of a lot about its internals and how to be proficient with it, and, at the same time, fund the upcoming efforts on the language.

That’s me answering why we’re doing this. Now it’s your turn to answer: what are your reasons to join us there (or in the next one!).