Von Webservern bis hin zu Verschlüsselungsprotokollen bilden diese 15 Open-Source-Tools das unsichtbare Rückgrat des modernen Internets — und die meisten Menschen haben noch nie von ihnen gehört.

Credit: wirestock / Magnific
Das Internet, mit dem Sie jeden Tag interagieren – Videos streamen, verschlüsselte Nachrichten senden, Webseiten in Millisekunden laden – läuft auf einer riesigen und weitgehend unsichtbaren Schicht von Software, die niemand verkauft. Diese Software ist Open Source: Ihr Code ist öffentlich verfügbar, frei verteilt und wird von Entwicklergemeinschaften gepflegt, die oft unbezahlte Freiwillige sind oder Ingenieure, deren Arbeitgeber ihre Zeit beitragen, weil die Projekte zu wichtig sind, um nicht finanziert zu werden.
Das Ausmaß dessen, was dieses Ökosystem unterstützt, ist kaum zu überschätzen. Die Mehrheit der Webserver der Welt läuft auf Open-Source-Software. Die Verschlüsselung, die Ihre Banksitzung schützt, wurde nicht in einem Firmenlabor, sondern öffentlich entworfen. Das Betriebssystem, das den Server antreibt, der Ihre E-Mails zustellt, ist fast sicher Linux – das, obwohl es eines der folgenreichsten Softwareprojekte der Geschichte ist, 1991 von einem finnischen Informatikstudenten gestartet wurde, der in einer Usenet-Newsgroup postete.
Was diese Geschichte interessant macht, ist nicht nur die Software selbst, sondern auch, wie sie hierher gekommen ist. Open-Source-Infrastruktur wurde nicht durch einen koordinierten Plan aufgebaut. Sie entstand durch jahrzehntelange individuelle Entscheidungen von Ingenieuren, die ein Problem lösen und die Lösung teilen wollten. Mit der Zeit wurden diese Lösungen übernommen, verbessert und so tief in die Architektur des Internets eingebettet, dass es enorm schwierig wäre, sie zu ersetzen – was sowohl eine Resilienz als auch eine Fragilität schafft. Wenn ein kritisches Open-Source-Projekt gut gepflegt wird, profitiert das ganze Internet. Wenn nicht, wie eine 2014 entdeckte Schwachstelle in OpenSSL namens Heartbleed zeigte, können die Konsequenzen weltweit sein.
Die Projekte auf dieser Liste wurden ausgewählt, weil sie unterhalb der sichtbaren Schicht des Webs arbeiten – nicht die Apps, die Benutzer öffnen, sondern die Infrastruktur, auf die diese Apps angewiesen sind. Einige sind Datenbanken. Einige sind Webserver. Einige sind Programmiersprachen, die so universell geworden sind, dass sie praktisch Dienstprogramme sind. Einige wenige sind Build-Tools oder Containersysteme, die verändert haben, wie Software bereitgestellt wird. Zusammen bilden sie ein Porträt davon, wie das Internet tatsächlich funktioniert: nicht als Sammlung von polierten Produkten, sondern als lebendiger, sich entwickelnder Stapel gemeinsam genutzten Codes.

Credit: Lukas / Unsplash
Das Betriebssystem, das den größten Teil des Internets betreibt, begann als Nebenprojekt. Im August 1991 veröffentlichte Linus Torvalds, damals ein 21-jähriger Student an der Universität Helsinki, eine Nachricht in der Usenet-Gruppe comp.os.minix, in der er ankündigte, dass er an einem kostenlosen Betriebssystem arbeite – „nur ein Hobby“, schrieb er, „wird nicht groß und professionell sein wie gnu.“ Diese Erklärung hat sich schlecht gehalten. Linux treibt jetzt die überwiegende Mehrheit der Webserver der Welt an, praktisch alle Supercomputer der Welt, das Android-Betriebssystem und einen beträchtlichen Teil der Cloud-Infrastruktur, die dem modernen digitalen Leben zugrunde liegt.
Linux ist ein Kernel – der Kern eines Betriebssystems, das Hardware-Ressourcen verwaltet und es Software ermöglicht, zu laufen. Es ist kein vollständiges Betriebssystem für sich; Distributionen wie Ubuntu, Debian, Red Hat und Fedora verpacken den Linux-Kernel mit zusätzlicher Software, um ihn nutzbar zu machen. Aber der Kernel ist das Fundament und hat sich als langlebig erwiesen, weit über fast jede vernünftige Erwartung hinaus.
Die Gründe für die Dominanz von Linux in Serverumgebungen sind sowohl technisch als auch wirtschaftlich. Es ist kostenlos nutzbar, was bei der Verwaltung von Tausenden von Servern von Bedeutung ist. Es ist stabil und zuverlässig über lange Laufzeiten. Es ist hochgradig konfigurierbar – Ingenieure können es so reduzieren, dass es auf winzigen eingebetteten Geräten läuft, oder es für High-Performance-Computing-Workloads optimieren. Und da sein Quellcode offen ist, können Organisationen ihn überprüfen, patchen und Verbesserungen beitragen, anstatt darauf zu warten, dass ein Anbieter ein Problem behebt.
Der Entwicklungsprozess des Linux-Kernels ist einer der ausgereiftesten Software-Engineering-Operationen der Welt. Tausende von Entwicklern tragen Code bei, der durch einen strengen Patch-Einreichungsprozess überprüft wird, bevor er zusammengeführt wird. Torvalds selbst überwacht weiterhin die Kernel-Entwicklung, obwohl das Projekt inzwischen große Technologieunternehmen – Google $GOOGL, Intel $INTC, Red Hat, IBM $IBM und andere – einbezieht, deren Ingenieure erhebliche Teile des Codes beitragen.
Der Einfluss von Linux reicht weit über Server hinaus. Die Android-Plattform, die auf der Mehrheit der Smartphones weltweit läuft, basiert auf dem Linux-Kernel. Chromebooks verwenden ein Linux-basiertes Betriebssystem. Unterhaltungselektronik, Router, Smart-TVs und industrielle Steuerungssysteme verwenden häufig eingebettete Linux-Distributionen. Das Projekt, das Torvalds 1991 als Hobby beschrieben hat, ist zum am weitesten verbreiteten Betriebssystem der Geschichte geworden.

