kpathsea: History

 
 1.1 History
 ===========
 
 This section is for those people who are curious about how the library
 came about.  If you like to read historical accounts of software, we
 urge you to seek out the GNU Autoconf manual and the "Errors of TeX"
 paper by Don Knuth, published in his book 'Digital Typography', among
 other places.
 
    [Karl writes.]  My first ChangeLog entry for Web2c seems to be
 February 1990, but I may have done some work before then.  In any case,
 Tim Morgan and I were jointly maintaining it for a time.  (I should
 mention here that Tim had made Web2c into a real distribution long
 before I had ever used it or even heard of it, and Tom Rokicki did the
 original implementation.  When I started, I was using 'pxp' and 'pc' on
 VAX 11/750's and the hot new Sun 2 machines.)
 
    It must have been later in 1990 and 1991 that I started working on
 'TeX for the Impatient'.  Dvips, Xdvi, Web2c, and the GNU fontutils
 (which I was also writing at the time) all used different environment
 variables, and, more importantly, had different bugs in their path
 searching.  This became extremely painful, as I was stressing everything
 to the limit working on the book.  I also desperately wanted to
 implement subdirectory searching, since I couldn't stand putting
 everything in one big directory, and also couldn't stand having to
 explicitly specify 'cm', 'pandora', ... in a path.
 
    In the first incarnation, I just hacked separately on each
 program--that was the original subdirectory searching code in both Xdvi
 and Dvips.  That is, I tried to go with the flow in each program, rather
 than changing the program's calling sequences to conform to new
 routines.
 
    Then, as bugs inevitably appeared, I found I was fixing the same
 thing three times (Web2c and fontutils were already sharing code, since
 I maintained both of those--there was no Dvipsk or Xdvik or Dviljk at
 this point).  After a while, I finally started sharing source files.
 They weren't yet a library, though.  I just kept things up to date with
 shell scripts.  (I was developing on a 386 running ISC 2.2 at the time,
 and so didn't have symbolic links.  An awful experience.)
 
    The ChangeLogs for Xdvik and Dvipsk record initial releases of those
 distributions in May and June 1992.  I think it was because I was tired
 of the different configuration strategies of each program, not so much
 because of the path searching.  Autoconf was being developed by David
 MacKenzie and others, and I was adapting it to TeX and friends.
 
    I started to make a separate library that other programs could link
 with on my birthday in April 1993, according to the ChangeLog.  I don't
 remember exactly why I finally took the time to make it a separate
 library; a conversation with david zuhn initiated it.  Just seemed like
 it was time.
 
    Dviljk got started in March 1994 after I bought a Laserjet 4.
 (Kpathsea work got suspended while Norm Walsh and I, with Gustaf
 Neumann's help, implemented a way for TeX to get at all those neat
 builtin LJ4 fonts ... such a treat to have something to typeset in
 besides Palatino!)
 
    By spring of 1995, I had implemented just about all the
 path-searching features in Kpathsea that I plan to, driven beyond my
 initial goals by Thomas Esser and others.  I then started to integrate
 Web2c with Kpathsea.  After the release of a stable Web2c, I hope to be
 able to stop development, and turn most of my attention back to making
 fonts for GNU. (Always assuming Micros**t hasn't completely obliterated
 Unix by then, or that software patents haven't stopped software
 development by anybody smaller than a company with a
 million-dollar-a-year legal budget.  Which is actually what I think is
 likely to happen, but that's another story...)
 
    [Olaf writes.]  At the end of 1997, Unix is still alive and kicking,
 individuals still develop software, and Web2c development still
 continues.  Karl had been looking for some time for someone to take up
 part of the burden, and I volunteered.
 
    [Karl writes again.]  Indeed, time goes on.  As of 2006 or so, Olaf's
 available time for Kpathsea was reduced, and I started taking overall
 care of it again, although I did not do any significant new development.
 In 2009, Taco Hoekwater implemented a major rearrangement to make the
 library suitable for use within the MetaPost library (⇒Programming
 overview).  Also, for some years now, Peter Breitenlohner has made
 many improvements to the infrastructure and kept it up-to-date with
 respect to the overall TeX Live build, where Kpathsea is now maintained.