You're Open Sourcea€¦Now What? (Communication - Part 2)
In case you missed it, this post is a continuation of another post looking a some of the things I've learned in the time I've spent as an open source project organizer for Joind.in. In this second post I'm going to keep looking at communication and the role it plays in the project. The focus will be a little bit different, though - this time it's more about internal communication.
Keeping all of the contributors to your project informed and involved is a task to itself, but this should be only half of your focus. It's easy to get caught up in the code merges, mailing list threads and even heated IRC conversations about the next fixes that need to be made. It can be fun, trust me - there's times when it's easier to just think about the code and where the popular opinion says it should go. Unfortunately, this almost always leads to bad decisions.
See, one of the core things you can't forget about when you're organizing an open source project is to keep the a€ostaffa€¯ all on the same page too. When you start off small and it's maybe you and a few casual committers, it's easy. You can pull out the decisions without having to worry about anyone else. This all changes when you have one or more others come in and start to be a part of the project. It's a tough transition for a lone gunman developer used to calling the shots to flip that switch in their head labeled a€oask the teama€¯. It's crucial that everyone involved in running the project be on the same page about things. If they're not, that's when bad things can happen like major code forks or worse - a poisoning of the project's community.
I know in the previous article I advocated keeping things out in the open when dealing with the project and its intentions, but there's a a€obuta€¯ that comes with it. Contributors and casual observers don't need to be in on some of the organizational decisions related to the project. There's things related to the code of the project and then there's things related to the project itself. It's up to you and your fellow organizers to make the call on what discussions belong where. Usually the line is pretty clear, but somethings a a€olet's ask the community what they thinka€¯ is the right way to go.
So, how does a (possibly) completely remote team keep up with one another? Well, here's a few ways, some being better than others:
- Email - one of the more cumbersome techniques due to it's nature as more of a point to point method. This can work if there's only 2-3 of you, but when it starts growing past that, this just gets confusing
- Mailing List - this is a step above the emailing method and at least will give you a way to review the threads in case questions pop back up. Still not great, but better
- Online project management apps - these can be great if you need something with a bit more superpower to help manage the project. Even something as easy as Basecamp can help.
The real key is to finding something that works well for your project, though. Sometimes it's enough to just keep a running list of decisions/future plans made about the project, but I'll warn you that you'll outgrow this pretty quickly. It just doesn't scale very well for anything other than a 2-3 person project.
Thankfully, keeping your project's a€ostaffa€¯ informed isn't as difficult as keeping up with the general contributor base. It's easier to just tell them where they need to go rather than trying to get the message out to as many people as possible and hoping it sticks.
Do you and your project have a tool or method that you use to keep all of the admins on the same page? Share it in the comments!