Credit: Brett Sayles / Pexels
Vor Nginx, vor Cloud-Load-Balancern, vor der weitläufigen Infrastruktur des modernen Webhostings gab es Apache. Der Apache HTTP Server war die dominierende Webserver-Software für den größten Teil der kommerziellen Geschichte des Internets und wird noch heute weit verbreitet eingesetzt. Ihn zu verstehen bedeutet, zu verstehen, wie das frühe Web aufgebaut wurde.
Apache entstand 1995 aus einer Sammlung von Patches, die auf den NCSA HTTPd-Server angewendet wurden, einen der ersten geschriebenen Webserver. Eine Gruppe von Webmastern begann, Modifikationen – Patches – auszutauschen, um Fehler zu beheben und Funktionen hinzuzufügen, die der ursprünglichen Software fehlten. Der Name Apache wird manchmal als "ein patchy server" (ein flickenartiger Server) interpretiert, obwohl die Apache Software Foundation diese Etymologie nicht offiziell bestätigt hat. Unabhängig von der Herkunft wuchs das Projekt schnell und 1996 war Apache der beliebteste Webserver im Internet, eine Position, die es mehr als 20 Jahre hielt.
Die Architektur von Apache basiert auf Modulen – diskreten Komponenten, die aktiviert oder deaktiviert werden können, um Funktionalität hinzuzufügen. Ein Administrator kann ein Modul laden, um SSL-Verschlüsselung zu aktivieren, ein anderes, um URL-Umschreibungen zu handhaben, ein weiteres, um serverseitiges Scripting mit PHP zu unterstützen. Dieses modulare Design machte Apache enorm flexibel, und es wurde zur Standardwahl für den Betrieb dynamischer Websites in der Ära, in der LAMP (Linux, Apache, MySQL, PHP) der Standard-Web-Stack für die meisten Webanwendungen war.
Das Konfigurationssystem des Servers, basierend auf einer Datei namens httpd.conf und einem Konzept namens .htaccess-Dateien, gab einzelnen Webmastern erheblichen Einfluss auf das Verhalten ihrer Server. Die .htaccess-Datei im Besonderen wurde allgegenwärtig – WordPress-Installationen beispielsweise verlassen sich darauf für die saubere URL-Routing.
Der Marktanteil von Apache ging erheblich zurück, nachdem Nginx eine ereignisgesteuerte Architektur eingeführt hatte, die hohe Parallelität effizienter handhabte. Das traditionelle Prozess-pro-Verbindung-Modell von Apache verbrauchte unter hoher Last mehr Speicher. Aber Apache verschwand nie – es blieb dominant in Shared-Hosting-Umgebungen und wird immer noch häufig in Konfigurationen verwendet, die seine Flexibilität und ausgereifte Dokumentation gegenüber dem reinen Durchsatz bevorzugen. Die Apache Software Foundation, die gemeinnützige Organisation, die das Projekt überwacht, wurde auch zur institutionellen Heimat für Dutzende anderer Open-Source-Projekte, was Apache einen Einfluss verleiht, der weit über seinen HTTP-Server hinausgeht.

Credit: panumas nikhomkhai / Pexels
Nginx (ausgesprochen „engine-x“) wurde entwickelt, um ein spezifisches Problem zu lösen: In den frühen 2000er Jahren hatten Webserver auf Basis der Apache-Architektur Schwierigkeiten, zehntausende gleichzeitige Verbindungen effizient zu handhaben. Igor Sysoev, ein russischer Softwareingenieur, begann 2002 mit der Entwicklung von Nginx, um dieses Problem zu adressieren, und veröffentlichte es 2004 öffentlich. Die Software führte eine ereignisgesteuerte, asynchrone Architektur ein, die gleichzeitige Verbindungen mit weit weniger Speicheraufwand als das traditionelle Prozess-pro-Anfrage-Modell handhabte.
Das Problem, das Sysoev ansprach, hatte einen Namen: das C10K-Problem, formuliert 1999 vom Ingenieur Dan Kegel, der fragte, wie ein Webserver 10.000 gleichzeitige Clients handhaben könnte. Das Standardmodell von Apache wies jeder Verbindung einen Thread oder Prozess zu, was bei großem Umfang teuer wurde. Nginx hingegen nutzte eine eintägige Ereignisschleife – ähnlich wie Node.js später gestaltet werden würde – die viele Verbindungen innerhalb eines einzelnen Prozesses handhaben konnte.
Die Effizienz von Nginx machte es zur bevorzugten Wahl für stark frequentierte Websites. Es ist besonders gut geeignet, um statische Dateien bereitzustellen, als Reverse-Proxy vor Anwendungsservern zu fungieren und SSL-Terminierung zu handhaben. Große Websites verwenden Nginx als die Frontschicht ihrer Infrastruktur, um die Arbeit von Anwendungsservern zu entlasten, indem Nginx statische Assets verarbeitet und dynamische Anfragen an Backend-Services weiterleitet.
Über das reine Web-Serving hinaus wurde Nginx als Reverse-Proxy und Load Balancer unverzichtbar. In einer typischen modernen Bereitstellung sitzt Nginx vor einem Cluster von Anwendungsservern – Node.js-, Python- oder Ruby-Anwendungen – verteilt eingehende Anfragen und bietet der Außenwelt eine konsistente Schnittstelle. Es handhabt Verbindungswarteschlangen, Anforderungs-Pufferung und kann so konfiguriert werden, dass es zwischengespeicherte Antworten für häufige Anfragen zurückgibt, wodurch die Last auf Anwendungsserver erheblich reduziert wird.
Nginx, Inc., das Unternehmen, das Sysoev rund um das Projekt gründete, wurde 2019 von F5 Networks $FFIV für rund 670 Millionen Dollar übernommen. Das Open-Source-Projekt wird unter dieser Leitung fortgesetzt, mit einer kommerziellen Version namens Nginx Plus, die zusätzliche Funktionen bietet. Die grundlegende Open-Source-Version bleibt weit verbreitet und wird aktiv weiterentwickelt. Nach den meisten Maßstäben der Webserver-Nutzung machen Nginx und Apache zusammen einen beträchtlichen Großteil der aktiven Websites aus, wobei Nginx Apache im Marktanteil bei stark frequentierten Websites überholt hat.

