web2c: Introduction
1 Introduction
**************
This manual corresponds to version 2021 of Web2c, released in May 2021.
"Web2c" is the name of a TeX implementation, originally for Unix, but
now also running under various operating systems. By "TeX
implementation", we mean all of the standard programs developed by the
Stanford TeX project directed by Donald E. Knuth: Metafont, DVItype,
GFtoDVI, BibTeX, Tangle, etc., as well as TeX itself. Other programs
are also included: DVIcopy, written by Peter Breitenlohner, MetaPost and
its utilities (derived from Metafont), by John Hobby, etc.
General strategy: Web2c works, as its name implies, by translating
the WEB source in which TeX is written into C source code. Its output
is not self-contained, however; it makes extensive use of many macros
and functions in a library (the 'web2c/lib' directory in the sources).
Therefore, it will not work without change on an arbitrary WEB program.
Availability: All of Web2c is freely available--"free" both in the
sense of no cost (free ice cream) and of having the source code to
modify and/or redistribute (free speech). ⇒
(kpathsea)unixtex.ftp, for the practical details of how to obtain
Web2c.
Different parts of the Web2c distribution have different licensing
terms, however, reflecting the different circumstances of their
creation; consult each source file for exact details. The main
practical implication for redistributors of Web2c is that most of the
executables are covered by the GNU General Public License or GNU Lesser
General Public License, and therefore anyone who gets a binary
distribution must also be able to get the sources, as explained by the
terms of the GPL (<https://gnu.org/licenses/>). The GPL covers the
Web2c executables, including 'tex', because the Free Software Foundation
sponsored the initial development of the Kpathsea library that Web2c
uses. The basic source files from Stanford, however, have their own
copyright terms or are in the public domain, and are not covered by the
GPL.
History: Tomas Rokicki originated the TeX-to-C system in 1987,
working from the first change files for TeX under Unix, which were done
primarily by Howard Trickey and Pavel Curtis. Tim Morgan then took over
development and maintenance for a number of years; the name changed to
Web-to-C somewhere in there. In 1990, Karl Berry became the maintainer.
He made many changes to the original sources, and started using the
shorter name Web2c. In 1997, Olaf Weber took over, and then in 2006,
Karl started taking care of it again. No significant development or
changes have been needed for many years. Dozens of other people have
contributed; their names are listed in the 'ChangeLog' files.
Other acknowledgements by Karl: The University of Massachusetts at
Boston (particularly Rick Martin and Bob Morris) provided computers and
ftp access to me for many years. Richard Stallman at the Free Software
Foundation employed me while I wrote the original path searching library
(for the GNU font utilities). (rms also gave us Emacs, GDB, and GCC,
without which I cannot imagine developing Web2c.) And, of course, TeX
would not exist in the first place without Donald E. Knuth.
Further reading: ⇒References.