Open source mentoring

I was quoted in another IT World article last week discussing how mentoring occurs in open source communities. Below is the full text I sent to the author, in case anyone wanted more background on my comments.

In my experience, mentoring in open source projects occurs between the project leaders (i.e. artisans) and their most active community members (i.e. journeymen). In other words, rarely does the complete newbie directly benefit from the knowledge of team. They must first absorb what the team has to offer in the form of their project code — prove themselves worthy, in a sense — and then join the high-level discussions. I have a perfect example from my own experience. The Zen Cart project fosters a vibrant support community, however direct, unscheduled contact with team members is strictly prohibited. Unfettered developer access to the team is limited to a select few community members who are proactively contacted by the team, instead of the other way around. I was fortunate to fall into this category, but it required serious upfront work. I taught myself the Zen Cart platform in order to launch my then-employer’s first ecommerce site. During my time launching and maintaining the site, I developed several utilities for the program in order to fill some holes in their functionality. For example, the available accounting reports were lackluster, so I built a custom reporting tool to output all the sales figures our accountant would need. I released this and several other modules back into the community as a “thank you” for all the support they had provided. Attention from the team followed, culminating in an offer to join them as a support team member. Here, (finally!) begins the mentoring. The team shared their private development plans so I could coordinate my 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. But the relationships quickly extended beyond the Zen Cart project itself, and today I consider 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. Who better to seek help with online payments than the programmer who’s checkout code has reached “featured cart” status with PayPal? In this ecomony, these relationships are invaluable. They have made themselves available as professional references if I need them which, according to one interviewer, just makes my resume levitate off the pile.
The article is chock full of additional insights and perspectives, so be sure to check it out.