Credit: panumas nikhomkhai / Pexels
Relationale Datenbanken sind die Arbeitspferde der Datenebene des Internets, und MySQL wurde zur Standardwahl für eine Generation von Webentwicklern. Entwickelt von den schwedischen und finnischen Entwicklern Michael Widenius und David Axmark im Jahr 1995, bot MySQL eine schnelle, zuverlässige und kostenlose Alternative zu kommerziellen Datenbanksystemen wie Oracle $ORCL. Es wurde das „M“ im LAMP-Stack und betrieb einen Großteil der dynamischen Inhalte des frühen Webs.
Die Designprioritäten von MySQL waren pragmatisch: Geschwindigkeit und Einfachheit über strikte Standardkonformität. Frühere Versionen von MySQL verzichteten auf Funktionen wie gespeicherte Prozeduren, Trigger und Fremdschlüssel-Einschränkungen zugunsten der Rohabfrageleistung. Dies machte es gut geeignet für leseintensive Webanwendungen — Online-Foren, E-Commerce-Kataloge, Content-Management-Systeme — bei denen die Fähigkeit, Daten schnell abzurufen, mehr zählte als komplexe transaktionale Integrität.
Die Datenbank wurde zum Rückgrat einiger der am meisten besuchten Websites im Internet. Wikipedia läuft auf MariaDB, einem MySQL-Fork. Facebook $META nutzte MySQL ausgiebig, bevor sie Anpassungen entwickelten und schließlich Cassandra für bestimmte Arbeitslasten einsetzten. WordPress, das einen erheblichen Anteil aller Websites antreibt, verwendet MySQL als Standarddatenbank. Die Beziehung zwischen WordPress und MySQL veranschaulicht, wie tief sich diese Datenbank in die Infrastruktur des Webs eingebettet hat: Millionen von Websites hängen davon ab, ohne dass ihre Betreiber unbedingt ihren Namen kennen.
Sun Microsystems erwarb MySQL AB, das Unternehmen hinter der Datenbank, im Jahr 2008 für etwa 1 Milliarde US-Dollar. Als Oracle Sun im Jahr 2010 übernahm, trat in der Open-Source-Community Besorgnis über die Zukunft von MySQL unter einem Unternehmen auf, das auch eine konkurrierende proprietäre Datenbank verkaufte. Diese Bedenken führten zur Schaffung von MariaDB, einem von Widenius selbst initiierten Community-Fork, der sicherstellen soll, dass ein vollständig offener Entwicklungsweg fortgesetzt wird.
MySQL wird unter Oracle noch aktiv entwickelt und ist nach wie vor eine der am weitesten verbreiteten Datenbanken der Welt. Seine Langlebigkeit spiegelt die enorme installierte Basis wider, die während der LAMP-Ära aufgebaut wurde — Anwendungen wechseln nicht einfach die Datenbanken, und die Leistung und Kompatibilität von MySQL haben sich weiter verbessert.

Credit: Fez Brook / Pexels
PostgreSQL ist die Datenbank, die Entwickler wählen, wenn sie die Zugänglichkeit von MySQL und die Korrektheit von Oracle $ORCL benötigen. Es ist eine vollausgestattete relationale Datenbank, die seit 1986 kontinuierlich entwickelt wird, was sie zu einem der am längsten lebenden aktiven Open-Source-Projekte macht. Ihr Ruf für Standardkonformität, Datenintegrität und erweiterte Funktionsunterstützung hat sie zur bevorzugten Wahl für Anwendungen gemacht, bei denen Korrektheit ebenso wichtig ist wie Geschwindigkeit.
Das Projekt stammt von einer Forschungsdatenbank namens POSTGRES, die an der University of California, Berkeley von Michael Stonebraker und seinen Studenten entwickelt wurde. Als die Finanzierung des Projekts durch Berkeley endete, schrieb eine Gruppe von Entwicklern die Abfrage-Engine um, um SQL zu unterstützen, und veröffentlichte das Ergebnis 1996 als PostgreSQL. Die Entwicklung wurde unter einer Non-Profit-Organisation namens PostgreSQL Global Development Group fortgesetzt, ohne dass ein einzelnes Unternehmen das Projekt kontrolliert.
Die Funktionspalette von PostgreSQL ist umfangreich. Es unterstützt komplexe Datentypen — JSON, Arrays, geometrische Daten, Volltextsuche — die relationale Datenbanken traditionell Erweiterungen erforderten, um sie zu verarbeiten. Es hat eine robuste Unterstützung für Transaktionen mit ordnungsgemäßer ACID-Konformität, was bedeutet, dass die Datenintegrität selbst dann garantiert ist, wenn Operationen auf halbem Weg fehlschlagen. Seine Unterstützung für komplexe Abfragen, Fensterfunktionen und gemeinsame Tabellenausdrücke macht es fähig für analytische Arbeitslasten, die MySQL historisch schlecht bewältigte.
Ein hervorstechendes Merkmal der Architektur von PostgreSQL ist die Erweiterbarkeit. Benutzer können ihre eigenen Datentypen, Operatoren und Indexarten definieren. Die PostGIS-Erweiterung fügt PostgreSQL vollständige Geoinformationssystem-Fähigkeiten hinzu und macht es zur Datenbank, die vielen der weltweit geospatialen Software zugrunde liegt. Die TimescaleDB-Erweiterung verwandelt PostgreSQL in eine Zeitreihen-Datenbank. Diese Erweiterbarkeit bedeutet, dass PostgreSQL zur Grundlage für spezialisierte Datenbanken geworden ist, die seine Zuverlässigkeit erben, während sie spezifische Bedürfnisse bedienen.
Der Aufstieg von PostgreSQL in der Popularität beschleunigte sich in den 2010er Jahren erheblich, als Cloud-Anbieter – Amazon $AMZN, Google $GOOGL, Microsoft $MSFT – verwaltete PostgreSQL-Dienste anboten, wodurch die betriebliche Last, die Datenbank selbst zu betreiben, entfiel. Für neue Projekte ist PostgreSQL zur Standardwahl unter Entwicklern geworden, die Zuverlässigkeit der historischen Vertrautheit mit MySQL vorziehen.

