Says Apache Lucerne's Ingersoll, "The deliberate ones (GSOC and a few others) involved explicitly recruiting certain people based on their credentials, etc. The others likely just start from exchanging e-mails, answering questions, helping them work through their contributions."
Plenty of mentoring relationships evolve spontaneously. Joe 'Zonker' Brockmeier, openSUSE community manager at Novell, has seen people interested in packaging for openSUSE who started by asking a few questions of the maintainers. As they continued working, it evolved into a more consistent mentoring relationship, until the packager became competent and started running on his own.
One delicious example of a spontaneous relationship that worked is the one between Koha's Cormack and Nicole Engard (http://web2learning.net), Koha's documentation manager and soon to start a new day job as director of open source education at ByWater Solutions. Engard joined the Koha community in 2008. "I was excited to be a part of something so awesome -- and rare in the library world -- but a bit nervous about jumping into something that was so well established," she says. Cormack, one of Koha's original developers, took Engard under his wing. "He taught me the ropes, he never, ever said I had a stupid question. He never ignored me. He has always been patient and willing to walk me through things." Distance didn't matter; Cormack is in New Zealand, and Engard is on the U.S. east coast. "There is a huge time difference for us; he is often helping at midnight his time," she says with heartfelt appreciation.
That's not to imply that every would-be contributor appreciates help. Some folks never quite grok that an expert's desire to "pay it forward" means the expert owes you that favor to you personally. Cormack's mentoring relationships "have all evolved from people asking questions on IRC or in the mailing lists. Then following up the answer with a thank you; usually the ‘thank you' is what gets me hooked."
A Culture to Encourage Helpfulness
One major influence is creating a welcoming environment where people feel safe enough to "ask a dumb question." How okay is it, in your community, to have no idea where to start? How clear is that path for those people? Who steps forward to make them welcome?
Why yes, I am thinking about that grouchy person in IRC who answers all nervous tentative questions with "RTFM." Not everyone needs to be the Welcome Wagon -- but someone ought to be.
My definition of mentoring encompasses one-on-one relationships but groups can have that role too. A computer user group is inherently about educating others, especially when it actively encourages new members to get involved. That was so for Jim Keenan, founder of Perl Seminar New York, who got involved in the Phalanx project (it aims to extend the test coverage and documentation of important CPAN distributions) organized by Perl Buzz's Andy Lester. "Three or four of us met once a month in a bar on a Saturday afternoon for about four months. Only one of us was a full-time IT guy; it was the first time I had worked next to someone employed at a fairly high level in the business."
Cross-team partnerships are another way to promote mentoring, according to Denise Paolucci, co-owner of Dreamwidth Studios, a LiveJournal fork. "We have teams for things like site documentation, technical support, QA/testing, accessibility, styles (journal layouts), etc.," she says. Those teams commonly work with each other and with the programming/development community. "If someone's working on a new feature, they can post and say ‘Hey, I'm doing this thing and I need an opinion from someone in accessibility about whether I should do this or that.'"
Sometimes, participants have to earn the attention of senior contributors. Frank Koehl, founder of Fwd:Vault, cited his experience with the Zen Cart project. It fosters a vibrant support community, he says; however direct, unscheduled contact with team members is strictly prohibited. Team attention came to Koehl after he released a custom reporting tool and several other modules to the project, culminating in an offer to join as a support team member. "Here, (finally!) begins the mentoring," he says. "The team shared their private development plans so I could coordinate my modules with the release schedule, and offered direct advice on how to improve my offerings. In turn, I provided feedback on my experience with the program, offering recommendations on future areas of improvement."
Enough already with the heartwarming stories. It's time to get to specific suggestions.