Posted in

How to Build Open Source Communities: Akka Project

Konrad Malawski from the Akka Project shared his experiences and approach to open source community building and management. Find out what he says and visit the Akka Project channel on Gitter.

Tell us about a little bit about yourself and the Akka project community. What is Akka project? How did it all begin?

Akka is a toolkit for building highly scalable, concurrent and distributed applications on the JVM. The project was started by Jonas Bonr who in 2009 decided to create a library to help him build concurrent, distributed apps heavily inspired by Erlang and its let it crash! motto. Later the project evolved into an important part of the Scala community and crucial part of the platform supported by Typesafe (later to be known as Lightbend), which is the company supporting the majority of Scala compiler work as well as multiple great open source projects, such as Akka or Play.

We have a fun infographic that we made to celebrate 5 years of Akka (back in 2014), that shows the evolution of the toolkit as well as people joining and contributing different modules etc. I joined around that time actually and the rest, as they say, is history.

What common goals do you have as a community?

I like to think of it as pushing distributed systems where no man has gone before 🙂

This may be somewhat overstating it, however we certainly pushing the envelope pretty hard with some of our projects. With some of the recent initiatives we lead, like Reactive Streams, which are aimed to become a part of Java 9 and were a cooperation between us and multiple excellent engineers across 5 or more companies, one gets this feeling that were actually moving the ecosystem to places where it wouldnt have been otherwise. Another notable example of this is Roland Kuhns experiments with Typed Actors over the last years, which actually made academia reach out to us for joint research, as the problem is currently not only explored by the Akka team by academic researchers themselves.

What are the main issues discussed in the Akka project channel on Gitter?

We have a number of Gitter channels so topics differ from channel to channel. For example the core team is always online on the akka/dev channel, and its the place where you can ask the team for help on contributing and actually developing Akka. Then we have the akka/akka channel which is a general user discussion channel, we also sit around on that channel, but due to sheer amount of chats going on there, were not able to answer every questiongood thing though that we have an excellent and lively community thats happy to help anyone out there.

Then we also have more specific channels, like akka persistence cassandra or reactive kafka (our streaming Kafka integration library), which are projects that we maintain yet are not really part of core Akka. Questions there are often very specific about the tech used.

What are the most important factors that you have taken into account while creating and maintaining the community? What factors contribute to the success of your community?

First and foremost, it has to be a nice and inviting place you want to be part of. We personally invest strongly in guiding newcomers into the community and also set a tone of a nice place to discuss and freely ask any questions you might have.

We also have contributing guidelines and sometimes run competitions or hackathons to encourage new people to join the project.

What are the key challenges that you encounter while managing the community?

The largest challenge we have is actually one of those good problems to have actuallysince its about being able to keep up with the community as its become so large that is becomes hard to keep up. We get a lot of questions, ideas and contributions and responding to the communities questions and feedback can sometimes end up being almost a full-time job by itself. We try to share this responsibility across the team, so that we still get some offline time to get focused and get some coding done.

How do you encourage participants commitment and contribution to the community?

We of course have the obvious things which are tickets marked as easy to contribute and such, but actually many contributions from the community start out from initially being a question on Gitter, then we chat a bit and if it turns out something wasnt documented clearly enough or could be done better then we ask if the person if theyd be able to help us out and contribute the changevery often people are really happy to contribute back. We try to make it as much as a pleasant processwhich shows in retention of contributors.

Then we sometimes do something a bit extra, like running a blog post competition (we called it the Summer of Blog back then), or for really impressive contributions we even handed out a few ScalaDays tickets to the most active contributors recently.

Based on your experience, do you feel that the open source communities have changed and evolved over the past years? If so, how?

In recent years, especially with Github and Gitter communities have become even more personal and human. Mailing lists and for example IRC channels were always around, but somehow the entry barrier seems to have been somewhat higher. On chats nowadays we get people from more diverse backgrounds I thinkseems the ease of getting into a Gitter chat really helps in the outreach.

Some of the examples about openness we practice are that we publish our discussions as well as sprint plans on the akka-meta repository, so everyone is able to keep track of what were up toand hopefully, figure out how they could help out as well.

What advice would you give to someone who wants to start an online open source community from scratch?

I strongly recommend people to default to open when working on projects. It really rarely is the case that someone will come in and steal your ideas (remember to use an open source license that expresses what you want to achieve). More likely than that though, is that someone might find interest in your library and start helping you out on it.

Ive more than once just had a small personal pet project explode in popularity and contributions, and suddenly be widely adoptedfunnily enough one of them being a git / maven plugin I created in 2011 and now tons of corporations or other open source projects depend on it, contributing to its maintenance as well. Having that said, theres nothing more satisfactory than having your OSS project lift-off.

Thank you!

Ola works as a digital strategy & growth consultant at Gitter. 

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.