Credit: William Warby / Pexels
Redis nimmt eine ungewöhnliche Position in der Welt der Datenbanken ein: Es ist ein Datenspeicher, der vollständig im Speicher lebt, entwickelt, um schneller zu sein als fast alles andere. Entwickelt vom italienischen Entwickler Salvatore Sanfilippo im Jahr 2009, begann Redis als eine Möglichkeit, die Leistung eines Echtzeit-Web-Analyse-Tools zu verbessern, das er entwickelte. Die zentrale Erkenntnis war, dass für bestimmte Datentypen – Zähler, Sitzungsinformationen, Ranglisten, Caches – die Latenz des Lesens von der Festplatte unnötig war. Wenn Sie die Daten in den RAM stellen, können Operationen, die auf einer festplattenbasierten Datenbank Millisekunden dauern, in Mikrosekunden ausgeführt werden.
Der Name steht für Remote Dictionary Server, was sein grundlegendes Modell beschreibt: ein Server, der Daten als Schlüssel-Wert-Paare speichert. Aber Redis erweiterte dieses Modell mit einer Reihe von Datenstrukturen – Strings, Listen, Sets, sortierte Sets, Hashes, Bitmaps und mehr – jede mit ihrem eigenen Satz von Operationen. Ein sortiertes Set ermöglicht es beispielsweise, eine Sammlung von Elementen nach einer numerischen Punktzahl geordnet zu speichern, was die Implementierung einer Rangliste oder einer Prioritätswarteschlange trivial macht.
Redis wurde zur nahezu universellen Lösung für das Caching in Webanwendungen. Wenn ein Webserver eine Seite anzeigen muss, die mehrere Datenbankabfragen erfordert, kann er das Ergebnis in Redis nach der ersten Anfrage speichern. Nachfolgende Anfragen rufen das zwischengespeicherte Ergebnis in Mikrosekunden ab, anstatt die Datenbank erneut abzufragen. Dieses Muster – Anwendung spricht zuerst mit Redis, fällt auf Datenbank zurück, wenn der Cache kalt ist – reduzierte die Datenbanklast in der gesamten Branche und machte Webanwendungen wesentlich reaktionsfähiger.
Über das Caching hinaus wurde Redis zur Standardinfrastruktur für Ratenbegrenzung, Sitzungspeicherung, Pub/Sub-Messaging und Echtzeit-Datenpipelines. Seine atomaren Operationen – die garantieren, dass bestimmte Operationen ohne Unterbrechung abgeschlossen werden – machten es zuverlässig für verteilte Systeme, die ohne Race-Conditions koordiniert werden müssen.
Redis Labs führte 2024 eine umstrittene Lizenzänderung durch und wechselte von einer Open-Source-Lizenz zu einem restriktiveren Modell. Dies veranlasste die Linux Foundation, das Projekt unter dem Namen Valkey zu forken, das seitdem Unterstützung von großen Cloud-Anbietern erhalten hat. Der Vorfall veranschaulicht die komplexe Beziehung zwischen Open-Source-Projekten und den kommerziellen Einheiten, die sie oft entwickeln.

