Christian Schenk is the author and principal developer of the popular MiKTeX distribution of TeX.
Dave Walden, interviewer: Please tell me a bit about your personal history independent of the TeX world.
Christian Schenk, interviewee: My life began 1962 in the western part of Berlin. I studied computer science at the TU (Technische Universität) Berlin where I got my Diploma in 1988. Now I am working as a software engineer (still in Berlin). I am a very enthusiastic road bike rider. For relaxation I enjoy playing guitar.
DW: Was your degree in computer science or some other field?
CS: Computer science.
DW: What kind of software engineering project do you work on at your place of employment?
CS: My company develops platforms for convergent information and telecommunication technologies. I am a member of a team which develops software tools for the maintenance of large PBX systems.
DW: Do you compete on the bike?
CS: I am not a racing cyclist. Nevertheless I do participate in mass sport events. The next event is the Vaütternrundan, a 300 km ride around Lake Vaüttern in Sweden.
DW: Do you play the guitar in any sort of groups or just for yourself?
CS: I took classical guitar lessons when I was a teenager. But my “career” came to an end in the early 80's when I began to develop other interests. Now I am playing just for myself.
DW: Please tell me about how you first became involved with TeX?
CS: I wrote my dissertation in LaTeX. On a Atari ST, IIRC.
DW: Was that required or did you choose LaTeX over other alternatives and why?
CS: The faculty's official typesetting system was Waterloo Script, which ran on an IBM mainframe. But luckily it wasn't a requirement to use it. I chose LaTeX because it was (almost) gratis and because I did like the idea to “program” my writings.
DW: Do you still personally use (La)TeX?
CS: Yes, mainly for correspondence. In my job I use Word or XEmacs/DocBook to write documentation.
DW: You are well known in the TeX world for MiKTeX. Please tell me why you got involved in developing and maintaining a TeX distribution.
CS: MiKTeX started as a fun project when I owned my first PC in the early 90s. Today it is a hobby.
DW: What is your distinction between a “fun project” and a “hobby”?
CS: A fun project is something you start spontaneously out of a mood. It is usually a short-lived business.
DW: Developing a complete TeX distribution on multiple releases of PC operating systems is a pretty big “fun project”. What was your motivation for taking on such a big project?
CS: It evolved. Implementing a pure TeX system isn't hard. But there is always one thing you can improve, so you sit down and hack. I know people who solve puzzles. MiKTeX is my crossword puzzle. And the work on MiKTeX has a nice side effect: I have learned a lot of new programming techniques by studying the open source programs around TeX and friends. This kind of training is very valuable.
DW: What did you start from — Knuth's release, Unix change files, …?
CS: I began studying Web2C. But it seemed impossible to transfer it to DOS — too many shell scripts and calls to Unix system functions. There were other PC TeX implementations. But these were written in Pascal and after all I wanted my own TeX. So I began from scratch. The main task was to write C4P, MiKTeX's Pascal-to-C translator. Then I downloaded Knuth's files from the Stanford FTP server and wrote the change files. The file searching routines were inspired by Karl Berry's kpathsea library.
DW: I assume you started developing MiKTeX alone. How have things evolved over time? How was/is MiKTeX developed (editor, compiler, installer, etc.)? Do you work alone or is there a MiKTeX team; if the latter, how do you divide up the work? What is your release process — how often, how tested, how distributed, etc.?
CS: The core MiKTeX development was and still is a one man show. The actual code base is relatively small. The main components are:
I do most of my code editing with XEmacs. The code is compiled with Microsoft Visual Cplusplus.
The MiKTeX release process follows the usual pattern: first a series of beta releases, then the general availability release. MiKTeX 2.4 was released in 2003. MiKTeX 2.5 will be released this year. I think three years is not such a long period of time for a one-man project.
Packages are updated regularly but untested. Each package update has the potential to break the whole system. Luckily, Windows users are very bold persons.
DW: How do you see MiKTeX in comparison to other distributions of TeX — special features, limitations, …?
CS: MiKTeX's main strength is its integrated package management system. Its main weakness is that the distribution isn't always in a stable state — due to frequent package updates (see above).
DW: What are your plans for the future, both for MiKTeX itself and for your involvement with it?
CS: In the near future I am planning to make a new release: MiKTeX 2.5. Then I have to think of a way how I can open the MiKTeX package repository for submissions because I want to concentrate on programming. MiKTeX 3.0 shall be runnable on Unix platforms. But that's all still up in the air.
DW: More generally, please share any opinions you have on the future of TeX and friends in the world increasingly dominated by Word, Quark, XML, etc.
CS: It's very hard to make a prediction about the future of TeX. I fear that TeX is a phase-out model. But there's life in the old dog yet. And then there is a chance that we will see a successor in the not so distant future.
DW: I personally use MiKTeX these days via the ProTeXt distribution. Are you actively involved in creating that or does your participation stop at agreeing ProTeXt can include MiKTeX?
CS: ProTeXt wasn't my idea and I was not involved in its creation. For newcomers it offers a nice entry into the world of TeX. In that respect it is a real improvement compared to the bare MiKTeX setup wizard.
DW: Do you have significant involvement with any other parts of the TeX world, e.g., user groups such as DANTE, the LaTeX team, etc.?
DW: Looking at your birth date, I calculate you were about 27 when the Berlin Wall came down. Going to university, was there interchange with the students in the east. Did the unification of Germany make any significant difference in the world of computing that you saw, in the spread of TeX, etc.?
CS: Well, growing up and studying in West Berlin wasn't exceptionally good or bad. We had no official contacts with students in East Germany. That was unthinkable.
It is certainly true that the unification increased the TeX user base significantly: there were many computer enthusiasts in the Eastern bloc (not only East Germany) and they were greedy for Western technology.
DW: Thank you very much for taking the time to participate in this interview. It is wonderful to know a bit more about the TeX distribution I use and its developer.