Most people used to the proprietary software world, with no experience in open source software, are amazed that anything gets done. (And lots gets done in the open source, way more than in most proprietary software companies!) And people new to open source are usually at a loss as to where to start. Often they come with a great idea, tell a couple of people who confirm it’s a great idea, and then … well, and then they don’t know what to do and the great idea fades.
So here are some of my ideas on how to get things done in the open source world. And I am by no means the expert – I’m in awe of some of the people I work with on a daily basis.
To get things done in open source:
- Be prepared to do a lot. Somebody has to do it. And while you can convince others it’s fun and needed and great, if you aren’t willing to put time into it, why are they going to believe you?
- Believe you are empowered to do it. If you propose a new idea and everyone tells you it’s great, believe them. And just do it. Nobody is going to say “ok, now you can do it.” If people give you positive feedback, take that as an ok to go ahead.
- Recruit others early. The earlier you talk to others about your idea, the more likely they’ll be able to contribute to the idea and feel like it’s theirs. The more they feel like it’s theirs, the more likely they’ll contribute. Most people hate to share an idea until they are sure it’s a good idea that’s completely thought out. By that time, it’s your idea to be done your way and it’s too late for them.
- Don’t worry about getting credit. It’s all done publicly, on a mailing list that’s recorded for prosperity or on IRC in front of everyone. You’ll get your credit. Float your idea, encourage others, accept their feedback and ideas. Give more credit than you take. (And ask yourself if you want your idea to happen or if you want credit. Either answer is ok but only one can be your highest priority.)
- Join the conversation. Many people float an idea via email or maybe even on the mailing list. Where probably depends on the project but there are conversations happening some where. I think the one most missed by those new to open source software is IRC. I once heard a manager joke that nobody hangs out around the water cooler any more. Instantly someone mentioned (on IRC) that IRC is the new water cooler and he just didn’t know it.
- Get effective at monitoring lots of information. In my experience, people in the corporate world spend a lot of time talking about how they get too much email (I did) where as people in the open source world (at least GNOME) spend their time talking about methods for dealing with lots of email. It’s way cooler to be seen as someone who copes with tons of email than someone who gripes about tons of email.
- Reply to all. I worked on an open source like project with some people that weren’t familiar with open source. I got so frustrated with people that didn’t hit “reply to all”. I spent a lot of time recommunicating decisions and we didn’t have a lot of conversations that we should have had.The project had a lot less “team” because people didn’t reply to all. By “team” I mean people didn’t feel part of a team and they didn’t have all the information they needed. Also, one of the strengths of open source is that all of the history is in the mailing lists. If you don’t reply to all, your project will lose that advantage.
- Think the best of people. Things get lost in email. It’s much easier to misread an email or take offense at something in an email than it is in person. Remember this whenever you get upset at an someone because of an email.
- Meet people. Along the same lines as communicating well in email, meet as many of your fellow open source people in person. This is somewhat controversial as the open source model works really well in a virtual world. But I think that conferences like OSCON, GUADEC, SCALE and OpenSource World that get lots of open source people together, create stronger relationships and better projects. Personally I find that when I can read an email in someone’s voice, it makes a lot more sense. It’s often funnier and more relevant.
- Be yourself. Be yourself, add some personal notes, make sure your motivations are transparent. Anyone who is obviously acting with “ulterior” motives – like pushing their company’s policy without thinking about what it means to them and the project – is less trust worthy. Not because what they are doing is bad but because it’s hard to know what type of decisions they are going to make and carry through on.
- Ask for help. There are a lot of people in the open source community willing to help. Just make sure you share the whole plan and ask for specific help. If you don’t share the plan, they won’t know why they should help. If you don’t ask for specific help, they won’t know how to help.
- Show your passion. Excitement is contagious. Share why you are doing what you are doing and why it’s important or fun. (Be sure to temper the “because the alternative sucks” viewpoint.) Be positive and passionate!
What else would you add? What’s your best tip for getting things done in the open source world?
For more detailed ideas for how to actually get the work done, see 10 skills to master to get things done online.