Credit: Markus Spiske / Pexels
curl ist eines der am weitesten verbreiteten Softwarestücke der Welt, und die meisten Menschen, die es verwenden, kennen es nicht beim Namen. Es ist ein Kommandozeilen-Tool und eine Bibliothek zum Übertragen von Daten über Netzwerke und wird standardmäßig mit fast jeder Version von Linux, macOS und Windows geliefert. Wenn ein Entwickler ein Skript schreibt, das Daten von einer API abruft, oder wenn ein eingebettetes Firmware-Stück einen Server auf ein Update überprüft, ist curl oft das Tool, das die eigentliche Arbeit macht.
Das Projekt wurde 1998 vom schwedischen Entwickler Daniel Stenberg ins Leben gerufen und begann als einfaches Tool zum Herunterladen von Wechselkursen. Stenberg hat es seitdem gewartet – eine außergewöhnliche Spanne kontinuierlichen Engagements, die eines der am längsten laufenden Einzelwartungsprojekte in der Open-Source-Geschichte darstellt. Trotz seiner Allgegenwart operierte curl über einen Großteil seiner Geschichte mit minimaler Finanzierung, eine Situation, die während breiterer Diskussionen über die Nachhaltigkeit von Open-Source Aufmerksamkeit erregte.
curl unterstützt eine enorme Bandbreite an Protokollen: HTTP, HTTPS, FTP, SFTP, SCP, SMTP und Dutzende andere. Diese Vielfalt machte es zum Standardwerkzeug für Netzwerkübertragungen in verschiedenen Kontexten. Sein -v (verbose) Flag, das jeden Schritt einer Netzwerktransaktion zeigt, machte es für das Debuggen unverzichtbar. Seine Fähigkeit, Header zu setzen, POST-Daten zu senden, Cookies zu behandeln, Weiterleitungen zu folgen und mit verschiedenen Schemen zu authentifizieren, bedeutete, dass es mit praktisch jedem Netzwerkdienst interagieren konnte.
Die libcurl-Bibliothek — die einbettbare Version von curl, die Entwickler in ihre eigene Software einbinden können — wurde in Tausende von Anwendungen integriert. Sie ist in Routern, Druckern, Autos, medizinischen Geräten und Satelliten vorhanden. Die Sicherheitsberatungen des curl-Projekts erhalten Aufmerksamkeit von Hardwareherstellern, die eingebettete Geräte mit der Bibliothek ausliefern, denn eine Schwachstelle in curl ist eine Schwachstelle in all diesen Geräten.
Stenberg hat ausführlich über die Erfahrung geschrieben, als Einzelperson kritische Infrastruktur zu warten, einschließlich der finanziellen Unsicherheit, die die ersten zwei Jahrzehnte von curl prägte. Seine Situation wurde zu einem Referenzpunkt in Diskussionen darüber, wie das Open-Source-Ökosystem es versäumt, die Einzelpersonen, die seine kritischsten Komponenten warten, angemessen zu unterstützen.
-1920x1281.jpg)
Credit: FlyD / Unsplash
OpenSSL ist die Bibliothek, die das Internet verschlüsselt. Wenn ein Browser eine sichere Verbindung zu einer Website herstellt — das Schloss-Symbol in der Adressleiste — werden die zugrunde liegenden kryptografischen Operationen oft von OpenSSL oder einem seiner Derivate ausgeführt. Es implementiert das TLS (Transport Layer Security) Protokoll, das Daten im Transit über das Internet schützt, und bietet eine breite Palette von kryptografischen Funktionen, auf die Anwendungen für sichere Operationen angewiesen sind.
Das Projekt begann 1998 als Abspaltung von SSLeay, einer von Eric Young und Tim Hudson entwickelten Bibliothek. Es wurde zur dominierenden Open-Source-Implementierung der SSL/TLS-Protokolle und wurde in Webserver, Datenbanken, VPN-Software, E-Mail-Clients und Tausende andere Anwendungen integriert. Da kryptografischer Code schwer korrekt zu schreiben und noch schwerer zu prüfen ist, konzentrierte sich die Open-Source-Community weitgehend auf OpenSSL, anstatt dass jedes Projekt seine eigene Implementierung entwickelt.
Diese Konsolidierung schuf einen einzigen Fehlerpunkt. Im April 2014 veröffentlichten Forscher die Heartbleed-Sicherheitslücke – einen Fehler in der Implementierung der TLS-Heartbeat-Erweiterung von OpenSSL, der es einem Angreifer ermöglichte, beliebigen Speicher von einem Server zu lesen, der eine verwundbare Version ausführte. Der Fehler betraf einen erschreckend großen Anteil von HTTPS-Servern weltweit. Er erforderte gleichzeitig Notfall-Patches von Betriebssystemanbietern, Webserver-Betreibern, Zertifizierungsstellen und Hardwareherstellern. Private Schlüssel waren möglicherweise offengelegt worden, was bedeutete, dass SSL-Zertifikate in großem Umfang widerrufen und neu ausgestellt werden mussten.
Die Heartbleed-Veröffentlichung zeigte, dass OpenSSL, obwohl es eines der kritischsten Teile der Sicherheitsinfrastruktur im Internet ist, von einem kleinen Team mit minimaler Finanzierung gewartet wird. Zu dieser Zeit hatte das Projekt ungefähr einen Vollzeitmitarbeiter. Die Core Infrastructure Initiative, finanziert von großen Technologieunternehmen, wurde als Reaktion darauf gegründet, um kritische Open-Source-Sicherheitsprojekte finanziell zu unterstützen.
Seitdem hat OpenSSL erhebliche Sicherheitsverbesserungen, Codeprüfungen und Änderungen im Entwicklungsprozess durchlaufen. Das Projekt erhält nun mehr Ressourcen als vor Heartbleed. Aber das Ereignis bleibt die deutlichste Illustration dessen, was schiefgehen kann, wenn das Internet eine kritische Abhängigkeit auf ein unterfinanziertes Open-Source-Projekt konzentriert.
-1920x1282.jpg)
Credit: Chris Ried / Unsplash
Git hat die Art und Weise, wie Software erstellt wird, verändert. Vor Git waren Versionskontrollsysteme – Software, die Änderungen am Code im Laufe der Zeit verfolgt – zentralisiert: Alle Entwickler teilten sich ein einziges Repository auf einem zentralen Server. Wenn Sie verzweigen, zusammenführen oder offline arbeiten wollten, waren die Werkzeuge umständlich. Git führte ein verteiltes Modell ein, bei dem jeder Entwickler eine vollständige Kopie des Repositorys hat, wodurch Arbeitsabläufe ermöglicht wurden, die zuvor unpraktisch gewesen wären.
Linus Torvalds erstellte Git 2005, um die Entwicklung des Linux-Kernels zu verwalten, nachdem das vorherige Versionskontrollwerkzeug der Community, BitKeeper, nicht mehr verfügbar war. Torvalds schrieb die erste Version in etwa zwei Wochen mit Fokus auf Geschwindigkeit und Datenintegrität. Git verwendet ein inhaltsadressierbares Speicherungsmodell – jede Datei und jeder Commit wird durch einen kryptografischen Hash seines Inhalts identifiziert –, was bedeutet, dass Korruption oder Manipulation erkennbar ist. Diese Designentscheidung war beabsichtigt: Torvalds wollte ein System schaffen, das es unmöglich macht, die Geschichte unbemerkt zu verändern.
Das verteilte Design von Git bedeutete, dass Operationen wie Verzweigung und Zusammenführung, die in zentralisierten Systemen schmerzhaft gewesen waren, schnell und kostengünstig wurden. Ein Entwickler kann einen Zweig in Millisekunden erstellen, tagelang daran arbeiten und ihn mit einer vollständigen, überprüfbaren Historie wieder zusammenführen. Dieser Arbeitsablauf ermöglichte das Open-Source-Kollaborationsmodell, auf dem Plattformen wie GitHub und GitLab später ihre Geschäfte aufbauten.
Die Verzweigungs- und Zusammenführungsmöglichkeiten prägten nicht nur einzelne Projekte, sondern ganze Entwicklungsmethoden. Die "Git-Flow"-Branching-Strategie, 2010 von Vincent Driessen veröffentlicht, wurde in Software-Teams weit verbreitet. Continuous-Integration-Systeme, die Code automatisch testen, wenn Änderungen vorgeschlagen werden, basieren auf der Annahme, dass Git-Style-Pull-Requests existieren. Die gesamte moderne Softwareentwicklungspraxis der Code-Überprüfung entstand aus Workflows, die Git praktisch machte.
GitHub, 2008 gestartet, machte Git einem viel breiteren Publikum zugänglich, indem es eine Weboberfläche, Issue-Tracking und soziale Funktionen bereitstellte. Microsoft $MSFT erwarb GitHub 2018 für 7,5 Milliarden Dollar, ein Preis, der widerspiegelte, wie zentral die Plattform für die weltweite Softwareentwicklung geworden war. Aber GitHub ist ein Produkt, das auf Git aufbaut — das Versionskontrollsystem selbst bleibt ein Open-Source-Projekt, das Torvalds initiierte und die Community erweiterte.

