Zusammenfassung

  • 1996 spaltete Duane Wessels die letzte vor-kommerzielle Version des Harvest Cache Daemon ab, nannte den eigenständigen Zweig Squid und veröffentlichte Version 1.0.0 im Juli.
  • Frühe Squid-Änderungen zeigen Kontinuität durch Wartung: bedingte HTTP-Anfragen, HTTPS-Objekte und der Neuaufbau des Platten-Caches während des laufenden Betriebs.

Ein Forschungsprojekt kann enden, während eines seiner Werkzeuge weiterhin Anfragen beantwortet. Genau das war 1996 die praktische Frage beim Web-Cache von Harvest. Harvest hatte mehrere Komponenten entwickelt, darunter einen Objekt-Cache. Doch einige Projektmitglieder wechselten in die Industrie, während eine separate, von der NSF finanzierte Untersuchung zum Caching anlief. Duane Wessels, der bei Harvest mitgearbeitet hatte, brauchte öffentlich verfügbare Software für diesen Einsatz und die Forschung.

In seiner späteren technischen Darstellung schreibt er, er habe die letzte Version von Harvest vor der Kommerzialisierung als Ausgangspunkt genommen, sie erweitert und den Zweig Squid genannt, um ihn von einer anderen kommerziellen Ableitung zu unterscheiden.

Die Abspaltung hatte einen klaren Betriebszweck. Der Cache stand zwischen Nutzern und entfernten Webservern. Er speicherte Kopien beliebter Objekte, damit wiederholte Abrufe von einem näheren Standort bedient werden konnten. Harvest unterstützte auch Cache-Hierarchien. Der Bedarf reichte über das Labor hinaus: Ein Bericht von 1996 über Einsätze in Neuseeland sagt, Harvest Cache sei seit Oktober 1995 im Produktivbetrieb gewesen. Im Februar habe ein einzelner Server ein Volumen verarbeitet, das etwa fünf Prozent des Internetverkehrs Neuseelands mit dem Rest der Welt entsprach.

Das ist die Schätzung eines Betreibers in einer bestimmten Region, keine globale Verbreitungszahl.

Die erste Squid-Version war mehr als ein neuer Name auf einem unveränderten Archiv. Das Änderungsprotokoll der Beta 1.0 vom 19. April 1996 nennt Harvest cached-1.4.pl3 als Grundlage und führt neu hinzugekommene Unterstützung für If-Modified-Since-Anfragen, SSL-Objekte und den Neuaufbau des Plattenspeichers im Hintergrund auf, während der Cache weiter Anfragen bediente. Diese Änderungen betreffen den Proxy-Betrieb: feststellen, ob ein gespeichertes Objekt geändert wurde, weitere Verbindungstypen handhaben und Wartung ermöglichen, ohne den Dienst anzuhalten. Die offizielle Version 1.0.0 erschien im Juli.

Wessels’ spätere Darstellung beschreibt ein Jahr mit Codebeiträgen, Korrekturen, Funktionswünschen und Fehlermeldungen. Das Änderungsprotokoll zeigt den Prozess konkreter: Fehlerkorrekturen kamen mit aufeinanderfolgenden Versionen, während Squid die Kompatibilität mit benachbarten Harvest-Caches weiterbearbeitete. 1997 dokumentierte RFC 2186 das ICP, einen schnellen Anfrage-Antwort-Austausch zwischen benachbarten Caches, und führt dessen Wurzeln auf die hierarchische Zwischenspeicherung in Harvest zurück. Eine Abspaltung konnte die Software ändern und zugleich Betriebsweisen erhalten, die andere Caches verstanden.

Squids Ursprung zeigt eine bestimmte Form von Kontinuität. Damit Betreiber einen Cache weiterverwenden konnten, musste der Name Harvest nicht unverändert fortbestehen. Ein Maintainer konnte bekannten Code übernehmen, einen eigenen Zweig veröffentlichen und ihn an beobachtete Anforderungen anpassen. Dauerhafte Unterstützung war damit nicht garantiert: Auch das neue Projekt brauchte Menschen, Finanzierung und kompatible Installationen. Doch aus einem Forschungsergebnis wurde Software, die regelmäßig überarbeitete Versionen erhalten konnte.

Quellen