[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Unmaintained Packages



On Tue, Aug 12, 2003 at 11:23:01AM +0100, Colin Watson wrote:
> On Tue, Aug 12, 2003 at 07:49:34PM +1000, Brian May wrote:
> > On Tue, Aug 12, 2003 at 09:32:38AM +0100, Colin Watson wrote:
> > > If you can't tell, I'm allergic to this "let's rewrite it from scratch"
> > > thing that seems to be popular lately. If you have something good that
> > > has some problems, don't try to solve those problems by throwing it out
> > > and starting again! All you'll do that way is come up with a whole new
> > > set of problems. The only excuse for rewriting from scratch is when the
> > > old code is unmaintainable, and (on the basis of the small hacks I've
> > > made to dpkg in the past) I don't see any evidence that it should be
> > > unmaintainable by competent people.
> > 
> > Sometimes rewriting from scratch can be a good thing.
> > 
> > You can learn from design decision mistakes made in the previous version
> > instead of constantly patching over them.
> > 
> > Just because dpkg is not unmaintainable in your opinion doesn't mean
> > the design can't be improved to make it more flexible, for example.
> 
> In my experience, this is almost always better handled by gradual
> rewriting than by a total ground-up effort. You get validation at each
> stage; it's easier for other people to review the changes and confirm
> that functionality and correctness haven't been lost; and you can
> introduce improvements to users more quickly because they don't have to
> wait until a huge rewrite-from-scratch is stable enough to deploy. There
> are exceptions, but I believe they're very rare.

There's one problem that dpkg has which most other things don't, which
would make 'gradual change' into an extremely painful thing, if even
practical: the Debian release cycle.

For good or bad, Debian releases are taking *at least* 2 years, these days.
And dpkg, being part of the core setup, can only make significant changes
in 2x that amount (one release to introduce new stuff and deprecate old,
one release to get rid of the old).

4 years per gradual change is not exactly a stunningly good time to
try to rewrite things piecemeal. There are processes that allow you
to do that, and do it well - XP is one of several (perhaps the best
known). Every single one of them has a very strict requirement, though -
a short development -> deployment cycle, so that incremental changes will
eventually get somewhere useful.
-- 
Joel Baker <fenton@debian.org>                                        ,''`.
Debian GNU NetBSD/i386 porter                                        : :' :
                                                                     `. `'
				                                       `-

Attachment: pgpviZxdIQBSu.pgp
Description: PGP signature


Reply to: