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.

Page 4 of 4

Put Someone in Charge of Mentoring

As PostgreSQL's Berkus said earlier, many developers are not suited to social interactions. That's fine; we all contribute based on our strengths and our interest. But several FOSS experts argue that projects ought to have someone who supervises mentors, connects people, or otherwise takes action on community health. At least one person on your project should have excellent social and interpersonal skills, and it's a skill that needs to be appreciated. "A lot of geeks I know deride that kind of thing as touchy-feely bullshit," says Dreamwidth's Paolucci, "But it does lead to a much smoother community experience and a far more comfortable environment."

Berkus points out that the person supervising the mentors might be a member of your project core team. "Or it could just be a committed, diplomatic, and fair person with lots of free time who cares about new people learning the project." (I hope this makes you think, "Hey, I know just the right person we should ask...")

It's also pragmatic. Says Ubuntu's Bacon, "While you can have a general mentoring campaign, it is always more effective to directly connect the dots and hook a mentor up with a student." But there are other relevant duties. One example is helping up-and-coming leaders and prominent contributors to learn from established leaders, says Bacon. "I have also helped connect Ubuntu LoCo teams directly to each other, and members of my team have helped build mentoring relationships around developer education and bug workflow," he says.

For a successful Summer of Code, for example, the SoC administrator is probably more important than the SoC mentors, according to Berkus. "PostgreSQL didn't participate in SoC this year because we couldn't recruit a good administrator," he says, citing as the responsibilities:

  • Establishing the mentoring project's standards and deadlines.
  • Performing status checks on how the project/mentoring is going.
  • Arbitrating arguments between mentor and mentee.
  • Getting a substitute mentor if the first mentor doesn't work out.
  • Arranging recommendations/credit if the mentee needs them.
  • Making sure that the mentoring project isn't wasted by making sure it's still in line with project goals/deadlines.

A primary role for Nancy Garrity, Alfresco community manager, is making it as easy as possible for the community to contribute. "Our community is growing fast; we now have more than 100,000 members so there are always new people who need help." The community manager role for Alfresco extends beyond mentoring, such as forum management, code camps and local user groups.

Measuring Success

For the Google Summer of Code, the success is measured purely on what the mentors think of their students' progress. Hawthorn says, "Success is going to be dependent on what you ask them to do, and that depends on who the person is. Sometimes your biggest victory is to get the person to communicate more openly." For example, the mentee might have become a subject matter expert on a particular codebase, and at the end of the exercise she's more willing to answer questions in IRC.

Every project defines its own way to judge progress. For SimWitty's Rasheed, it has little to do with developing code and more to do with developing opportunities. "Considering what's going on today in the market, in Michigan and Detroit in particular, there is a real need for help. People are looking for employment. Employers are looking for technical skills. But there is a gap between what people know and what employers need. So SimWitty is a way to grow people, get them experience, and eventually connect them with employers. SimWitty allows us to create a win-win-win model."

It is, undeniably, a rewarding experience for both mentors and mentees. Lucid Imagination's Ingersoll has formally mentored two students through GSOC and done informal mentoring for various Apache Software Foundation projects he's involved in. Some of his personal gains were measurable, such as increasing his knowledge of machine learning (the mentee knew more about the implementation). "I think you learn to be more patient ... Besides, it's a way of giving back for all that I've gotten from community," he says. "I also try to encourage new programmers to pick an open source project to contribute to early in their career, as it will often open doors for them."

The benefits are not only warm-and-fuzzy; they can also be good for business. The relationships Koehl made in the Zen Cart project extended well outside its borders, he says, and today he considers the team members professional colleagues. "I contact the team members any time I needed advice or support on my projects, Zen Cart-related or not. I just had a phone call with one of them last week to discuss online billing setups for my current project, Fwd:Vault. Who better to seek help with online payments than the programmer who's checkout code has reached "featured cart" status with PayPal?"

The mentee, of course, gains technical knowledge -- and often a lot more. Mel Chua, a new community engineer on Red Hat's Community Architecture team, says, "My open source community mentors have literally changed my life. They've taught me skills, introduced me to people, and even sent me on trips to places I'd never be able to visit otherwise. But more importantly, they've taught me different ways of thinking and looking at the world. I'm starting my dream job at Red Hat this coming Monday because of them; I consider myself the luckiest person in the world because I get to join the same team as several of my mentors and essentially learn from them full-time. It's an honor to be able to apprentice under people like Max Spevack, Greg DeKoenigsberg, Karsten Wade, and Paul Frields."

Ubuntu's Bacon sums up the benefits when he urges open source projects to make use of mentoring. "It is a powerful method of sharing skills and ideas, but start simple. Define some relationships and check in to see how things are progressing. Mentoring is not about hooking two people together and then forgetting about it. Check in with them to see how they are doing, how they are progressing and what help they may need."

Want more open source analysis and advice? Sign up for an RSS feed for Esther Schindler's Great Wide Open blog, and sign up for the IT World open source newsletter. You might even want to follow Esther on Twitter.

| 1 2 3 4 Page 4
ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon