Roadmap

Overview

After the release of darcs 2.0 the user community became unsure of the future of darcs development. We have ambitious plans for darcs and we see that we must do a better job of communicating these ambitions.

An important meta goal is to lower the barrier to entry for new darcs developers and casual contributors. To help achieve this we are excited about improving source level comments including adding Haddock style documentation. Another goal is based on the canaries below. We learned from the GHC team's evaluation that darcs2 has too many performance regressions and these need to be corrected ASAP.

How can I help?

You can help by looking at our release goals below. Currently we need people to read through the source code and ask us questions, preferably on the darcs-users mailing list. This will help us focus our documentation efforts. You can also help by simply building a version of darcs for profiling and sending us your profiling results and a reproducible benchmark.

darcs 2.3.0 (2009-07)

  • Issues targeted for this release: Target 2.3
  • documentation
  • haddock repository manipulation (PetrRockai)
  • code quality
  • complete haddocks for the following 5 modules: (to be chosen...)
  • issue1149
  • detect gzip crc errors and provide ways to fix them

    • In progress. Waiting for next zlib release, and for Ganesh's go-ahead (plus code review)
  • performance enhancements

    • filecache
    • packs...
    • hashed-storage index file (PetrRockai)

darcs 2.4.0 (2010-01)

  • complete type witnesses work (progress: 99/134 modules)
  • sort out XML and encodings issue (issue64 and issue33)
  • improvements to libdarcs, based on any user experiences with (lib)darcs 2.2
  • Haskell-only libdarcs with writing
  • continue adding haddock comments
  • continue adding unit tests

future darcs

  • improved conflict marking issue833
  • seamless integration with git, svn, etc

Canaries

Canaries are projects/people which can give us an indicator on how well darcs is doing, that is, how useful darcs is wrt the pain from the various performance issues and bugs. They provide us with some combination of thoughtful, articulate, vocal, demanding and possessor-of-large-repositories.

  • the darcs team (how does that dog food taste? lovely, thanks, now that we have darcs 2)
  • John Goerzen (Haskell heretic ;-) switched to Mercurial, wrote some detailed comparisons)
  • the GHC team (switched to git)
  • the Tahoe team (apparently much happier with darcs 2) -- Well I, Zooko, am a member of the Tahoe team (http://allmydata.org), and I'm pretty happy with darcs-2, but my partners are not entirely happy with it. I would be happy to relay their concerns (or ask them to do so) now that this page and other developments make it appear as though there is an active and organized community effort which could usefully listen to those concerns!
  • Linus... (one day)

Feel free to add yourself to the canary list, especially if you are switcher in one direction or the other.