Credit: Tom Fisk / Pexels
Kubernetes ist Container-Orchestrierungs-Software — ein System zum Bereitstellen, Skalieren und Verwalten von Anwendungen, die als Container über Cluster von Maschinen verteilt sind. Es wurde von Google $GOOGL-Ingenieuren entwickelt und 2014 als Open-Source veröffentlicht, basierend auf internen Google-Systemen namens Borg und Omega, die das Unternehmen jahrelang zur Verwaltung seiner eigenen Workloads eingesetzt hatte. Die Veröffentlichung von Kubernetes veränderte die Art und Weise, wie die Branche über die Bereitstellung von Software im großen Maßstab dachte.
Ein Container im Software-Sinn ist ein leichtgewichtiges Paket, das eine Anwendung und alles, was sie zum Laufen braucht, enthält — seine Abhängigkeiten, Konfiguration und Laufzeit — isoliert vom Hostsystem. Docker machte Container populär und praktisch für Entwicklungsteams. Kubernetes löste das schwierigere Problem, was man mit Containern im großen Maßstab tun sollte: Wie stellt man 500 davon bereit, sorgt dafür, dass sie neu starten, wenn sie ausfallen, balanciert die Last zwischen ihnen, führt Updates ohne Ausfallzeiten durch und verwaltet deren Netzwerk?
Kubernetes führte ein deklaratives Modell für Infrastruktur ein: Anstatt die Schritte zur Bereitstellung von Software anzugeben, beschreibt man den gewünschten Zustand — "Ich möchte drei Instanzen dieses Dienstes ausführen" — und Kubernetes findet heraus, wie man diesen Zustand erreicht und aufrechterhält. Fällt ein Knoten aus, plant Kubernetes die betroffenen Container anderswo neu. Wenn der Verkehr ansteigt, kann Kubernetes automatisch skalieren. Dieses Modell machte den Betrieb zuverlässiger und reduzierte den manuellen Aufwand des Servermanagements.
Das Projekt wurde 2016 der Cloud Native Computing Foundation gespendet, wodurch es der direkten Kontrolle von Google entzogen und zu einem herstellerneutralen Community-Projekt gemacht wurde. Diese Governance-Entscheidung war wichtig: Sie versicherte Wettbewerbern und Nutzern, dass kein einzelnes Unternehmen die Richtung des Projekts dominieren könnte. Die CNCF wurde die Heimat eines breiten Ökosystems von cloudnativen Werkzeugen, die rund um Kubernetes aufgebaut sind.
Kubernetes hat das Cloud-Computing transformiert, indem es Workloads portabler machte. Da Kubernetes konsistent über verschiedene Cloud-Anbieter hinweg läuft, erhielten Organisationen die Möglichkeit, Anwendungen zu betreiben, ohne vollständig an die Plattform eines Anbieters gebunden zu sein. Alle drei großen Cloud-Anbieter — Amazon $AMZN, Google und Microsoft $MSFT — bieten verwaltete Kubernetes-Dienste an, was zeigt, wie zentral das Projekt trotz seines Ursprungs bei einem der Konkurrenten dieser Anbieter für die Cloud-Infrastruktur wurde.

Credit: Markus Winkler / Pexels
Debian ist eine Linux-Distribution – ein komplettes Betriebssystem, das auf dem Linux-Kernel basiert, mit einem Paketverwaltungssystem, einer Reihe von enthaltenen Software und einer Reihe von Richtlinien, die festlegen, wie Software gewartet wird. Es ist nicht die sichtbarste Linux-Distribution; Ubuntu, das auf Debian basiert, erhält mehr Aufmerksamkeit. Aber Debian ist für einen großen Teil des Linux-Ökosystems von grundlegender Bedeutung und wird seit der Ankündigung des Projekts durch Ian Murdock im Jahr 1993 vollständig von Freiwilligen entwickelt.
Was Debian auszeichnet, ist sein Governance-Modell und sein Engagement für die Prinzipien freier Software. Das Projekt wird demokratisch geführt: Ein Debian-Projektleiter wird jährlich von den Entwicklern des Projekts gewählt, und wichtige Richtlinienentscheidungen werden durch Abstimmungen getroffen. Der Debian-Gesellschaftsvertrag und die Debian-Richtlinien für freie Software, die 1997 veröffentlicht wurden, legten Prinzipien zur Freiheit von Software fest, die die gesamte Open-Source-Bewegung beeinflussten. Die Open Source Definition, die definiert, was "Open Source" bedeutet, wurde direkt aus den Debian-Richtlinien für freie Software abgeleitet.
Debians Paketverwaltungssystem, das auf APT (Advanced Package Tool) und dem .deb-Paketformat basiert, war eines der ersten, das das "Dependency Hell"-Problem gelöst hat – die Herausforderung, Software zu installieren, die erfordert, dass zuerst andere Software installiert wird, die wiederum andere Software erfordert. Debians Abhängigkeitsauflösung machte es möglich, komplexe Software mit einem einzigen Befehl zu installieren, wobei alles Notwendige automatisch abgerufen und installiert wurde. Dieser Ansatz wurde zum Modell für das Paketmanagement in allen Linux-Distributionen.
Die Distribution wurde auch zur Grundlage für eine große Anzahl von abgeleiteten Distributionen. Ubuntu, das zur dominanten Desktop- und Cloud-Linux-Distribution wurde, ist direkt von Debian abgeleitet. Raspberry Pi OS, das auf dem beliebten Einplatinencomputer verwendet wird, basiert auf Debian. Viele Docker-Containerbilder verwenden Debian oder Debian-abgeleitete Basisbilder.
Debians Veröffentlichungszyklus ist bewusst langsam – neue stabile Veröffentlichungen erscheinen alle zwei Jahre, mit einer langen Einfrierphase für Tests. Diese Vorsicht macht es zu einer zuverlässigen Wahl für Server, bei denen Stabilität wichtiger ist als die neuesten Softwareversionen zu haben. Die Langlebigkeit und Stabilität des Projekts, die vollständig von Freiwilligen über drei Jahrzehnte hinweg aufrechterhalten wird, ist eine ungewöhnliche Leistung in der Software.

