Mentoring in Open Source Communities: What Works? What Doesn't?
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.
Read more about open source in ITworld's Open Source section
ITworld
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
On Twitter now
mentor
Powered by TwitterOn Twitter now
mentor
Brian Proffitt
Microsoft/Novell: Breaking Down the Coupon Numbers
Esther Schindler
Drupal's Dries Buytaert on Building the Next Drupal
Tom Henderson
Top Ten General Operating Systems Rants
pasmith
PS3 motion controller delayed; goes up against Project Natal
sjvn
Neolithic Windows security hole alive and well in Windows 7
claird
Perl source code comparison makes for good reading
mikelgan
Cell phones don't create stress or interrupt much
Sandra Henry-Stocker
How to: The Unix Interview
Where Google Chrome security fails: the password
I heard mention that the Chrome OS will have some sort of encryption available a la bitlocker. If it's possible to encrypt personal data using another password or key, then it may have potential for very secure data.... And Ubuntu has an 'encrypt home directory' option, perhaps google should follow suit.
- Dann
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
- Ubuntu advances: Why Ubuntu server installations will surge in 2010
- Social media marketing: How to make friends with benefits
- More...
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.







I finally found a good mentor :-)
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 :-)
Great article! I am involved
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.Mentoring is mentoring ...
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 ...