Provided by: libdate-manip-perl_6.95-1_all bug

NAME

       Date::Manip::History - Twenty years and still going strong

TWENTY YEARS

       I just realized (Dec 2015) that Date::Manip turned twenty years old earlier this year, so I wanted to
       write some thoughts I have about Date::Manip.

       The history of Date::Manip can be broken into several periods.

       Birth of Date::Manip (1995-1996)
           1995  was  the  year I really started using perl to automate some of my common tasks.  At the time, I
           was running programs using a number of different batch systems that needed dates entered in a variety
           of different formats.  It was frustrating to remember what format for what batch system, so  I  wrote
           some  wrappers  which would take a few common formats that I wanted to use and would turn those dates
           into whatever format the batch system needed.

           After a few different wrapper scripts (where I copied the date handling code between the scripts),  I
           gathered all of the date routines into one package.

           This was the birth of Date::Manip.

           I  kept  it  that  way  for  about half a year.  By that time, I was thoroughly in love with perl and
           wanted to contribute.

           At the time, CPAN was just a fledgling site, but in October, I released my first package.  It  wasn't
           really  a  module at that time... it was crudely put together and extremely limited use.  Even so, it
           got some very positive initial feedback which spurred the early growth.

           There were several private versions followed by 4 public  releases  (4.0  through  4.3)  during  this
           period.

           Soon, I had adopted many of the best practices of the day and converted it to a full-blown module.

       Active development (1996-2001)
           The  next  5 years were extremely active.  Based on suggestions and requests, functionality increased
           dramatically, and before long, Date::Manip was considered the goto module for Date operations.

           During this period, a number of other modules came along that did a small subset of the functions  of
           Date::Manip (most of them significantly faster), but none had the scope of Date::Manip.

           During  this  period,  I  recognized  that the single biggest weakness was the inability to correctly
           handle timezones and daylight saving time.  Towards the end of this period (2000 I believe), I  began
           a  project  to  rewrite Date::Manip, but I didn't have the time needed to really carry it out at that
           time.

           Another weakness was that Date::Manip grew in a random way.  As ideas and suggestions came,  I  added
           them.   There was little planning or forethought involved, and that led to it not having a consistent
           API.

           1998 did see  the  addition  of  Recurrences.   Although  not  an  extremely  widely  used  piece  of
           functionality, I regard this as the single most important contribution I have ever made.  I developed
           the  notation  for specifying recurring events, and no other notation has ever come close to matching
           it's power and flexibility.

           This period, starting with the first release in a full module form, included 26 releases  (from  5.00
           to 5.40).

       Minimal maintenance (2001-2008)
           During  these  years, I was able to devote time needed to maintain the existing module, but not to do
           major development.

           As a result, the rewrite project remained incomplete (and in fact, it was barely started).

           During this time, due to the fact that no other module could  handle  timezones  correctly,  DateTime
           arrived in 2003.  It featured a nice object-oriented interface, and handled timezones.

           Over the next few years, it became the de facto standard for date handling in perl.

           This period included only 8 releases (5.42 to 5.54).

       Rewrite (2009-2010)
           In  2009,  I decided it was time to fix the timezone problems in Date::Manip .  Some people might see
           this as a waste of time due to the fact that DateTime existed, but I had several thoughts.

           First, many people continued to use Date::Manip.   This  was  evident  by  the  number  of  emails  I
           continued to receive.

           Second,  there  were still things that Date::Manip did better than DateTime including recurrences and
           parsing.

           Third, I love my module, and didn't want to see it die.  I'll continue to use it, even if nobody else
           does.

           So, I set out to fix it.  It turned out to be a complete rewrite, but  in  the  end,  version  6  was
           released with full timezone handling, even better parsing, and quite a few other features.

           Date::Manip was once again very much alive.

           This  period featured 13 releases (6.00 to 6.14) with an additional 2 maintenance releases of version
           5.

       Active maintenance (2010-present)
           Although primarily in maintenance mode (due to the fact that it does pretty much everything  that  it
           was designed to do), active maintenance continues.  There is also some development and a large number
           of significant improvements have been made in this period.

           I  make  regular  releases  to  update the timezone information, fix bugs, and add the occasional new
           features.

           For the foreseeable future, Date::Manip will remain active, and fully capable of handling any  common
           date operation.

           Since 6.14, there have been an average of about 5 releases per year.

ONE OF THE OLDEST

       I was curious to see how many other modules are out there that have survived as long as Date::Manip.

       The  first  public  release  of Date::Manip (though it was not a module at that point) was version 4.0 on
       13-Aug-1995.  The first public release to CPAN was version 4.2 released on 23-Oct-1995.

       I got a list of all CPAN modules from the wayback machine for 2000 (the earliest version of the list that
       I could find).  Then I checked each of these authors on  backpan  to  see  which  of  these  authors  had
       packages (.tar.gz or .tgz files) released prior to 23-Oct-1995.

       I found that at the time Date-Manip 4.2 was released there were

          32 authors
          70 packages

       There  are currently (Aug 2017) over 190,000 modules by over 13,000 authors.  So Date::Manip got involved
       in CPAN very early.

       Next, I tried to determine which of those authors and packages are still active.  I'm not completely sure
       about some of the packages because frequently, those old packages have changed maintainers, been renamed,
       or been incorporated into other packages.  So the number of active packages may be missing a couple.

       I found that:

          13 of the 32 authors are active today
          21 of the 70 packages are active today
          7 of those packages are still maintained by the original author

       An active author is one who has released something in the past 3 years.  An active module is one that has
       been updated in the past 3 years.

       I apologize if I have missed anyone.

       The 7 packages which are older than Date::Manip and are  still  actively  maintained  by  their  original
       author (though they may have been renamed) are:

          ILYAZ  MathPari     23-Jan-1995
          ANDK   Symdump      16-Aug-1995
          PMQS   Filter       28-Aug-1995
          GAAS   libwww-perl  16-Sep-1995
          LDS    GD           17-Sep-1995
          MEWP   sybperl      02-Oct-1995
          TOMZO  Quota        10-Oct-1995

       Congratulations  to  those authors who have been with perl since the beginning.  I'm proud to be in their
       company!  And congratulations to ILYAZ for having the oldest module in CPAN!

       If I have missed anyone, please let me know.

       2022 Update:

       Three of the above packages have now been removed from the list.

       Symdump has not been updated since 2017, though the author is still active,  and  the  package  is  still
       available.

       Filter and GD are still maintained but by new authors.

       So,  it  seems like we're down to 4 packages that are actively maintained by the original author that are
       older than Date::Manip.

SEE ALSO

       Date::Manip        - main module documentation

LICENSE

       This script is free software; you can redistribute it and/or modify it  under  the  same  terms  as  Perl
       itself.

AUTHOR

       Sullivan Beck (sbeck@cpan.org)

perl v5.38.2                                       2024-03-02                          Date::Manip::History(3pm)