Provided by: libdate-manip-perl_6.60-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 not 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 Date::Manip 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 36 releases to date (6.20 to 6.59) which is averaging
           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 yet of course) 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 is actually a lower limit.

       I found that:

          13 authors are active today
          21 of the 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!

       Again, if I have missed anyone, please let me know.

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)