Thomas Esser created and maintained the popular teTeX distribution of TeX.
Dave Walden, interviewer: Please tell me a bit about yourself independent of the world of TeX.
Thomas Esser, interviewee: I studied mathematics and computer science at the University of Hannover. After achieving a diploma in mathematics, I worked for five years at the databases and information systems group as a research assistant.
I am now working as a system programmer in a company that provides services for banks. In my job, I am responsible for the configuration of our Unix servers and the middleware software running on them. Being part of the “development” department, I am not responsible for keeping the production systems alive; but our group is responsible for providing a configuration that is feasible to manage and that works gracefully in all kinds of situations (i.e., even under heavy load).
My family, i.e., my wife, my five-year-old son and I, have just recently moved into a new house in which we now live.
DW: Please tell me about how you first became involved with the world of TeX.
TE: As a student, I had a side job in the databases and information systems group (the same group where I had my primary job after my diploma). In that job, I had to do Unix system administration and to write documentation using LaTeX. The exciting thing for me was that I had never had done anything before with Unix, C and TeX. The good thing about the side job was that the research assistants helped me a lot and I somehow got into it.
DW: You are well known for the teTeX distribution of TeX. I suppose the letters “te” in teTeX are your initials; is that correct?
TE: Yes. At the time that teTeX was born, a lot of students used emTeX by Eberhard Mattes. So, basically, the idea to use the initials as part of the name of the distribution comes from emTeX.
DW: Do you yourself use TeX substantially? In this interview series, I have been surprised to discover that some of the most advanced TeXnicians don't actually use TeX very much — perhaps their full time jobs mostly force them to work with things other than TeX — and it is people who have major writing projects that are the biggest users of TeX and beneficiaries of the efforts of developers like you.
TE: During my time in the University, I used LaTeX regularly and almost exclusively for all my writings. Since then, I hardly write any documents at all.
DW: Not very many people undertake to create and maintain a complete distribution. How did your life with TeX evolve such that you decided to create teTeX?
TE: As part of my side job, I had to maintain the workstations of the department. This included a TeX installation which at some time, I have updated. It used to be a hard job to find and install all the necessary pieces (Web2c, LaTeX, CM fonts, LaTeX fonts, SunView previewer, X11 previewer, various printer drivers, etc.) and to use the directory structure that I wanted.
At some later point, I found that a Linux distribution (SLS or slackware) had a slightly newer TeX than I had. I contacted the maintainer (unfortunately, I don't remember his name) and he told me where to find the absolute latest tex.web (namely, Knuth's ftp server at Stanford) and how to patch Web2c.
The TeX installation in our workstation pool was used by a lot of students who wanted to have a similar system for their Linux boxes at home (so that they could use the same style files, etc.). I started to create floppy sets for these students and this was the beginning of teTeX.
While I was enhancing my TeX system (still only used by the local department and some students), I saw that the standard TeX distribution for Linux (NTeX at that time) was inferior in many ways. My first attempt was to try to help to improve NTeX, but somehow that failed (I can't really remember, but I think that bugs that I had reported still appeared in the next release, etc.). I felt that I could make a better distribution .... The first release of teTeX was Linux only, but uploaded to the large Linux sites (tsx and sunsite).
DW: Not being a Linux user myself, I don't know what tsx and sunsite are. Will you please explain? I also am not a teTeX user, so I don't know if you were implying above that teTeX is now available for non-Linux systems.
TE: tsx-11.mit.edu and sunsite.unc.edu are two of the bigger and more well known ftp sites which carry Linux software. They both have plenty of mirrors, so one can easily spread some piece of software all around the world by uploading to these sites.
Very soon after the initial release of teTeX, which was teTeX-0.2.1 in 1994, I started to make it more portable so that it could be compiled on other Unix systems, too. I think that after a year or so, teTeX was already portable to most Unix systems. Today it should run on nearly any Unix system and some people even use teTeX on Windows by using the Cygwin build environment or the mingw compiler (a gcc variant that creates Windows binaries).
DW: Karl Berry remembers that he first saw your work with teTeX about the time he was developing Kpathsea and Web2c. Was there cross-pollination between what you and he were doing? If so, how did your projects affect each other?
TE: All teTeX versions are based on Web2c\Kpathsea. It is true that Karl was the maintainer at the time that teTeX started. I had my own ideas about performance and a few internals and teTeX started using features of Kpathsea in a way that Karl did not predict. So, in fact, some tweaking of Web2c\Kpathsea was needed. My way of doing that was to arrange with Karl about changing things upstream (i.e., in Karl's code). I have never kept my changes private. teTeX would not have existed without Web2c\Kpathsea, so Karl's work was essential for me. About Karl's view about teTeX: my guess is that he was glad that he did not need to care about the things that teTeX has in addition to the “core” of Web2c\Kpathsea.
DW: Karl once told me that the changes went both ways and used words very similar to your presumption of how he viewed things.
My understanding is that teTeX is more than a collection of TeX packages and fonts — that it also includes a number of helper scripts such as fmtutil, updmap, etc., that are now viewed as fundamental parts of the system. Tell me about your ambitions or philosophy that guided your evolution of the teTeX system, or did the evolution just track user requests or your own needs?
TE: I have always seen teTeX from the administrator's view. My goal was always to create something that is simple to install, to use and to maintain. Let us take the example of font handling. All the drivers have their own rules (different set of “built in” fonts, their own map file syntax, etc.). I could have tried to rewrite these programs, but my way of doing the integration was to write a few scripts which provide one interface for all drivers. So, now, you make a map file known with updmap and all drivers can use the fonts. The scripts that I have provided thus hide details which most users don't want to care about.
A lot of scripting has been done by me — even existing scripts for automatic font generation have been rewritten more or less from scratch (which Karl has adopted later with slight modifications). But, some scripts have been contributed by other people. I can remember two: texdoctk and texdoc.
DW: By virtue of teTeX being including with Linux, it may have become the most used of any of the TeX distributions. How did this make you feel? Did it cause problems for you?
TE: I am glad that teTeX has been useful to a lot of people. I had used GNU software on SunOS and Linux almost from the beginning and teTeX was my way to give some work back to the free software community. By means of Red Hat Linux, teTeX has even reached the computer where Don Knuth maintains the master sources of TeX. Knuth has written a few emails to me and I know that he was pleased to see teTeX has provided an “intelligent” installation of TeX. Well, definitely, that filled me with pride.
It never was a problem that teTeX has had many users. In the early days, I had the time to dig into every problem a user reported. Of course, I can't provide this service any more. But, generally, people understand that I can't solve all of their problems and they are usually grateful if I can provide them with pointers to documentation or other resources (e.g., mailing lists).
The distribution grew, because people asked for things to be added like dvipng (a DVI to PNG translator), Xy-pic, PSTricks, the memoir package, etc. teTeX started as a reasonably small thing, but it ended up as something which was too large for me to handle with a reasonable amount of time.
DW: Do I gather correctly from this that you did teTeX pretty much alone, or did you have other people helping you with various things?
TE: The job of putting individual parts together was done by me alone. On the other hand, I could make use of the work of many people who wrote the software that teTeX is made from. As far as documentation is concerned, there was some help by various people: Dirk Hillbrecht wrote the first version of the teTeX manual, Claire Connelly and Frank Küster have contributed several manual pages and Keith Refson wrote the teTeX documentation guide which was later maintained by Joao Palhoto Matos. Several teTeX releases have included binaries — most of them have been compiled and contributed by other people.
DW: Please describe some of your relationships with other parts of the worldwide TeX community — user groups, conferences, projects such as TeX Live as it has evolved over time, other developers, etc. Have they played a useful role in your work? Is there some better coordination or support that could be provided?
TE: The development of Web2c, teTeX and TeX Live have always been very close to each other, i.e., all developers have always been in contact with each other. Web2c\Kpathsea was the core of teTeX, and teTeX was the core of TeX Live.
It was always a great pleasure for me to join conferences and meet all those people who I formerly had only known by mail. I am very grateful for all invitations to TeX conferences that I have received.
Regarding coordination: I think that the TeX community lacks some level of coordination. Just two examples: (a) There is no naming convention for hyphenation pattern files nor is there a standard about what exactly is allowed in such files or which catcodes can be assumed. This is a problem for packages such as ConTeXt (which target more than one TeX distribution). (b) There is no common standard about the internal structure of a package uploaded to CTAN. It would be great if either there would be a uniform structure or if each package would be accompanied with metadata which provides the necessary information about how a package should be transferred, unpacked and installed.
DW: I recently interviewed Christian Schenk who developed the MiKTeX distribution. Do you know him?
TE: I met him once in Bremen at a meeting of CTAN maintainers and people making “big” free TeX distributions (sponsored by DANTE e.V.). I know that Christian has taken over files from me (via TeX Live, I think) and that he also has his own replacements for scripts that I have invented.
We have not talked a lot to each other, but I remember well what he has said at this meeting. It was about enhancing the CTAN infrastructure to allow accessing the files on CTAN as packages which can be installed\updated as units (possibly over the Internet). Christian told us his ideas about what would be needed (e.g., package metadata, some web services and things like that). The point is that nothing has happened about package-based access to CTAN and MiKTeX's repository (which is essentially a repacked subset of CTAN) is still the only thing which offers this service. [Editor's note: since this interview was completed, TeX Live also now offers updates and installation over the Internet.]
DW: You have recently announced that you will no longer be supporting teTeX. Was there a specific change in your life and interests that led to this decision, or was it a more long term and general evolution of priorities and interests?
TE: This is a decision that evolved over time. Each release took me a longer to prepare than the release before. During the preparation of teTeX-3.0, I felt that I was already stealing too much time from my family. But, I did not want to announce the end of teTeX immediately after that release. First, I wanted to make sure that there are no severe bugs that need immediate fixing.
DW: Looking back on your experience developing and maintaining teTeX, how do you feel about it the effort you put into it and the results?
TE: First and most important: it was fun and I have learned a lot.
I am happy that teTeX has been useful to many users (and system administrators) and that the distribution itself has a good reputation. I think that it would have been better to be more restrictive about adding packages to the texmf tree or to increase the level of automation in maintaining that texmf tree. My dream is to see an infrastructure that allows TeX users to update their distribution directly with packages that authors upload to CTAN (without repackaging by anybody else).
DW: Is there a plan for someone to continue maintaining teTeX, or do you hope someone will take over its support?
TE: My hope is that someone or a group of people make up a good successor. I have no worries about the source tree which is still maintained as part of TeX Live. In my dreams, the texmf tree maintenance is replaced by an infrastructure to install\update CTAN packages. For “offline” purposes, someone would just need to download a list of packages from CTAN and make them available as a release.
DW: Do you have plans for the time that will be freed up by no longer maintaining teTeX — a new “hobby” perhaps?
TE: I will still spend time on TeX related matters: answering mail and maintaining a few things in the TeX Live repository. Without the need to make a big release, I will no longer have to steal time that I should be spending with my family.
DW: Thank you very much for taking the time to participate in this interview. I am sure that many TeX users will be interested to learn something about the man whose TeX distribution is so important to them.