Bazaar on the slow track

Did you know...? LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

The Bazaar (or "bzr") version control system lacks the visibility of systems like Git or even Mercurial. That is not to say that it is an insignificant project: it has a dedicated following of its own, it is the system used internally at Canonical, and it has been designated as an official GNU project (meaning that other GNU projects are expected to use it). So one would not think that Bazaar was a project in danger of running out of steam and grinding to a halt. But that, it seems, is exactly the scenario that some of its users are worried about.

Stefan Monnier kicked off the discussion by noting that the number of commits to Bazaar has been dropping and that bugs are not getting fixed. The departure of lead developer Martin Pool from Canonical (and from the Bazaar project) has certainly not helped the situation. So, Stefan said:

[A]s unfixed bugs accumulate, I'm beginning to feel a bit like in the bad CVS days where you just had to get used to circumventing its limitations, for lack of actual development.

Some participants questioned whether there was a problem, noting that commits continue to flow into the Bazaar repository. But Matthew Fuller ran the numbers and came to a fairly clear conclusion:

From even a casual glance, falloff in bzr.dev landings is pretty obvious. Through most of the history (looking at the month level), bzr.dev averages at least a rev a day, not uncommonly twice that. But the last 5 months put together don't even reach the single month average. It's no proof of development stopping by any means, but it sure is a red flag likely to lead people to that conclusion.

This slowdown has happened despite the fact that a new major release (2.6) was expected in August. When that release does happen, the list of new features seems unlikely to knock the socks off many users. Bazaar, as a project, may not be dead, but it shows signs of going into a sort of maintenance mode.

What is going on?

Once one accepts that development on Bazaar is slowing, it is natural to wonder why that is and what can be done about it. One possibility is that the distributed version control problem has been solved and that there is little need for more development. After all, significant projects like bash and make have not shown blistering rates of development; there simply is no need at this point. In the distributed version control system area, though, it would be hard to say that there are no challenges remaining. Projects like Git and Mercurial continue to evolve at a high rate. So, in a general sense, it would be hard to say that Bazaar is slowing down because there's nothing more to do.

That doesn't mean that Canonical, which has sponsored most of the work on Bazaar, sees more that needs to be done. Indeed, according to John Arbash Meinel (Martin Pool's replacement as Bazaar lead developer), Canonical is happy with the current state of affairs:

I think fundamentally Bazaar does most of what Canonical needs, and the team has been focusing more on other bits around Bazaar (Launchpad, package-importer, bzr-svn integration, etc). Also, Launchpad and Bazaar have never really been meant as products in their own right, but more as facilities to build Ubuntu. And while not perfect, they do a pretty darn good job of it, and it makes sense to focus more on other areas of development.

He added that Bazaar wasn't in danger of disappearing anytime soon. "It is still being actively maintained, though a little less actively than last year." That statement was seen by some as an oblique way of saying that Bazaar is now in maintenance mode — a prospect that was not seen as particularly reassuring by Bazaar users.

Of course, Bazaar is free software, licensed under the GPL, so anybody is free to step up and carry it forward. Thus far, though, that has not happened. Once again, it is worthwhile to think about why that might be. Possibly Bazaar users got comfortable with Canonical carrying the load of Bazaar development and have not, yet, felt the need to help out. Over time, some of these users might decide that it is time to pick up some of that load going forward. Or they might just switch to another system with a more active community.

One possibility, raised by Ben Finney, is that Canonical's much-maligned contributor agreement is a part of the problem. This reasoning says that, since Canonical reserves the right to release contributions to Bazaar under proprietary licenses, many potential contributors have voted with their feet and gone elsewhere. It's far from clear that the contributor agreement is really part of the problem, though. If there were really a community of developers who would contribute if only the terms were more fair, an agreement-less Bazaar fork would almost certainly have emerged by now. The fact that nobody has even attempted such a fork suggests that Canonical's agreement is not really holding things back.

Stephen Turnbull had an interesting alternative explanation for what is going on. Bazaar, he says, is a tool aimed at users who want their version control system to "just work" without them having to think about it much. Git, he says, is a different matter:

Many of those who chose git also made a deliberate, informed choice, knowing that use of git requires both an investment in learning about the tool and, often, day-to-day thought about workflow. My suggestion is that such people are on average more likely to contribute to git than the average bzr user is to contribute to Bazaar.

Some participants saw this suggestion as a sort of insult against Bazaar users, saying that they lacked the ability or the drive to improve the tool. But that is not what Stephen was saying; his point is that, by appealing to users who don't want to have to think about their version control system, Bazaar has created a user community that is relatively unlikely to want to put their time into making the system better.

There is an alternative that nobody has mentioned in this discussion: perhaps Bazaar has simply lost out to competing projects which have managed to advance further and faster. For sheer functionality, Git is hard to compete with. For those who are put off by the complexity of Git, Mercurial offers a gentler alternative without compromising on features. Perhaps most potential users just do not see anything in Bazaar that is sufficiently shiny to attract them away from the other tools.

If that is the case, it is hard to imagine what can be done to improve the situation from the point of view of Bazaar users, especially given that Canonical has lost interest in adding features to Bazaar. Perhaps, as Ben suggested, another corporate sponsor could be found to take up the Bazaar banner. Failing that, Bazaar seems likely to stay in maintenance mode indefinitely; it will remain a capable tool, but will find itself increasingly left behind by the other free alternatives.

