Quagga
» see quagga.net as it lived, on the wayback machine
~ the obituary ~
The parent project was called Zebra. Kunihiro Ishiguro started it in Japan in 1996 because there was no decent free routing engine, and what he built was a set of small daemons that let a plain Unix machine do the job of a router, holding the routing tables and answering to a command prompt that looked deliberately like Cisco's. By 2001 his attention had gone to IP Infusion and the commercial version, and the free tree slowed down.
Contributors kept patching anyway, around a tree known as zebra-pj after Paul Jakma, who was keeping it. On 1 August 2003 the news page of a newly registered domain announced the split in one line: zebra-pj had forked from GNU Zebra, the new name was Quagga, and there was a website at quagga.net. The first release under the new name, 0.96, went out twelve days later. A security fix followed the day after that.
The name is the best thing about the project. A quagga is a zebra, specifically the southern subspecies with stripes only on its front half. It was hunted out of existence in the nineteenth century, and the last one died in an Amsterdam zoo in August 1883.
~ the case file ~
| Born | 1 August 2003, forked from GNU Zebra |
|---|---|
| Peak | the default dynamic routing stack on Linux and BSD through the 2000s |
| Killed | 19 February 2018, version 1.2.4, the last release |
| Lifespan | 14 years, 6 months |
| Made by | Paul Jakma and the Quagga developers, out of Kunihiro Ishiguro's GNU Zebra |
| Killed by | FRRouting, the fork its own maintainers left for in 2017 |
~ what it was for ~
Quagga was a handful of separate processes rather than one program. A core daemon called zebra talked to the kernel's routing table and presented an internal API, and the protocol daemons connected to it as clients, one per protocol: bgpd for the border gateway protocol, ospfd for OSPF, and so on down to a multicast daemon added late. A tool called vtysh pulled all their command lines into one prompt so the whole thing could be administered as if it were a single box.
That architecture is why it ended up everywhere. If you needed a Linux machine to peer with somebody at an exchange point, or a campus network to run OSPF without buying another chassis, you installed Quagga from your distribution and edited a config file in /etc/quagga that looked like a Cisco configuration. That is how it reached me, as a name on a Linux box. My own work went toward embedded systems and vision rather than networks, but the config file was recognizable from across the room.
~ forked again ~
The thing that killed it was the same thing that created it. By the middle of the decade the people doing most of the work were unhappy with how slowly patches moved through the project, and in April 2017 the OpenSourceRouting group and others launched FRRouting out of the Quagga codebase, announced through the Linux Foundation and explicitly framed as a faster and more open way to develop the same software. Cumulus had already swapped Quagga for the fork in its own operating system by release 3.4.
Quagga shipped twice more after that. Version 1.2.3 in February 2018 carried fixes for a cluster of bgpd vulnerabilities, including a double free an attacker could trigger with a crafted update message, and 1.2.4 followed on 19 February to clean up what the first attempt had broken. Then nothing. There was no announcement, no final post and no page put up to say the project had ended. The last thing it ever did was patch the protocol that holds the internet together.
~ what still answers ~
Probed today, quagga.net does not resolve at all; the DNS lookup simply times out. The Savannah project page returns a 404. The mailing lists, which lived at lists.quagga.net and hold the whole development record, went with the domain.
One page survived, at nongnu.org/quagga, and it is written entirely in the present tense. Quagga is an advanced routing software package. Community support is available via the mailing lists. The sidebar says "Loading sidebar..." and never loads it, because whatever used to fill it is gone. The download link and the bug tracker both point at the dead domain. Eight years of nothing, and the homepage still offers to help you get started.
~ leave a rose ~
an anonymous tribute. one rose per visitor per day.
@}-->-- ... roses left here
~ leave a wreath ~
a rose fades by morning. a wreath stays on this grave for good, with your name on it.
from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.
» one email a week: new graves and the anniversaries of the dead. subscribe
other protocols: Publius, FTP in the Browser, POWDER, TLS 1.0
~ leave a note ~
visitors before you have left these graveside notes. anonymous welcome.