[darcs-users] Darcs and Operational Transformations (Team ECOO)

Eric Kow kowey at darcs.net
Mon Sep 14 15:47:25 UTC 2009

Dear Darcs-Users, Team ECOO and William Uther,

Last week I had the great opportunity to meet and talk about Darcs with
members of Team ECOO in Nancy.

Team ECOO are an INRIA research group that working on lots of different
topics related to computer-mediated cooperation <http://ecoo.loria.fr/>.
They have a special interest in (distributed) revision control systems,
wikis and other such software.  The team has a lot of experience working
in distributed revision control; in fact they have even put together a
patch-based system known as 'so6' ("saucisse") with some intriguing
similarities to Darcs.

Overall, the purpose of this meeting was for Darcs to start cultivating
a long-term relationship with the research world.  There is a lot of
work out there on advanced revision control.  If we could only make sure
that we're all talking to each other on a regular basis, perhaps we
could pool our efforts somehow.  Maybe one day, we can put revision
control back on the map as a serious research topic.  Maybe one day, we
can give these Gits a run for their money.

The meeting was long and interesting.  I presented Darcs a little bit;
we talked about the formal properties that Darcs tries to ensure and
also about the potential relationship between Darcs and Operational
Transformations.  I hope to put together a more detailed write-up about
the things we talked about.  Here I just want to give a very quick

1. I talked about some key Darcs features: dependency inference
   and pervasive cherry-picking (even in our undo operations).

2. Pascal Molli brought up a standard test from the
   Operational Transformations literature (TP2;

3. I discussed how Darcs patch theory can be seen as a sort of
   multi-layer onion:

     a. properties of the commutation/inverse operations
     b. conflicts (eg darcs-1 vs darcs-2)
     c. definition of primitive patches and commutation
     d. conflict marking

  Here I was trying to convey the idea that while the bug above was on
  the level of (c-d), what the Darcs community is most pre-occupied with
  at the moment are (a-b), which we think we may be able solve
  independently of each other.

4. We talked about the relationship between Darcs and Operational
   Transformations.  If I can give a caricature of the state of

    * OT has definitions and proofs of formal properties
    * Darcs has a story for conflicts (ie. parts a-b above).
      Our story may not be perfect (exponential merges, open questions),
      but it's out there in the wild and mostly works in practice.

5. We suggested some interesting steps forward such as

   * Within the Darcs community? Attempt to formulate Darcs (3a) in
     terms of Operational Transformations

   * Within the ECOO team?  Study the Darcs (3b) story for conflicts
     and compare with previous work on OT 'conflict objects'.  I
     still think that the Darcs idea that 'conflicting patches cancel
     each other out' is potentially new and interesting for ECOO

   * Within the Darcs community? Read up on OT literature (in
     separate mail) on formal properities and proofs thereof
     (Could be very interesting for Ian and all his Coq-writing

   * Darcs and ECOO: Bring a Patch Theory Expert (ahem Ian?) to Nancy so
     they cane talk to Team ECOO!

6. Team ECOO talked a bit about some new directions they are
   exploring in conflict-free revision control.  It sounds rather
   familiar to Jean-Phillipe Benardy's work on Focal.

Apologies if I've glossed over or misunderstood anything important!
I hope to follow up one this with a few more concrete details.

Many thanks to Claudia Ignat, Gerald Oster and the rest of team ECOO for
this opportunity.  I hope we can continue this discussion and keep on
exchanging ideas :-)

Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20090914/903c1745/attachment.pgp>

More information about the darcs-users mailing list