TeX
TeXを他人が改造したり拡張したりした場合について、それを直接配布することをクヌースは許しておらず、change file というメカニズムを利用して差分を添付する、という形で行わなければならない(これは当時まだ diff と patch が一般的に広く使われていなかったことから、これもクヌースが開発したものである)。この制限はいわゆる「バザールモデル」であるとは多少言い難い所があるが、「オープンソースの定義」では(そのような制限との妥協の産物である)第4項により、差分等を添付した再配布を許しているならば、派生物の配布にそのような制限があってもよい、ということになっているため「オープンソースの定義」には合致している。
前述のような開発期間の長さの理由の一つに、クヌースが徹底的にバグを探して潰していたから、ということも挙げられる。どのようなバグを修正したか、ということも記録しており、ある時期までのものについて解説と一覧が『文芸的プログラミング』の第10章と第11章に収録されている。そのため、残っているバグは少ないだろうとして、ジョーク好きのクヌースが、バグ発見者に対しては前回のバグ発見者の2倍の懸賞金を掛けている。この賞金は小切手(クヌース賞金小切手)で払われるが、貰っても記念に取っておくばかりなので、結局クヌースの出費はほとんどないという(とはいえやはりジョークかもしれないが、やめておけば良かった、というように取れることも書いている)。
TeX による組版の作業工程は、通常次のようになる。
文章に組版用命令文を織り込んだテキストファイルである、tex ファイルを作成する(テキストエディタなどで)。
OS のコマンドラインから “tex FileName.tex” などと入力して TeX を起動し、DVI ファイルを生成させる。 ソースファイルにエラーがあれば、修正して再度 TeX を起動する。
DVI 命令文を解するソフトウェア(DVI ウェア)を用いて組版結果を表示し、確認する。 DVI ウェアには xdvi / xdvik や dvioutなどの DVI ヴューア、Dvips(k) や dvipdfm / DVIPDFMx などのファイル形式変換ソフトウェアなどがある。 DVI ファイルを DVI ビューアで画面表示または印刷する、あるいは PDF や PostScript に変換して画面表示または印刷することで、組版結果を確認する。 修正の必要があれば、ソースファイルを修正して再度DVIファイルを作成、確認する。
この間、作業工程が変わるたびにそれぞれのプログラムを切り替えたり、扱う文書が大きいと章ごとにソースファイルを分割して管理したりと、比較的煩雑な作業を伴う。そのため、この工程に係わる各種のプログラムやソースファイルの管理を一元的に行う TeX 用の統合環境(TeXworks や TeXShop など)がいくつか作成されている。