DaDandMoM

Process to solve the DaD and MoM issue:

  • Write this wiki page
  • Send and RFC to ubuntu-motu mailing-list
  • Discuss it during the MOTU meeting
  • Bring it to the Technical Board

History and current issue

At first there was only one official merge system: MoM (Merge-o-Matic). Albin Tonnerre and Adrien Cunin started developing DaD because MoM was not updated since weeks (hardware problem it seems) and its lack of some features. This was at the beginning of the gutsy development cycle.

Nowadays, it seems that the availability of two merge systems creates confusion, especially for new contributors: which one to use? why are there *two* merge systems? This issue has often been raised in #ubuntu-motu and has created discussions between pro-MoM and pro-DaD. It has been once again recently, and we finally decided to try to make this clearer.

Which one should we use?

Why use MoM?

  1. Official tool

MoM is the official merge system, hosted on merges.ubuntu.com, written by Canonical employees, and has been the only one used by all the developers until DaD's arrival.

  1. Maturity

MoM is older than DaD, has been used by Ubuntu developers for more time than DaD, therefore we can trust it more than DaD because of its maturity.

Why use DaD?

  1. Freedom

DaD is free, open-source, which seems more appropriate to a free OS development context.
Therefore it benefits from patches and contributions from everyone to make it better and better.

  1. Features

DaD has useful features which MoM hasn't.
The more important one is the ability to put a comment for each merge: it is used for assigning, giving the status of the work being done, linking to a bug report (sponsor request, sync request).
Another is the automatic maintainer field update when needed (DebianMaintainerField spec).

Proposals to solve this issue

1. and 2. are the best solutions from DaD's developers' point of view.

  1. Free MoM

With a free MoM, we could join our efforts to make the best merge system ever.
In this case DaD's developers would immediately shutdown DaD and volunteer to help implementing the missing features to MoM.

  1. Put DaD in replacement of MoM on merges.ubuntu.com

Drop completely MoM and put DaD instead, why not...

  • Why not number 1 is there are cases DaD does not support (-0ubuntu1 packages). While I use DaD for most merges, I don't think it's mature enough to replace MoM. I'd suggest removing this option. (ScottKitterman)

    • Right, except that the -0ubuntu1 was fixed a long time ago. The only case where DaD fails currently is when the orig.tar.gz are not the same in Debian and Ubuntu. (AdrienCunin) This has (or should have) been fixed a while back. The main issue atm is that the merges got broken if snapshots.debian.net doesn't have the orig.tar.gz of the 'base' or the current debian version. (AlbinTonnerre)

  • Add DaD's features to MoM, and keep MoM closed

MoM's developers could implement DaD's features to MoM, without making MoM free.

  1. Free only part(s) of MoM, such as the UI

Free part(s) of MoM would allow contributions to improve them.

  1. Something else?

Comments

Mark Shuttleworth said once: We’re committed to reinventing everything we need until the free software stack is a genuinely complete computing universe. Let's get rid of that horrible closed-source MoM! (And then launchpad...) Why would we push free software to people but keep using proprietary software ourselves? Hypocrisy? --TormodVolden

Update

Option 1 got done. They've been merged. DaD is history. Case closed.

DaDandMoM (last edited 2009-04-23 16:35:03 by kitterman)