Launchpad now gives you a simple but effective framework to manage mentorship within your free software community. You can:
- offer to mentor people who want to try and fix a bug or implement a blueprint
- produce lists of the items for which mentorship is available that are relevant to your project
- provide a list of items which would be a good starting point for someone wishing to join one of your teams
- see what offers of mentorship a particular member of your community is making at any time
- use this system even if you track your bugs in a different bug tracker than Launchpad
- avoid bureaucratic processes - the mentoring system is entirely based on the commitments made by individual team members and requires no administrative oversight
Introduction to the Launchpad Mentoring System
Launchpad helps you arrange mentoring within your community. Many open source communities want to provide a simple way to guide new participants towards work that will be a useful contribution and for which mentoring is available, and the Launchpad mentoring system is designed to deliver exactly this capability. It allows existing members of the community to indicate which bugs or blueprints they are willing to provide some mentorship for, and then creates lists of these items organised by project and by team. It makes for a very lightweight but useful framework to which newcomers can be pointed.
First, let's clarify some useful concepts and terminology.
Teams are a core part of Launchpad. Anybody can create a team, and then manage the membership of that team over time. You can have open teams, which anyone can join whenever they want, and closed teams, which require some approval before you can join them. Teams are used in Launchpad as a way of organising communities, and the mentoring system takes advantage of this. Often, people want to join a particular team (such as the [https://launchpad.net/~ubuntu-dev ubuntu-dev team], who can upload new packages to Ubuntu). The Launchpad mentoring system allows us to point these folks at a [https://launchpad.net/~ubuntu-dev/+mentoring list of bugs and blueprints] which we think would be relevant for someone wanting to join this team, and for which mentorship is available. The Ubuntu community, for example, is made up of several hundred teams, and each of those can maintain a list of bugs and blueprints which are relevant to them and which people are willing to offer mentorship for. That means that newcomers can always be pointed to a single URL for a current list of "low hanging fruit", items that can be implemented easily and where an existing team member is available to answer questions.
Bugs and Blueprints are two "units of work" that we keep track of using Launchpad. The bug tracker in Launchpad has two particularly useful design elements: first, it allows you to track a single bug in multiple places (such as an Apache bug that is being discussed separately in the upstream, Ubuntu, Debian and Red Hat communities) and second, it can reach out to and integrate with third party bug trackers (so, in the previous example, each of those conversations would be happening in a separate bug tracker but Launchpad keeps track of the status in each of them individually and presents them all in a central location). The Blueprint system is designed to help open source projects plan their work - each feature that is planned is called a Blueprint, and the status of that feature, both design and implementation, can be tracked and managed in Launchpad.
That's all you need to know about Launchpad in order to use the mentoring system.
Anybody who is a member of at least one team can offer mentorship.
Why do you need to be a member of a team? Well, each offer of mentorship is associated with a team that will benefit most by having that particular bug fixed, or blueprint implemented. When you make the offer to mentor someone trying to do this work, you choose which of the teams you participate in as the "beneficiary". For that reason, only people who participate in a team can offer to provide mentorship.
So, first make sure that you are actually a member of a team. Login to Launchpad and click on your name in the top-right corner of any page in the system - you will go to your own home page. You may have to click on the "Overview" tab in order to see a summary of your account. Are you a member of one or more teams? If so, perfect, you can offer mentorship to people who wish to become members of those same teams.
Now find a bug or a blueprint which you think is a good candidate for mentorship. This means that:
- it's a relatively straightforward piece of work for someone who wants to be a member of one of your teams.
- you know how it should be done, and are confident that if its done that way the work will actually be accepted by the relevant project, rather than being rejected and discouraging the person from contributing further.
- you are willing to be responsive to questions from someone trying to do the work.
- you think it is relevant work to one of the teams of which you are a member.
If the bug or blueprint is not yet implemented or fixed, you will see a link on the page to "Offer mentorship". Click on the link, and you will be presented with a very simple form. Choose the team in which you participate and which you think will most benefit by this work being done, or for which you think this work would be a very good "entrance test", and click "Continue".
That's it! Your name will appear on the bug or blueprint page as a mentor, so people can contact you directly to discuss the work further. Also, your offer will show up on the relevant project mentorship page. See, for example, the [http://launchpad.net/ubuntu/+mentoring Ubuntu mentorship offers] page. On your own Launchpad home page, you will see a link to a page that lists all the offers of mentorship you are currently extending.
Retracting offers of mentorship
If you are unable to meet the commitment of mentorship, it would be best to retract your offer.
Go to the page of the bug or blueprint concerned. Your name should be in the list of mentors on the page. In the actions menu you will see a link to "Retract mentoring". Click on this, and then confirm your decision by clicking on the "Retrack" button presented to you.
When you retract an offer of mentoring it will disappear immediately from all the lists where it was previously displayed.
Note that you can only retract such an offer while the bug or blueprint is incomplete. Once the bug is completely fixed, or the blueprint is implemented, you can't make or retract an offer of mentorship.
Listings of mentorship offers include only those items which are currently incomplete. As bugs get fixed and blueprints get implemented the corresponding offers of mentorship are automatically removed from the relevant listings. A listing only includes unfinished items where work will make a real contribution.
You can see the offers of mentoring that are relevant to any project, distribution or group of projects in Launchpad. For example, here is a list of [https://launchpad.net/ubuntu/+mentoring mentoring relevant to the Ubuntu project] and another one that shows [https://launchpad.net/bazaar/+mentoring mentoring relevant to the Bazaar version control system].
Note that a bug can be associated with multiple projects, because the same code might be used in multiple places. For example, a bug in an upstream project might also show up in an Ubuntu package and a Gentoo package, and so mentorship for that bug would be relevant to the upstream, to Ubuntu and to Gentoo. For this reason, mentoring offers on these bugs can show up in multiple places.
Each offer of mentorship is associated with a particular team. Multiple people can all offer to mentor someone working on the same bug or blueprint, and each of them can "assign" that mentorship to be relevant to a different team, of which they are a member. The net result is that the same item of work can show up in the listings for multiple teams. That's fine! in fact, we'd urge you to encourage people to offer to mentor any bug or blueprint they think they can provide a good level of feedback on to make it as easy as possible for newcomers to the community to start making a real contribution.