in reply to Simon Cozens' modules need you!

Modules (and code in general) without maintainers accumulate bitrot over time.

How does code that no one touches worsen over time?

Replies are listed 'Best First'.
Re^2: Simon Cozens' modules need you! (bitrot)
by hv (Prior) on Sep 17, 2004 at 02:43 UTC

    New versions of perl get released, and the code doesn't work with it.

    New/old operating systems acquire a perl, or a user, and the code isn't portable to those systems.

    Bug reports accumulate, feature requests accumulate, doc requests accumulate; the whole lot get swamped in an undifferentiated morass of duplicates and near-duplicates; the module gets a bad name and falls into disuse.

    None of these necessarily affect a working program on a single machine on which nothing changes, but few machines never change. Likewise, though the code doesn't change people's perception does, and I'd rate it unwise to choose to use an unmaintained module for new code for anything but a one-off run-and-discard script.

    Hugo

Re^2: Simon Cozens' modules need you!
by hardburn (Abbot) on Sep 17, 2004 at 02:24 UTC

    I took it to mean that the longer a popular module remains untouched, the more code out there relies on it. Over time, it may become clear that new techniques could improve the module. As long as nobody works on the module, it'll never be improved, and thus all code that relies on it doesn't get improved, either.

    There is some software that covers its problem domain so well that nobody thinks of making substantial improvements on it. There's a reason why C is still considered the best language for writing operating systems. There's a reason why FORTRAN is still used for heavy number crunching in scientific applications (FORTRAN + DOS + memory manager + GHz processsor = very, very fast). However, I would bet that most such examples are exceptional cases.

    "There is no shame in being self-taught, only in not trying to learn in the first place." -- Atrus, Myst: The Book of D'ni.

Re^2: Simon Cozens' modules need you!
by Aristotle (Chancellor) on Sep 17, 2004 at 06:55 UTC

    Sure, Tie::File has hardly changed in years, and even the last release (with only minor changes) was over a year ago. If the next release of Perl or some module it relies on breaks it for some reason, Dominus will likely fix it pretty quickly. An unmaintained module doesn't have that benefit.

    Makeshifts last the longest.

      (Choosing a random reply.)

      I suppose I see a difference in that an unchanged module may not need changes (and I don't think that a lack of releases in the past year automatically means bitrot). I do take the point quite seriously that sometimes long-stable modules do need updating, though.

      Perl 5.6.2 is a good example.

Re^2: Simon Cozens' modules need you!
by sintadil (Pilgrim) on Sep 17, 2004 at 02:27 UTC

    How does code that no one touches worsen over time?

    The Jargon File covers this concept, far more eloquently than I ever could.