[Mailman-Developers] Should we move to Bazaar?

Barry Warsaw barry at python.org
Thu May 3 17:16:57 CEST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On May 3, 2007, at 9:01 AM, Stephen J. Turnbull wrote:

> Barry Warsaw writes:
>
>> think this is a good time to ask whether we should move from
>> Subversion to Bazaar <http://www.bazaar-vcs.org> for our source code
>> revision control system.
>
> I would rank Bazaar(-ng == bzr) third behind git and Mercurial.  I
> like git because it tastes like Mom's home cooking.

Unless there's a strong constituency behind git, I view it as lower  
on the list than bzr or hg, primarily because of my own sentimental  
bias toward a Python solution.  I like having the ability (and  
desire) to investigate and fix bugs in our vcs if necessary.

Steve says, and I agree, that any of the three would suit our  
purposes.  I think any three would be fast enough, easy enough to  
learn, stable enough, and would solve our current issues, so I don't  
think we can go wrong either way.  BTW, I also think that once we  
move to /any/ dvcs, moving among them will be fairly easy.  E.g. we  
could bring up a Tailor instance if we wanted.  The conversion from  
svn can be a bit painful, but it looks like it'll be doable for  
either hg or bzr.

I don't have much time to investigate all the dvcs's out there, so  
unless someone says "you will not be able to live without feature X  
which only D has!", I'd like to narrow the choice down to either  
Mercurial or Bazaar-ng.

> Mercurial is second because it is likely to be the choice of my main
> project, XEmacs.  It has strong recommendations from people working at
> Sun, where it is already becoming widespread.  Documentation is better
> than git's, and much better for the new user.  It's developed by vcs
> pros.
>
> Bazaar is close to Mercurial, for similar reasons (s/Sun/Canonical/).
> However, I give Mercurial the edge because it is being developed by
> people who develop vcses for their own sake, while Canonical has
> demonstrated that their interest in vcses is instrumental to their
> development business.  Nothing wrong with that per se, but I think
> that dvcses have a long way to go to reach maturity (viz Darcs's
> "theory of patches" approach and its innovative and addictive UI not
> yet copied by any of the other main contenders).  I think it's worth
> going with Mercurial for the possibility of picking up on the "next
> next" generation early.  While the whole point of bzr is to be to tla
> as svn is to cvs. :-)
>
> I should remark that bzr's diffs are currently the best in the
> business.  See my reply to Edward Elhauge and also Bram Cohen's blog
> http://bramcohen.livejournal.com/37690.html.  This advantage probably
> won't last long, though---git and Mercurial both have their diff
> commands well-modularized, it won't be hard to add.

I really appreciate the information Steve.  I've just installed  
Mercurial and I'm going to spend a few days playing with it.

> There are a couple of others out there, but I think the main
> contenders are Bazaar, git, and Mercurial.  IMO any of them will do.

Agreed.

>> One more thing.  If we move to Bazaar, I would host the branches on
>> Launchpad.net, which -- full disclosure again -- is developed,
>> managed, and paid for by my employer.  Why Launchpad?  Because it's
>> convenient, I have insiders I can bug, and because it already
>> supports hosted Bazaar branches.
>
> IMO, this is an important advantage to Bazaar.  Similarly, the Debian
> project sponsors a Mercurial host on Alioth, which I would imagine is
> pretty professionally run.  Barry being an insider at Launchpad is a
> good thing, though.  Does use of Launchpad imply access to the patch
> queue manager, too?  Or is that Canonical-only?  (Not a problem if it
> is Canonical-only, but it's a nice-to-have feature!)

Alioth is for Debian only, right?  Would they host Mercurial branches  
for other FLOSS software like Mailman?  If we go with Mercurial,  
we'll need someone reliable to host the official branches.  I  
certainly don't want to do that myself!  Is there a Mercurial  
equivalent to SF for cvs and svn, or Launchpad for bzr?

I asked around about pqm, but right now Launchpad does not provide  
general pqm services.  I agree it would be very cool to have.

>> Let me emphasis that Canonical is in no way driving this.
>
> Good.  AFAICT, Canonical is a big business, it behaves like a big
> business, but it talks like a charity.  Nothing wrong with the first
> two, but the third confuses me.  I'd recommend keeping arms' length.

There will of course be advantages to using Launchpad and bzr, based  
on my relationship with the company that hosts those.  I will, as  
always, strive to be as open and transparent as possible with the  
Mailman project so that you guys can keep me honest.  IMHO I don't  
think Canonical would want it any other way, but that's speaking as  
an insider.  If ever Y'all ever think decisions are not being made in  
the best interest of Mailman, please speak up!

>> I personally think Bazaar+Launchpad will make some of our lives
>> easier,
>
> +1 on that.  I've now done merges of multi-megabyte patches with both
> Darcs and git.  It's thinkable.  Doing it with CVS or Subversion no
> longer is.  (That would apply to bazaar, too, I'm sure, though I have
> no experience with it.)

I agree about cvs and svn.  Wanna compare scars? :)

> One caveat: as the dvcs proponents are always pointing out, it's not
> necessary to actually use them in a distributed fashion.  In fact it's
> *easy* to just drop them in to the same old workflow.  This gives a
> perceptible improvement for insiders, but in open source you can get
> lot more!  I hope, Barry, that you will allocate some time to
> reorganizing the Mailman workflow to encourage participation from
> third parties (eg, Fil, the MHonArc patch, etc).

Absolutely.  The Mailman developer community must grow and the  
development process must become more open.  Moving to a dvcs is the  
first step, but an important one.  There are other things we can do  
to encourage participation as well.

- -Barry

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iQCVAwUBRjn86nEjvBPtnXfVAQIajQP+MsY23H78RWkFFpQmJoS6q7IcKnrc1abp
ZunpiXy+1ClW35MUMooIOTsZ0p1H473rP6EISUDYzgKgvTqc3oQ1fifEZgXeUE48
L8gsbhUis4aCWXvcmROx6BY5tZ2A7FeLj+gWLTNYOT4nCDaJSUFi1bWiLIj3PTkH
8amYEL87p+o=
=9mEU
-----END PGP SIGNATURE-----


More information about the Mailman-Developers mailing list