Hi Gwern,

Let's have another look at this.

On Fri, Nov 21, 2008 at 16:46:42 -0500, Gwern Branwen wrote
> Eric, now that you're project lead, do you want to reconsider Dr.
> Roundy's decision to refuse this patch?

Let me preface this by saying that I am committed to us spinning off
darcs code into third party libraries, some ideas for which being listed
on this page:
  http://wiki.darcs.net/index.html/DarcsLibraries

But I also agree with David that we should be very careful not to
silently break compatibility with old formats and old repositories.

On Tue, Aug 19, 2008 at 10:05 AM, David Roundy wrote: (quoted by Gwern)
> > As I mentioned before when asked about this, I don't think it's a good
> > idea.  No reason to add the extra complexity for a function that we
> > only use to maintain compatibility with old repository formats.  The
> > best way to keep compatibility with old formats is to not change the
> > code.

So before making a decision on this, I would at least like to see
some research done on the point.  What are we replacing exactly?
What is this function for, and why does David say its only use is to
maintain compatibility with old repository formats?  What are the risks?
Are they worth taking?  (Feel free to just point me to past discussion)

> Now that we're cabalized, we could use flags. (Or just make
> utf8-string a depended-upon package period, I suppose, which would let
> us remove src/UTF8.lhs?)

The approach I would favour to spinning this off is with a highly
controlled phasing out:

 - first rewrite our code to imitate new APIs
 - then add ifdefs with the default being our old code
   (yuck; this is things getting worse before they get better)
 - then switch the defaults
 - then jettison the old code (with great rejoicing)

And to make sure that we keep moving forward on these phases, we should
probably add some notes in a sensible place when we can move forward to
each phase.  Of course, it doesn't have to be this way exactly (maybe
what I propose has serious flaws, like making it unlikely that the new
code be tested thoroughly).  Folks like Duncan can give us better advice
on how to go about this process.  But the point is that we should be
very careful and make sure we do things in a rigorous and
well-controlled way.  And if things still break, then at least we can
say that we took every effort to keep everything working.

Anyway, I am very keen to have you working with us on this! But I would
ask for you to show great patience with our ponderous way of working.
We try to be more conservative than most projects, because the perceived
cost of failure is quite high.  Whether or not we actually succeed in
preventing these failures, I think our users would at least appreciate
attempt at scrupulous care.

P.S.: You may argue that this conservatism is ultimately not in our
users' best interest.  I would welcome a debate on that point, although
maybe in its own thread...

-- 
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9

Attachment: pgpn7olAgczF8.pgp
Description: PGP signature

_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to