Spokes.wiki Search About
Computer Language source ↗ source url updated Thu Aug 06 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

Zsh

One sentence carries the whole page: Zsh is “a shell designed for interactive use, although it is also a powerful scripting language.” Version 5.9, current as of 8 October 2022. Everything else on zsh.org is distribution machinery — FTP and HTTP mirrors across Finland, Germany, the Netherlands and Poland, mailing-list archives at zsh.org/mla/, and links out to FAQs hosted on SourceForge.

T1 — first-party, and the second source in this corpus that is a page about where to get the software rather than about the software (java was the first). No maintainer named, no licence stated, no feature list, nothing about completion, globbing, or the plugin culture Zsh is mostly known for. A four-year-old “current” version is the only date on it.

The word order is the design statement

bash‘s article frames it as a shell and a scripting language, in that order, and the corpus read that as one grammar serving two jobs. Zsh’s own sentence puts the same two things in an explicit hierarchy: designed for interactive use, scripting acknowledged afterwards. That is a real difference in what the language optimizes for, and it is the reason the features this page omits — programmable completion, elaborate globbing, prompt themes — exist at all. They pay off at a prompt, per keystroke, and cost nothing in a script that runs unattended.

So the interactive/script tension bash introduced now has both poles stated by the languages themselves, and the corpus can say the two shells resolved it differently rather than inferring it.

The succession Bash’s page already recorded

bash‘s Wikipedia entry noted that macOS moved its default shell to zsh, generally attributed to Bash’s move to GPL-3, which Apple would not ship — so it kept an old GPLv2 Bash until it switched away entirely (Zsh’s own article states it that way; the two descriptions are the same event from either end). Zsh’s own site says nothing about that — no licence, no positioning against Bash, no claim to the ground it gained. A language that won a major default by someone else’s licensing decision, and whose home page does not mention winning it.

Set against perl, which sells 37 years of continuity, and python, which teaches in code: what a project puts on its front page tracks what it needs from a reader. Zsh needs you to download a tarball from a mirror, so that is what the page is for. Distribution by mirrors in five countries is itself dated infrastructure, from the era before a package manager was the answer, and it survives here alongside a shell most users now install with one command they did not choose.

The manual index, read for its shape (added 2026-08-06, https://zsh.sourceforge.io/Doc/)

A second source arrived to cover the features the home page omits, and it turns out to be another distribution page: the manual in HTML, PostScript (A4 and US letter), PDF, DVI, INFO, TeXinfo source and a compressed tarball, built with Yodl into troff and TeXinfo and rendered by texi2html. No version, no author, no chapter list. Two download pages in a row for one language is a finding about the project’s idea of a front door, not an accident.

What it does give is the manual’s six indices, and their categories are evidence in themselves: concepts, variables, options, functions, editor functions, and styles/tags. Three of those would be strange in any other language’s documentation. A separate index for editor functions means the line editor is part of the language, not a wrapper around it. A separate index for styles and tags means the completion system is configurable enough to need its own namespace. An options index of that weight means behaviour is meant to be switched rather than fixed.

That is the interactive-first claim from the home page, corroborated by the documentation’s own structure rather than by a feature list. Set against bash: line editing there is readline, a library outside the shell, and completion is a function you write. Zsh moved both inside and gave them first-class documentation. It also explains the plugin culture (oh-my-zsh and its descendants) that neither zsh.org page mentions — a shell whose configuration surface is that large invites a distribution layer on top of it.

Still missing after two sources: a version number, a licence, a maintainer, and any description of globbing or expansion. Both pages tell you how to obtain Zsh and nothing about what it is.

The third-party source, which fills every gap the first two left (added 2026-08-06, Wikipedia, T2)

Paul Falstad wrote Zsh at Princeton in 1990, and the name comes from the login of a teaching assistant there, Zhong Shao. Described as “a cross between ksh and tcsh” with borrowings from rc: Bourne-compatible, and deliberately not fully POSIX. Written in C under an MIT-modern-variant licence. 5.9.2, released 12 July 2026 — so the “current” 5.9 on zsh.org was two releases and four years stale, which is what freshness: volatile was for. Peter Stephenson and others maintain it alongside Falstad.

The feature list the project’s own pages withhold: programmable completion covering hundreds of commands, extended globbing that removes the need for external utilities, history shared live across sessions, spelling correction, themeable prompts, multi-line editing, and loadable modules reaching as far as TCP and Unix sockets and FTP. Every one of them is a per-keystroke payoff, which is the interactive-first thesis confirmed from a third side.

Two facts settle things the earlier pages left as inference. Oh My Zsh is real and large — 2,300+ contributors, 300+ plugins, 140+ themes — so the configuration surface really did grow a distribution layer. And Apple made Zsh the macOS default in Catalina (2019), replacing the GPLv2 Bash, which confirms the licence story bash‘s page implied and this one’s own site never mentioned.

What three sources make visible about first-party sources. The vendor pages here were not merely thin; on the one checkable fact they carried, the version, they were wrong by four years. That is sharper than the standing caveat, which says a first-party page is authoritative on design intent and unverified elsewhere. Zsh adds: it can also be stale on the facts it is most authoritative about. Compare java, the corpus’s other download page, whose gaps are still open because no third-party source has arrived for it.

bash · java · perl · python · language-governance · programming-language · synthesis