# Why is LaTeX development so slow?

The Bill
TL;DR Summary
LaTeX is a widely used, important technology. So, why is its development so slow?
LaTeX is used widely in many disciplines and industries. It has this in common with other open standards which get a lot of development help and support from industry. Yet, we're still stick using a decades old version with packages taped on top that add features that should have been added to the kernel years ago.

I'll use one example, that I think is very relevant.

The SVG file format was introduced in 1999, and became relevant and widely used almost immediately as tech standards go. Yet, 22 years later, LaTeX doesn't support it natively. There is a finicky SVG package that works most of the time, but this should be a rock solid core feature of LaTeX by now.

So, why doesn't LaTeX get the love that other open standards do? It's widely used in the same industries that help fund many other open standards. I just don't get it.

Wrichik Basu

Mentor
Likely because folks look at it as complete and don't want to fix something that isn't broken for fear of really messing it up.

Staff Emeritus
So, why is its development so slow?

How much code have you contributed to ##\LaTeX## yourself?

jedishrfu
Homework Helper
Gold Member
$\TeX$ was developed in 1978 ( https://en.wikipedia.org/wiki/TeX )
$\LaTeX$ was developed in the early 1980s ( https://en.wikipedia.org/wiki/LaTeX ) (2E was developed in 1994)

After 1986 Knuth made only one more major change to TEX: in 1989 he extended TEX from using
7-bit characters to allow 8-bit characters as input; he also improved a few other things in passing.
Then in 1990 he announced that his work on TEX and Metafont was done, and that he would
“make no further changes except to correct extremely serious bugs.”

Knuth put his code in the public domain so that it, and the underlying ideas, could be used by
anyone for any purpose. While only Knuth will make changes to canonical TEX and Metafont and
Computer Modern for the rest of his life (and they would remain unchanged after that), anyone
can make modified versions of TEX or any part thereof, or use his code and algorithms in any way,
as long as they called their work something other than TEX, Metafont, or Computer Modern. He
said, “Let us regard these as fixed points, which will give the same results 100 years from now as
they do today.” This announcement is worth reading for yourself.

True to his word, since 1990 Knuth has only worked on TEX or Metafont every few years, at ever-increasing intervals, to review bug reports accumulated in the interim. For many years Barbara
Beeton was the collector of bug reports (she called it being the “TEX entomologist”). She asked
knowledgeable people to review each report to discern whether it is in fact a bug, a bug that has
already been reported, or not a bug. Every few years, when Knuth was ready to look at possible
bugs, Beeton sent her collection to him. Knuth is the sole arbiter of what is a bug and what will be
left unchanged. In January 2017, Karl Berry took over the entomologist role.

Knuth’s release number for TEX at the time he announced he was done was 3.1. He has released
seven (slight) updates of TEX since version 3.1, documenting each time what the changes were.
His most recent two TEX tuneups were in 2008 (version number 3.1415926) and 2014 (version
number 3.14159265) (the version number of each update has one more digit of pi). He has stated
that at the time of his death, his then-current version should be relabeled “TeX, Version π, and any
remaining ‘bugs’ will be permanent ‘features.’ ”

jtbell
The Bill
How much code have you contributed to ##\LaTeX## yourself?
"The source code is freely available. If you feel so strongly about this bugfix/tweak/feature/plugin, why don't you code it yourself?"

Whenever I see this response used outside of friend circles, towards anyone about any kind of software topic, I have to assume the person using it knows how dismissive and rude it comes off. I don't think it's possible to use in good faith except possibly as a joke between experienced software developers who are familiar with each other's talents.

You do not have enough familiarity with me to use that response politely towards me.

The implication that end user experience doesn't matter if one isn't a developer seems to me a position that cannot be held in good faith. I don't have to be employed at an auto manufacturer to have a useful opinion about how my vehicle works. I don't have to be a metallurgist or a blacksmith to tell the difference between a good chisel and an excellent chisel or suggest how a combination of features might make my woodworking easier.

DaveE and Wrichik Basu
Mentor
Another reason is that latex is geared toward a particular audience of folks who use equations extensively and who don’t code at the level needed to do latex improvements.

I recall Knuth got distracted for years working out the details of Tex. It put his ambitious project The Art of Computer Programming on hold for a long time.

In contrast, SVG arguably has a much larger audience of web developers interested in drawing scalable graphics and get away from bitmaps, gif and jpg files.

Homework Helper
Gold Member
From what I see in using LaTeX over the years,
packages are developed by certain users who felt they needed to get something done... but the current versions and packages didn’t yet support. So, such packages started as hacks and side-projects ... that the enthusiastic developer eventually made into a more generally user-friendly package... that is shared with the community. However, I don’t think that package-development is their primary job.

I greatly appreciate all of these efforts.
And I appreciate that most of these efforts are made freely available. (I don’t know what kind of financial support these folks get.)

It seems to me that SVG support is a graphics package problem, not a base LaTeX problem.

Mentor
Another thing to consider is that SVG is likely a moving standard and that means added effort to keep the code upto date.

Staff Emeritus
Whenever I see this response used outside of friend circles, towards anyone about any kind of software topic, I have to assume the person using it knows how dismissive and rude it comes off.

Really? When I see someone write "Here is code that somebody has made available for free, but it doesn't do exactly what I want when I want. How dare they!" I have to assume they know how snotty, entitled and ungrateful it comes off.

2. Contribute monetarily
3. Curse the darkness
Ranked more or less in order of likelihood of success. As @robphy said, most development is done by people who needed to get something done, but couldn't. That includes the initial development of ##\TeX## by Donald Knuth, the initial development of ##\LaTeX## by Leslie Lamport, and the development of pdfTeX by Han The Tranh.

I point out in passing that the more popular Option 3 becomes, the less likely things will change.

DaveE and Tom.G
Mentor
How much code have you contributed to LATEX yourself?

"The source code is freely available. If you feel so strongly about this bugfix/tweak/feature/plugin, why don't you code it yourself?"
@The Bill, you put quotes around the above, but I don't see that anyone in this thread actually said it.

And then you added the following, which seems a bit on the over-sensitive side to me.
Whenever I see this response used outside of friend circles, towards anyone about any kind of software topic, I have to assume the person using it knows how dismissive and rude it comes off. I don't think it's possible to use in good faith except possibly as a joke between experienced software developers who are familiar with each other's talents.

Gold Member
The Bill
@The Bill, you put quotes around the above, but I don't see that anyone in this thread actually said it.

If I was quoting from within the thread, I'd have used a quote block, as I am using to quote you. I apologize if I caused some confusion by accident.

Mentor
Getting back to the topic there are many teasons can't or don't contribute to open source.

One is skill in the projects language of choice, another is understanding the projects structure and developer culture and a third is fear of getting into trouble with employer regulations posting code that may contain propriety ideas in it.

Linux ran into this in the early days as some code was lifted from AT&T source and had to be rewritten from scratch by programmers untainted by the old code.