Mentoring in Open Source Communities: What Works? What Doesn't?

Find out what it takes for mentoring to work in your free and open source software project.

By Esther Schindler, ITworld |  Open Source, community, mentoring Add a new comment

Some software developers wrinkle their nose at the very idea of deliberate one-on-one help. The default behavior in many (most? it's hard to know) free and open source software (FOSS) communities is to read the code and documentation, try it out, rinse and repeat. People improve their skills on their own; if they need help, they post a note in a forum or ask in IRC. Why should it be otherwise?

However, we all learn differently. You might want to settle in with a programming book, while I prefer to take an in-person class. If your project wants to attract new contributors, it behooves you to think past the "dive into the deep end" culture.

"Many people want to participate, but are literally sitting there just waiting to be asked," says Mel Chua, a new community engineer on Red Hat's Community Architecture team and frequent contributor to the Sugar Labs and One Laptop Per Child projects. "No amount of general ‘Just jump in, please join us!' shouting will work if the potential contributors you're trying to reach don't think that any such invitation could possibly be directed towards them. If you want new contributors, you need to go out and find people and ask them, individually, for their help," she says.

Many open source communities do actual mentoring (even if they don't think of it with that label); others don't. Some projects make a concerted effort to connect newbies with more experienced people. They provide opportunities for people to work together in smaller teams (not just a gang hanging out in an IRC channel, however useful that is), such as in sprints and code-a-thons. The best known effort is undeniably the Google Summer of Code (GSOC), but plenty of mentoring happens on a smaller scale.

I asked people from several open source communities to share their mentoring experiences. In this article you'll learn what works, what doesn't, and how to encourage these relationships.

In talking here about mentoring, I make a distinction between "learn on your own" (such as examining the changes others make to the code you contributed) and somebody offering specific, individual advice (e.g. "It might run faster if you did this..."), particularly in an ongoing personal relationship. For more on mentoring in general, see my older article, The Executive Woman's Guide to Mentoring.

Just like any family, company or community, open source communities have their own way of doing things, says Grant Ingersoll, a member of the technical staff at Lucid Imagination, the commercial entity to Apache Lucene and Apache Solr enterprise search technologies. "If the project is going to be sustainable, you have to be welcoming of new members." And it's important outside the community, too; sometimes mentoring involves helping companies who are hesitant to adopt open source feel more comfortable, Ingersoll says.

Nor does the effort help your project attract only the raw, wet-behind-the-ears new programmers. It builds loyalty and commitment. For the last ten years, Chris Cormack currently the translation manager for the Koha Open Source Integrated Library System, has acted in a mentor capacity to several people. "I think almost all the people I have spent time with are still active in the community," he says. "Or [they] made a positive contribution to the community/project before they went on to other things."

Creating Mentoring Relationships

It's unlikely that you could be involved in the open source community and remain unaware of Google's yearly sponsorship of open source projects. "Since its inception in 2005, [Google Summer of Code] has brought together nearly 2,500 successful student participants and 2,500 mentors from 98 countries worldwide, all for the love of code," summarizes its website. The company has collected plenty of hard-earned wisdom, and I'll impart some of the lessons learned by Google's Leslie Hawthorn when we get to the specific advice section. (Really, it's coming.)

However, Google is not the only company to contribute in this way. The Ubuntu community, for instance, uses mentoring extensively. Explains Jono Bacon, Ubuntu community manager, people who want to become Ubuntu developers engage in a sponsorship process. The developer contributes a package, which existing developers review; the experienced developers offer comments until the prospective developer is ready to directly contribute to Ubuntu. "We have also run extensive mentoring campaigns in other parts of the community, helping teams to mentor other teams, mentoring at a governance level and more," says Bacon.

Deliberate mentoring is not limited to the "household name" FOSS projects. Abizer Rasheed, president of Effortless 24x7 and sponsor of SimWitty (which I also referenced in my article about sponsoring open source sprints) conceived of SimWitty's mentorship model as a three-way partnership. A sponsor provides high-level guidance, an advisor does the day-to-day mentoring, and then there's the intern or mentee. "Our pilot has my firm being the sponsor, J. Wolfgang Goerlich (a local seasoned security expert) mentoring, and a college student from Detroit interning. We plan to scale the model up with additional sponsors, advisors, and interns," he explains.

While it's ideal to have someone else create the connections, however, it isn't at all required.

3 comments

    Anonymous 2 years ago
    This article on "Mentoring in Open Source Communities: What Works? What Doesn't?" must be a top candidate for the most verbosely irrelevant article of 2009 prize.So many words, so little substance, and finally an "invented" topic. Mentoring is mentoring ... and by definition it's individual and must adapt to circumstances and persons. What's SO special about Open Source Communities that warrants more than a half page comment.Finally, I guess it's much harder writing a concise half page comment ...
    Anonymous 2 years ago
    Great article! I am involved in a great open source project with the Organization For Transformative Works. Like Dreamwidth, we have a very newbie-positive culture. I came on board with the project as a complete n00b, and having benefited from a lot of mentoring am now paying it forward. I think the one thing I'd really emphasise is how much the mentor gets out of helping. Especially as a relatively new coder myself, I find that explaining something to someone else forces me to really take a look and understand it. Often someone asks a question and I have to figure out the answer first. It really keeps me in the game and helps me develop as a coder - and it feels great when I see someone I helped make their first commit.
    Anonymous 2 years ago
    Hello Esther,According to your ealier email, I was one of the examples which you used for this article.I can now say that I have found a very good mentor in TJ (IntuitiveNipple) from the Ubuntu Kernel Team.It took me a long while searching to find someone who was interested in the work I wanted to learn to do.Because I am no longer trying to learn in isolation, I am now making very much quicker progress in learning all the thousnds of things I need to learn in order to do all the things I have long wanted to do.So a very big thankyou to TJ :-)

      Add a comment

      Post a comment using one of these accounts
      Or join now
      At least 6 characters

      Note: Comment will appear soon after you have activated your account.
      Obscene/spam comments will be removed and accounts suspended.
      The information you submit is subject to our Privacy Policy and Terms of Service.

      ITworld LIVE

      Open SourceWhite Papers & Webcasts

      White Paper

      Consolidating SAP Applications to Linux on Power by IDC

      IDC studied a group of enterprises that had deployed SAP applications on IBM Power Systems servers running Linux server operating environments and had been working with those systems for several years. Learn about the results...

      White Paper

      An Interactive eGuide: Open Source

      By now, enterprises are well aware of the benefits of open-source software, which boasts a clean design, reliability, and maintainability, as well as support for standards and community values. But perhaps the biggest benefit is quality; since open-source software users have access to source code, bug fixes and enhancements come from multiple sources, often resulting in superior software.

      See more White Papers | Webcasts

      Answers - Powered by ITworld

      Ask a question

      Ask a Question