Credit: Nemuel Sereti / Pexels
Python ist eine Programmiersprache, gehört aber auf diese Liste, weil sie zu einer der primären Sprachen der Internet-Infrastruktur, Datenwissenschaft und Automatisierung geworden ist. Sie wurde vom niederländischen Informatiker Guido van Rossum entwickelt und 1991 erstmals veröffentlicht. Python wurde mit Lesbarkeit als zentrales Ziel entworfen – seine Syntax erzwingt die Einrückung zur Strukturierung des Codes, was laut van Rossum Programme leichter verständlich machte. Diese Designentscheidung machte Python so zugänglich, dass es sich weit über seine ursprüngliche Zielgruppe hinaus verbreitete.
Pythons Rolle in der Internet-Infrastruktur nimmt mehrere Formen an. Es ist die Sprache von Django und Flask, zwei Web-Frameworks, die Tausende von Webanwendungen antreiben. Die Server-Infrastruktur von Instagram wurde auf Django aufgebaut. Dropbox wurde in Python gebaut. Die Sprache wird stark bei Google $GOOGL, Spotify $SPOT, Reddit $RDDT und YouTube genutzt. Wenn Entwickler ein Skript schreiben müssen, um Daten zu verarbeiten, eine Aufgabe zu automatisieren oder einen Dienst schnell zu prototypisieren, ist Python häufig die Wahl.
Die Dominanz der Sprache in der Datenwissenschaft und im maschinellen Lernen ist ebenso bedeutend. NumPy, Pandas, Scikit-learn, TensorFlow und PyTorch – die primären Bibliotheken für wissenschaftliches Rechnen und maschinelles Lernen – sind alle Python-Bibliotheken. Das Aufkommen des maschinellen Lernens als praktische Technologie in den 2010er Jahren trieb die Python-Adoption dramatisch voran: Forscher und Ingenieure, die mit diesen Werkzeugen arbeiten mussten, mussten in Python arbeiten. Bis Anfang der 2020er Jahre war Python in vielerlei Hinsicht die am weitesten verbreitete Programmiersprache der Welt geworden.
Python wird von der Python Software Foundation verwaltet, einer gemeinnützigen Organisation, die das geistige Eigentum an der Sprache hält und die Community unterstützt. Van Rossum diente als das, was die Community "Benevolent Dictator for Life" nannte – der endgültige Schiedsrichter für Sprachdesignentscheidungen – bis er 2018 von dieser Rolle zurücktrat. Die Sprache wird jetzt von einem Lenkungsausschuss verwaltet.
Ein Merkmal des Python-Ökosystems ist die zentrale Rolle von PyPI (dem Python Package Index), einem Repository mit über 500.000 Paketen, die Python-Entwickler mit einem einzigen Befehl installieren können. PyPI ist die Vertriebsinfrastruktur für das Python-Ökosystem – ein kritisches Stück Internet-Infrastruktur, das, wie viele andere, erheblich auf freiwillige Anstrengungen und relativ bescheidene Finanzierung angewiesen ist.

Credit: Christina Morillo / Pexels
Ansible ist Automatisierungssoftware zur Verwaltung von Computerinfrastrukturen. Es wurde von Michael DeHaan erstellt und erstmals 2012 veröffentlicht, um ein Problem zu lösen, das akuter geworden war, als Organisationen mehr Server bereitstellten: Wie konfiguriert man Tausende von Maschinen konsistent, wendet Updates auf alle von ihnen an und dokumentiert, was wo installiert ist? Ansible näherte sich diesem Problem mit einer auf Einfachheit ausgerichteten Designphilosophie – es verwendet ein für Menschen lesbares Format namens YAML, um gewünschte Systemzustände zu beschreiben, erfordert keine Softwareinstallation auf den verwalteten Maschinen und verbindet sich über gewöhnliches SSH.
Das "keine Agenten"-Design war ein bedeutender Bruch mit früheren Konfigurationsmanagement-Tools wie Puppet und Chef, die die Installation und Wartung von Agentensoftware auf jeder verwalteten Maschine erforderten. Der agentenlose Ansatz von Ansible reduzierte den betrieblichen Aufwand der Einführung erheblich – man konnte es auf vorhandene Server richten, ohne diese vorher zu modifizieren. Dies machte es für Teams zugänglich, die die Komplexität von agentenbasierten Tools als Barriere empfanden.
Ansibles Playbooks – die YAML-Dateien, die Automatisierungsaufgaben beschreiben – wurden für viele Organisationen zur primären Methode, ihre Infrastruktur als Code zu dokumentieren. Anstatt sich auf institutionelles Wissen darüber zu verlassen, wie Server konfiguriert waren, konnten Teams ihre Ansible-Playbooks lesen, um genau zu verstehen, in welchem Zustand sich jedes System befinden sollte. Dieser "Infrastruktur als Code"-Ansatz machte Umgebungen reproduzierbar und überprüfbar in einer Weise, wie es eine manuelle Konfiguration niemals könnte.
Red Hat erwarb Ansible im Jahr 2015 für etwa 150 Millionen US-Dollar und integrierte es in sein Enterprise-Produktportfolio, während das Kernprojekt Open Source blieb. Die Übernahme spiegelte wider, wie wichtig Automatisierung für den IT-Betrieb in Unternehmen geworden war. Red Hat wurde anschließend Teil von IBM $IBM, das es 2019 übernahm.
Die Rolle von Ansible im modernen Internet ist weitgehend unsichtbar: Es läuft im Hintergrund während der Bereitstellung, hält Server korrekt konfiguriert und ermöglicht es Teams, Hunderte oder Tausende von Maschinen mit dem gleichen Aufwand zu verwalten, der einst physischen Zugang zu jedem einzelnen erforderte. Wenn ein Cloud-Anbieter die Konfiguration seiner Server aktualisiert oder wenn ein Unternehmen einen Sicherheitspatch über seine gesamte Flotte ausrollt, ist der Mechanismus oft etwas wie Ansible, das leise im Hintergrund arbeitet.

