GSoC Application 2008
About your organization
What is your Organization's Name?
Mercurial (a project of the Software Freedom Conservancy)
What is your Organization's Homepage?
Describe your organization.
We are basically just a group of people working on the Mercurial distributed version control system. We mostly communicate using our mailing lists and our IRC channel. We are legally part of the Software Freedom Conservancy.
Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?
We hope to gain new developers and some development effort. We also hope we can provide the students that participate with a useful and meaningful Free Software experience.
Did your organization participate in previous GSoC years? If so, please summarize your involvement and the successes and failures of your student projects. (optional)
No, we haven't participated before.
If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)? (optional)
We applied in 2006, but got turned down (or were too late turning in our application).
What license does your project use?
The GNU General Public License, version 2.
URL for your ideas page
What is the main development mailing list for your organization?
Where is the main IRC channel for your organization?
#mercurial on irc.freenode.net
Does your organization have an application template you would like to see students use? If so, please provide it now. (optional)
No, we do not have a template.
Who will be your backup organization administrator? Please enter their Google Account address. We will email them to confirm, your organization will not become active until they respond. (optional)
About your mentors
What criteria did you use to select these individuals as mentors? Please be as specific as possible.
They have made significant contributions to the Mercurial code base and have been active regularly on the mailing lists and/or IRC.
Who will your mentors be? Please enter their Google Account address separated by commas. If your organization is accepted we will email each mentor to invite them to take part. (optional)
About The Program
What is your plan for dealing with disappearing students?
We want all participating students to set up a public Mercurial repository containing any code they write or documentation on their project. This way, at least their work will not be lost should they disappear. Also, we will of course go through some effort to try and retain them, by contacting them by email at least each week for a month before declaring the project as dead.
What is your plan for dealing with disappearing mentors?
Since we have an active community, we will try to deal with this by having the community pitch in at all times. While the mentors will be the primary point of contact for the students, we would like the students to fully integrate into our community, using mailing lists, wiki, bug tracker and IRC to keep in touch. This way, we should be able to compensate for the loss of a mentor by having others contribute some time & effort to the cause. For this, we've already had some buy-in from active developers who do not have the time to be full-on mentors, but who would like to help out on a less fixed basis. We will of course also ask mentors to help out if one of the other mentors is unable to do the job.
What steps will you take to encourage students to interact with your project's community before, during and after the program?
We will ask for their involvement in our community using mailing lists, IRC, wiki and bug tracker. We'd like students to submit a plan containing a number of intermediate deliverables and try to stick to that list. Also, we will of course ask them to use Mercurial for their own work. Even if they just end up using Mercurial, they hopefully will have learned enough about the underlying code to contribute intermittently to a tool they might use quite often (as many developers do with their VCS tools). We also want to ensure that they get prompt responses to questions about the code and requests for comments or review, so that they don't get demotivated to work on the project.
What will you do to ensure that your accepted students stick with the project after GSoC concludes?
By showing them how satisfying it can be to work on a tool like Mercurial and by stimulating good social interaction between existing contributors and the students. Also, the fact that Mercurial is simultaneously a relatively small project (in terms of number of contributors) with some very large deployments (OpenJDK, Mozilla) makes for a very enticing and satisfactory development experience.