[UPDATE: New Slides posted, the link is below.]
Pop Quiz: How many of your developers wake up in the morning excited to work on your project? If the answer is not “all of them”, you probably need to look at how open source projects attract developers and motivate them to write code for free.
Put yourself in your developer’s shoes for a moment.
You are a professional developer, you work on a project all day at work but you live to get home and start working on your passion, an open source project. Suddenly, instead of slogging through the day, you are actively engaged in a project that may be much more complex than the one you are working on at work. Worse yet, you may actually have more responsibility, more input, more voice on your open source team than you do at work. You wish your day job excited you as much as your open source project. You wish you could be as engaged in it.
Ok, back to the real world, you are a manager again; you lead a team or a project. Don’t you wish, your developers could get as excited about what they do at work? Have you ever wondered why they don’t?
A good place to start is to look at how your project and team is structured. Good Open Source projects master four key meta attributes that few corporate development teams seem to be able to grasp, let alone implement.
- A meritocracy
- Transparent in decision making
- Location Independent and flexible on timeframes
- Open Lines of Communication
These four meta attributes are essential for an open source project to succeed. Without all four, most projects don’t get off the ground. However, when it comes to corporate development teams, we see an almost 180 degree turn. Corporate teams are, for the most part:
- Top down driven
- Opaque in decision making
- Rigid in location and time frames
- Hierarchal in lines of communications
Even with these meta attributes not all open source projects succeed. Implementing them in your corporate environment won’t guarantee that your next project will succeed. However, it will give you an edge that other teams don’t have. With open source projects, nobody is forced to join. Only a few very lucky people are paid to contribute to them. Developers join because they want to. Wouldn’t it be great if you could say the same about the project on which your team is working? Wouldn’t it be great to say that all your developers are there because they want to be? Have them eager to be at work? Have them blog about how great their project at work is? You can but you have to turn your project into a project they want to work on.
I guarantee you that if you can’t get your developers excited about your project, don’t get excited about your project, they will find one that excites them. Hopefully for you, it will just be an open source project.
[Update: This is the opening monologue to a presentation I did recently for MIH titled "Open Teams:What corporate IT can learn from open source projects". (PDF warning)
This is also the talk I gave at PHP Benelux 2010.
While I get the most enthusiastic responses from developers when I present this talk, I would love to present it to management as well. If you are interested in me presenting this to your company's IT management, drop me an email and lets make it happen.]
Until next time,