
Sven Panne
The learning curve for CVS-aware people is extremely low with subversion,
In my experience, darcs has the lowest scm learning curve, especially for users who haven't used an scm before.
So my question in a nutshell: Why shall we move away from the mainstream when the rest of the world (or most of) is quite happy with CVS or is moving to subversion? I'm not completely against it, but we should have very, very good reasons to do so.
P.S.: Yes, I'm aware of other development models like the one used for the Linux kernel, where CVS/subversion are not appropriate, but is fptools really a similar project? I don't expect hundreds of people working in a very distributed manner on extensions of e.g. a type checker... :-]
There are many projects (including fptools) to which I would have contributed patches if the startup cost of sending a patch weren't so high. With darcs, every checkout is an independent repository, and if you have a working sendmail/MAPI setup you can send any changes you make back to the source of your checkout with a single command. With darcs I immediately get the benefits of source control without needing to make a separate copy of the master repo. With svn or cvs, I can't locally get all the benefits of the system without a user account for the repository. With cvs/svn I can't hack around in an anonymous checkout and only commit my patches back to the original repo once I've decided I want to join the project. darcs doesn't require a unix account for committers, it can receive and authenticate patches via gpg-signed emails. Why should authentication information be tightly bound to a repository? Non-core members can share patches. If darcs sends to a public list anyone who absolutely needs a patch can apply it before it gets to the main tree. That patch will still work even if the patch never gets to the main tree. There are a large number of potential committers on the #haskell irc channel alone. Lots of people end up wishing for small changes to the code in fptools but usually end up forking a library or module for their product instead. lambdabot, the Haskell irc bot is a good example of the low cost of patch submission encouraging rapid development. There's a surprising number of people who've committed small but useful features because it's so easy to do. (Much of this content is paraphrased from a recent conversation on #haskell. Several people contributed salient points.) -- Programming is the Magic Executable Fridge Poetry, | www.ScannedInAvian.com It is machines made of thought, fueled by ideas. | -- Shae Matijs Erisson