3 Punkte von GN⁺ 2023-11-17 | 1 Kommentare | Auf WhatsApp teilen

Vielfältige Unterstützung von Betriebssystemen in cURL und libcurl

  • In einem aktuellen Pull Request von cURL wurde festgehalten, dass vorgeschlagene Änderungen durch Mitwirkende das Testen auf Legacy-Plattformen nicht behindern dürfen.
  • cURL unterstützt derzeit den 32-Bit-Typ time_t, und es wird betont, dass diese Funktionalität erhalten bleiben muss.
  • Das Interesse an Legacy-Systemen dient dazu, Zusagen einzuhalten und unnötige Brüche zu vermeiden.

Teil von Stabilität und Verlässlichkeit

  • Das cURL-Projekt arbeitet kontinuierlich daran, Stabilität und Kompatibilität von ABI und API aufrechtzuerhalten.
  • Anwendungen, die Mitte der 2000er Jahre geschrieben wurden, funktionieren nach einem Upgrade auf die aktuelle libcurl weiterhin unverändert und ohne Neukompilierung.
  • Das ist ein zentrales Prinzip von cURL und libcurl: eine stabile Internet-Transferlösung, auf die sich Nutzer verlassen können.

Die Zahl der Nutzer ist nicht entscheidend

  • Die Anzahl der Nutzer einer bestimmten Plattform ist nicht die Motivation, diese Plattform zu unterstützen.
  • Entscheidend ist, dass jemand die Arbeit übernimmt und sie erledigt wird.
  • Wenn Mitwirkende fortlaufend sicherstellen, dass cURL auf einer bestimmten Plattform funktioniert, dann läuft cURL dort weiter, auch wenn es nur wenige Nutzer gibt.

Warum cURL überall ist

  • Dass cURL auf so vielen Betriebssystemen und CPU-Architekturen läuft und auf zahlreichen Geräten installiert ist, liegt am starken Fokus darauf, es überall bauen und ausführen zu können.
  • Viele Nutzer und Unternehmen halten an uralten, spezialisierten oder Legacy-Plattformen fest und argumentieren, dass die Abhängigkeit von cURL aus Sicherheitssicht deutlich besser ist als andere Alternativen.

Wir schaffen Spezifikationen weiterhin ab

  • cURL stellt gelegentlich die Unterstützung für bestimmte Bibliotheken von Drittanbietern ein und nimmt auch in anderen Bereichen Änderungen vor.
  • Spezifikationen werden langsam und vorsichtig außer Kraft gesetzt, begleitet von offener Kommunikation, damit alle sich vorbereiten oder Einwände erheben können.
  • Wenn Nutzer ein geändertes Verhalten nicht erkennen können, gilt es in der Praxis als unverändert.

Die Welt verändert sich

  • Internetprotokolle und Versionen verändern sich im Laufe der Zeit.
  • Die meisten cURL-Befehle, die 2002 geschrieben wurden, schlagen heute fehl, weil Hostnamen und URLs nicht mehr funktionieren.
  • Der Hauptgrund, warum ein 2002 geschriebener cURL-Befehl heute nicht mehr exakt gleich funktioniert, ist der Übergang von HTTP zu HTTPS.

Meinung von GN⁺

  • Das Wichtigste an diesem Beitrag ist, dass cURL eine Vielzahl von Betriebssystemen und Architekturen unterstützt und Entwickler sich bemühen, dadurch Stabilität und Kompatibilität zu bewahren.
  • Dass cURL trotz des Wandels bei Nutzern und Technologien weiterhin ein verlässliches Werkzeug bleibt, ist für viele Softwareingenieure und Nutzer eine interessante und reizvolle Tatsache.
  • Diese kontinuierliche Unterstützung und Stabilität machen cURL zu einem der grundlegenden Werkzeuge des Internets, das auch im Wandel der Technik eine wichtige Rolle spielt.

1 Kommentare

 
GN⁺ 2023-11-17
Hacker-News-Kommentare
  • Lob für die Leistung von Curl

    • Curl ist ein sehr wichtiges Werkzeug für Entwickler, deren Ziel es ist, die Funktionsfähigkeit auf vielen Betriebssystemen aufrechtzuerhalten.
    • Die Kompatibilität mit 32-Bit-time_t wurde hervorgehoben, zugleich wird angesichts des näher rückenden Year-2038-Problems der Wert einer 32-Bit-Zeitverarbeitung infrage gestellt.
  • Bewusstsein von Entwicklern für die Last, die Abhängigkeiten mit sich bringen

    • Infrastruktur und zentrale Systeme mit vielen Abhängigkeiten lassen sich nur schwer verändern.
    • Selbst einfache Änderungen können viele Services betreffen und erfordern daher eine sorgfältige Prüfung.
    • Es besteht Stolz darauf, bestehende Systeme zu erhalten und Änderungen unauffällig zu machen.
  • Fortgesetzte Nutzung antiker, spezieller und Legacy-Plattformen

    • Viele Nutzer und Unternehmen halten an alten Plattformen fest, oft weil sich die Situation nicht ändern lässt.
    • Einige Softwareentwickler liefern zweckgerechte Software und explizite Garantien, was teuer und langsam ist.
  • Zweifel daran, ob Curl auf alten Betriebssystemen noch unterstützt wird

    • Es wird infrage gestellt, ob aktuelle Builds auch auf Systemen erstellt werden, die seit mehr als 25 Jahren keine Updates mehr erhalten haben.
    • Trotz der Bemühungen, die Support-Matrix nicht zu beschädigen, ist schwer zu überprüfen, ob es in der Praxis tatsächlich funktioniert.
  • Die permissive Lizenz als einer der Gründe für die Popularität von Curl

    • Die Lizenz von Curl ähnelt der MIT-Lizenz, ist aber leicht unterschiedlich.
    • Es wird um eine kurze Erklärung der wichtigsten Unterschiede gebeten.
  • Überraschung über die Vielfalt der Linux-Versionen

    • Es gibt mehr als 100 Linux-Versionen, selbst wenn diese als ein einziges OS betrachtet werden.
  • Zweifel an der Unterscheidung ähnlicher Betriebssysteme

    • FreeDOS, DR-DOS und MS-DOS wurden als separate Betriebssysteme klassifiziert, obwohl sie tatsächlich ABI-kompatibel sind.
  • Forderungen nach einer Neuschreibung von Curl in Rust und Zweifel an Rusts Target-Fähigkeit

    • Es wird infrage gestellt, ob Rust alle Architekturen und Betriebssysteme als Ziel unterstützen kann, die Curl unterstützt.
  • Vorschlag weiterführender Lektüre zur Entstehung und Geschichte von Curl

    • Ein Blog-Link zur 25-jährigen Geschichte von Curl wurde geteilt.
  • Humorvolle Bemerkung über den breiten Support und die Updates von Curl

    • Ein Scherz darüber, Curl auf dem ENIAC auszuführen, wobei jedes Update sehr lange dauere.