Mercurial Maintainer Fellowship, 2011-2012 Introduction ============ This grant proposal solicits funding to provide a full-time fellowship for one year for Matt Mackall, who currently is the primary maintainer of the Mercurial distributed version control system (DVCS). Mackall is widely considered the key individual who keeps improvements to Mercurial coming, who reviews, organizes, plans and executes on new features and improvements to Mercurial, and who coordinates, organizes and mediates the work of a disparate population of volunteer contributors. Development and improvement of Mercurial (as with most Open Source and Free Software) is done as a collaborative process between volunteer, corporate, and academic contributors. A project's maintainer works to balance the demands, feature requests, and improvement submissions from all parties to shepherd the software in the best direction. Mackall has a proven track record of excellence in his work as maintainer for the Mercurial project. Work Plan ========= Code submission review (20%) This is the most important task: reviewing, critiquing, and integrating code submissions from our hundreds of volunteer contributors. Volunteers are the project's primary resource and timely review of code is key to increasing involvement. Mailing list participation (20%) Mailing lists are our primary tool for communication, both among developers and with our users. Keeping these communities active and on-track is an important part of the project. Bug report triage (20%) Timely attention to bug reports helps us keep a handle on project quality. Mackall reads each bug report and try to ensure that they all get responded to. New feature development (15%) While Mackall encourage volunteers to dive into working on code at all levels, some more challenging features require his direct attention. IRC office hours (15%) Mackall makes himself available on a daily basis for realtime discussion with other developers and users. Release management (5%) The Mercurial community makes a steady stream of monthly software releases. Mackall handles the release process directly. Other (5%) Mackall is also involved in efforts including administering our servers, editing our wiki, planning international developer meetings, mentoring students, doing interviews, blogging, etc. This Work Benefits the Entire Free Software Community and General Public ======================================================================== A distributed version control system (DVCS) is a key software development tool used by most Open Source and Free Software projects. A DVCS allows developers from around the world to make and propose improvements to the software, all the while keeping careful record of their changes, and then submit those changes for inclusion in the primary version of the software. Collaboration through DVCS can happen even in network-disconnected environments, since changes can be developed locally and then later shared via various means when a network connection becomes available. DVCS has revolutionized development of software freedom projects because it allows more people to contribute to a single project, thus allowing for greater and more diverse collaboration and contributions from the entire public. Furthermore, a DVCS' ability to operate in a network-disconnected way opens the opportunity for collaboration with those individuals living in areas with limited or slow network connectivity. Furthermore, DVCS' are designed to give software users freedom to make modified versions and improvements on their own. Using a DVCS, it's trivial to create one's own version of the repository and "fork" the software. Of course, most forks are temporary as community members typically contribute their improvements back, but the ability to adapt and suit the software to ones' own needs is an important issue of freedom; DVCS's provide an easy route to exercise that freedom. Mercurial is one of the worlds' most widely used DVCS systems and it is the primary one used in the Python programming community. Improvements and advancements to Mercurial will benefit a wide range of users and the general public as a whole. Meanwhile, Conservancy's funding ensures that the primary maintainer of Mercurial, Matt Mackall, remains a neutral party who carefully ensures that the needs of all users are taken into account and the development of the software continues in a way that will be most beneficial for all. Mackall and Mercurial's other developers make all Mercurial software available to the public without charge, under Mercurial's Open Source copyright license, the GNU General Public License (GPL). Mercurial's license assures that Mercurial is equally available to everyone freely on terms that allow both non-commercial and commercial activity. However, the "copyleft" nature of the GPL does not permit distribution of any derivative works that are not made available to recipients under the same terms that encourage and allow sharing and improvement of the software. Thus, Mercurial's license maximizes the ability for academics, for-profit software developers, volunteers and enthusiasts alike to collaborate together equally to make a better DVCS for everyone. Past Successes ============== Mackall was previously funded for one year from mid-2010 to mid-2011 to maintain Mercurial. Over this period, Mackall authored himself at least 515 new changesets, and reviewed and merged at least 2,382 changesets proposed by members of the Mercurial development community. Additionally, Mackall held regular IRC office hours and organized many developer meetings, as well as consistently helped users and coordinated with other users on the project's mailing lists. Mackall also handled 12 official Mercurial releases during this period. Conservancy is excited for the opportunity to continue funding Mackall full-time to continue this excellent work, and hopes that you'll give generously to this campaign.