Interview with Mercurial's Matt Mackall

by Ostatic Staff - Apr. 29, 2010

Recently, Mercurial author Matt Mackall has decided to try to devote his full time to working on the distributed source control tool. He's doing this by seeking funding from companies that use Mercurial or sell Mercurial-based products.

To find out where Mackall is planning to take Mercurial development, and the state of the project today, we asked if he'd be willing to answer a few questions. Here's what we found out.

OStatic: For those folks not familiar with Mercurial - what is it, and who's using it?

Mercurial is a modern version control system. It's designed to work with very large projects with a minimum of pain. Notably, it's a "distributed" system, which makes it especially well-adapted to working on global and open source collaboration.

OStatic: How has response been so far to the call for sponsors?

Very encouraging. I'm about 2/3rds of the way to my goal. I'm mostly looking for corporate sponsors: companies that depend on Mercurial or who are building products and services around Mercurial. Fog Creek and Google are excellent examples of the last two, and have contributed generously.

OStatic: Are you aware of other projects that are being similarly funded?

Certainly a number of individuals are funded in this manner. For instance, the Linux Foundation gathers donations to pay the salaries of a few key developers. When I approached the Software Freedom Conservancy, they mentioned they were administering a similar project for Twisted.

OStatic: What are the areas of Mercurial development that need speeding?

There are lots of things on our wishlist. But really, this is less about me sitting down and writing lots of code than me catalyzing other contributors' work - giving faster feedback, integrating patches more regularly, and having more time to talk to people about the development problems that require my expertise. Eventually a successful project reaches a size where it needs a full-time project leader without lots of other distractions (like earning a living).

OStatic: What is the funding target for a year?

Let's just say it's a modest developer's salary. It's a lot less than I make with my kernel hacker hat on, but I enjoy it more.

OStatic: How many others are doing "core" Mercurial development?

That's a hard question to answer. We invited about 20 people to our 1.5 developer sprint in Paris, which was about all we had room for.

OStatic: Any idea how many companies / organizations / projects are using Mercurial?

The Mercurial ecosystem has been larger than I can keep track of for a long time. I can't count the number of times I've looked up a project's homepage for some unrelated reason and discovered an "hg clone" url, which always makes me smile. And I get support inquiries from all over the world. About the only thing that's surprised me recently was Microsoft introducing Mercurial support on Codeplex.

OStatic: The unpleasant questions: Mercurial doesn't seem to have as much traction as Git or a backer like Canonical w/Bazaar.

Mercurial has enough traction that there's no danger of it going away, and that's been true since just months after its inception. And while Git admittedly has a somewhat larger following in the Linux ecosystem, it's not at all clear that's true in the broader world. As for Bazaar, it seems Canonical's sponsorship is just barely saving it from obscurity.

OStatic: That said, what are the compelling reasons for adopting (and sponsoring) Mercurial vs. other open source version control systems?

Well the first question is: do you want a distributed system? The answer is yes, but it may be some years before everyone figures that out. As to the question of which distributed system to use, that's a lot like the cola wars: it largely comes down to taste. I guess some people just have no taste, but if git makes them happy, I won't try to stop them. I gave up trying to convince people one way or another years ago.

OStatic: Do you have any plans for promoting Mercurial in addition to the development work to try to boost adoption & contributions?

Frankly, no. I'm not much interested in evangelizing. Mercurial is successful enough that I just don't have time for it, let alone motivation. As for contributions, there are already more than I can manage in my available time, and so a large part of this efforts is to free up more of my time for that.