Credit: Tima Miroshnichenko / Pexels
Elasticsearch ist eine Suchmaschine, die auf Apache Lucene basiert und entwickelt wurde, um Volltextsuche schnell, skalierbar und über eine einfache API zugänglich zu machen. Sie wurde von Shay Banon erstellt, 2010 erstmals veröffentlicht und hat sich seitdem zur am weitesten verbreiteten Suchmaschine in Unternehmens- und Webanwendungen entwickelt. Wenn die Suchleiste einer Website Ergebnisse in Millisekunden zurückgibt oder ein Protokollverwaltungssystem es Ingenieuren ermöglicht, Milliarden von Protokolleinträgen zu durchsuchen, ist oft Elasticsearch die darunterliegende Engine.
Das Design der Software zentriert sich von Anfang an auf eine verteilte Architektur. Ein Elasticsearch-Cluster verteilt Daten auf mehrere Knoten und kümmert sich automatisch um Replikation und Lastverteilung. Abfragen werden parallel über Shards verarbeitet, was Suchleistung in einem Umfang ermöglicht, den Einzelmaschinen-Datenbanken nicht erreichen können. Das Hinzufügen von Knoten zu einem Cluster skaliert die Kapazität horizontal – ein Design, das gut mit den Cloud-Infrastrukturmustern übereinstimmt, die in den 2010er Jahren Standard wurden.
Über die Suche hinaus wurde Elasticsearch zur Grundlage des ELK-Stacks – Elasticsearch, Logstash (ein Daten-Pipeline-Tool) und Kibana (eine Visualisierungsschnittstelle). Diese Kombination wurde zur dominierenden Open-Source-Lösung für die Protokollaggregation und -analyse. Betreiber von Web-Infrastrukturen müssen Protokolle von Hunderten von Diensten sammeln, sie für den schnellen Zugriff indexieren und Muster visualisieren, um Probleme zu debuggen. Der ELK-Stack bot diese Fähigkeit mit einer kohärenten Schnittstelle und starker Unterstützung durch das Ökosystem.
Elasticsearch wird von Elastic, dem von Banon gegründeten Unternehmen, gepflegt. Wie Redis änderte Elastic im Jahr 2021 seine Lizenzbedingungen und wechselte von der Apache-Lizenz zu einer restriktiveren, proprietär angelehnten Lizenz, da Bedenken bestanden, dass Cloud-Anbieter Elasticsearch als Service anbieten, ohne zur Entwicklung beizutragen. Amazon $AMZN reagierte mit der Erstellung von OpenSearch, einem Fork der letzten Apache-lizenzierten Version von Elasticsearch, der als separates Open-Source-Projekt weitergeführt wird.
Die Frage, wie man kommerziell tragfähige Unternehmen rund um Open-Source-Software aufrechterhält, während man verhindert, dass Cloud-Anbieter ohne Beitrag Werte abschöpfen, ist zu einer der bestimmenden Spannungen der modernen Open-Source-Ära geworden. Elasticsearch und Redis sind zwei der prominentesten Beispiele für Projekte, bei denen diese Spannung zu sichtbaren Forks und Governance-Konflikten führte.

Credit: Luke Chesser / Unsplash
Prometheus ist ein Überwachungssystem und eine Zeitreihendatenbank, die bei SoundCloud erstellt und 2012 als Open Source veröffentlicht wurde. Es wurde entwickelt, um ein spezifisches Problem zu lösen: Wie überwacht man moderne verteilte Anwendungen, bei denen ein einzelner Dienst aus Dutzenden von Microservices bestehen kann, die auf Hunderten von Containern laufen, ohne feste IP-Adressen und mit Diensten, die kontinuierlich auf- und abgeschaltet werden? Die Überwachungstools des letzten Jahrzehnts gingen von einer relativ statischen Infrastruktur aus, die manuell konfiguriert werden konnte. Prometheus ging davon aus, dass die Infrastruktur flüchtig war und Dienste automatisch entdecken und verfolgen musste.
Der Ansatz des Projekts zur Datenerfassung, das sogenannte Pull-Modell, war unverwechselbar. Anstatt dass Dienste Metriken zu einem zentralen Server senden, fragt Prometheus regelmäßig Ziel-Dienste über HTTP nach ihren Metriken ab. Dienste stellen einen Metrik-Endpunkt bereit – typischerweise unter /metrics – und Prometheus greift sie regelmäßig ab. Dieses Design machte es einfach, jedem Dienst, der einen HTTP-Endpunkt bereitstellen konnte, eine Überwachung hinzuzufügen, und es gab den Betreibern einen klaren Überblick darüber, was zu einem bestimmten Zeitpunkt überwacht wurde.
Prometheus führte eine leistungsstarke Abfragesprache namens PromQL ein, mit der Betreiber komplexe Abfragen zu Zeitreihendaten ausdrücken können. Ein Betreiber kann nach dem 95. Perzentil der Anforderungslatenz über alle Instanzen eines Dienstes in den letzten fünf Minuten fragen oder die Rate von Fehlern im Vergleich zu erfolgreichen Anfragen verfolgen. Diese Abfragen speisen Dashboards und Alarmierungsregeln, die Ingenieure darüber informieren, wenn etwas nicht stimmt, bevor Benutzer es bemerken.
Prometheus war das zweite Projekt, das 2016 der Cloud Native Computing Foundation beitrat, nach Kubernetes. Seine Aufnahme spiegelte wider, wie zentral die Überwachung für Cloud-native Operationen geworden war. Ein großes Ökosystem von „Exporteuren“ wuchs um Prometheus herum – Softwarekomponenten, die Metriken aus Datenbanken, Warteschlangen, Hardware und anderen Systemen in das Prometheus-Format übersetzten, sodass nahezu jede Komponente eines Infrastrukturstapels mit einer konsistenten Abfragesprache überwacht werden konnte.
Grafana, ein Visualisierungstool, das sich nahtlos in Prometheus integriert, wurde der Standardweg, um Prometheus-Daten darzustellen. Zusammen repräsentieren sie den De-facto-Überwachungsstack für Cloud-native Infrastrukturen, der branchenweit genutzt wird, um die Gesundheit der Systeme zu überwachen, die moderne Webanwendungen betreiben.