Diskussion:Docker (Software)

Letzter Kommentar: vor 1 Jahr von Y2kbug in Abschnitt Freie Software? Apache 2 - Lizenz?

Wäre schön, die Docker-Begriffe etwas anschaulicher zu beschreiben...

Bearbeiten
  • Dockerfiles sind Skripte (reine ASCII-Text-Dateien) die man verwenden kann, um automatisiert Images zu erzeugen und dabei zu konfigurieren.
  • Docker-Images sind binäre Dateien, die auf Festplatte gespeichert bzw. in die Cloud (Docker Hub) hochgeladen und damit weltweit zugänglich gemacht werden können. Nach meinem bisherigen Verständnis verhält sich Image und Container wie Objekttyp(Klasse) und Objekt(Instanz der Klasse) ... stimmt das? Geeignete Synonyme????: Container-Typ, Container-Package, Container-Abbild, Container-Backup, Container-Snapshot, Container-Vorlage?
  • Container sind Instanzen von Images, d.h. Container sind aktiv, 'lebendig' und benötigen RAM, Prozessorzeit und I/O (wird ihnen von der Docker-Infrastruktur zugewiesen). Sie können auf Anfragen reagieren. Wenn ich es richtig verstanden habe, enthalten Docker-Container hauptsächlich Serverprozesse (z.B. Webserver, Datenbanken), die auf Anfragen über die (evtl. virtuelle) Netzwerkkarte reagieren.
  • Pods sind Container-Stapel, die einen einzelnen Dienst über eine einzelne IP-Adresse anbieten. Sie werden als eine logische Einheit betrachtet. "Kubernetes introduces the concept of a pod, which represents a group of containers that should be deployed as a single logical service. The pod concept tends to fit well with the popular pattern of running a single service per container." [1], "Typischerweise handelt es sich um Container, die miteinander in Verbindung stehen und einen bestimmten Dienst anbieten, beispielsweise einen Web- oder Applicationserver... IP-Adressen sind dabei üblicherweise an einzelne Pods gebunden.... Hat man beispielsweise festgestellt, dass ein bestimmter Pod über 4 Replicas verfügen soll und stehen momentan nur 3 Instanzen zur Verfügung, (dann kann der Autrag erfolgen) eine weitere Instanz des Pods zu starten" (Zitat aus iX 4.2015, S.51)
  • Infrastuktur: Eine Laufzeitumgebung der Container (z.B. CoreOS) enthält den Kernel. Ein darauf laufendes Framework (z.B. Kubernetes, "Steuermann") steuert die Ressourcenverteilung (Prozessoren, RAM. I/O) und die Überwachung der laufenden Container. Ein Provider kann damit "Container as a Service"(CaaS) anbieten.
  • Image-Layer: Ein Image besteht üblicherweise aus mehreren Layern (Schichten), die übereinander gestapelt werden. Wie bei einem Stapel bzw. wie bei einer Zwiebel. Der Base-Layer enthält immer eine Linux-Distribution. Die darauf aufsetzenden Layer enthalten dazu passende Ergänzungen, Änderungen (das Delta). Sobald so ein Stack mit 'docker run oberster_layer/image' gestartet wird, werden alle darunterliegenden Layer auch aktiv und bilden zusammen die laufende Einheit aus Betriebssystem und Anwendungen. Diese sind im laufenden Betrieb unveränderlich (read-only).
  • AUFS-Layer: Auf die Image-Layer eines Containerstapels wird noch eine weitere Schicht gelegt. Wie eine äußerste ("Wachstums-")Schicht bei einer Zwiebel. Diese ist beschreibbar (read-write) und anfangs leer. Dort werden alle Änderungen (Schreibvorgänge) des laufenden Systems abgelegt. Sie können auf Wunsch mit 'docker commit' als Image-Layer 'eingefroren' werden und stehen dann als weitere Schicht zur Verfügung. Um im Bild zu bleiben: Der Containerstapel ist damit einen Container höher geworden bzw. die Zwiebel ist um eine Schicht gewachsen.
  • Zum besseren Verständnis kann man sich die Layer auch als durchsichtige Klarsicht-Folien vorstellen. Auf jeder Folie ist ein Teil eines Bildes. Die Folien übereinandergelegt ergeben das ganze Bild. Nur die oberste Folie kann bemalt werden. Dabei können Bildteile von darunterliegenden Folien einfach überdeckt werden: sie sind noch da, aber im aktuellen Gesamtbild nicht mehr sichtbar. Das geniale: Die Folien können in anderern Bildern wiederverwendet werden. Die Folienstabel können dann in unterschiedlicher Infrastruktur aufgelegt werden (z.B. auf einen Overhead-Projektor, in einen Bilderrahmen)
  • Das Docker-Logo stellt ein Container-Schiff dar. Was bedeutet das? Stellt das Schiff den Docker-Hub dar, der gerade die Image-Stapel weltweit verteilt? :) Oder sollte man sich bei dem Schiff eher eine Linux-Infrastruktur vorstellen, welches Ressourcen für die Container-Stapel (Pods) bereitstellt? Die Container müsste man sich dann durchsichtig vorstellen, denn jeder enthält jeweils nur einen Teilaspekt eines Linux-Dateisystems und der Anwender schaut von oben auf die einzelnen Containerstapel.
  • Kann bitte jemand klären, ob Docker-Container auch Sinn machen für GUI-Client-Apps? [2](z.B. auf Qt-, KDE- oder Gnome-Basis)? Kann man zukünftig z.B. seine Qt-Anwendung als Docker-Image ausliefern?
  • PS: Welche Analogie gefällt euch am Besten? Das Container-System, die Zwiebel oder der Klarsichtfolien-Stapel :)

bitte korrigiert mich :) thx --Matthias.Ebert (Diskussion) (01:07, 30. Mär. 2015 (CEST), Datum/Uhrzeit nachträglich eingefügt, siehe Hilfe:Signatur)Beantworten

Pflichte dem umfänglich bei. Leider sind Ihre Erläuterungen auch nicht viel besser. Instanzen, Images sind alles Fachberiffe - es fehlen Vergleiche und Abgrenzung zu herkömmlicher, bekannter Software. Ich weiß nach den ersten Zeilen bis zur Mitte bei Geschichte immer noch nicht, was das ist und wofür es gut ist. Es scheitert schon am Begriff Container. Links nach außen helfen gar nicht, weil statt der Erklärungen fortlaufend neue Begriffe Fragen aufwerfen. Das sollte jemand schreiben, der nicht aus der IT kommt. Schlechter Fachidioten-Artikel: Ich weiß auch nach der Diskussion immer noch nicht, was Docker macht und wofür das gut ist. Ich habe nur mitbekommen, dass man bei Mac alte Software wie iTunes auf neuen Betriebssystemen und Geräten damit laufen lassen kann. Solche Beispiel wären wünschenswert. --Rkendlbacher (Diskussion) 03:50, 28. Mär. 2023 (CEST)Beantworten

SeLinux

Bearbeiten

Die Anmerkung unten betreffend selinux erscheint mir in der form ziemlich unsinnig. Sie linkt per url, nicht wie ueblich per wikilink, auf den wikipediaartikel zum thema SElinux. Allerdings ist das hier absolut unerwartet. Besser währe den SElinux begriff in den satz vor dieser anmerkung korrekt mit den SElinux wikipediaartikel zu verlinken und statdessen unten in die anmerkung die oeffentliche ankuendigung der institutuion/person zu linken welche diese erweiterung erstellt hat.

--91.3.15.224 09:01, 10. Apr. 2015 (CEST)Beantworten

Was ist Docker?

Bearbeiten

Wärs nicht schön, wenn das mal jemand schreibt, statt dieses seitenlangen unsäglichen Bla-Blas? Ich dachte, selbst weltfremde Computer-Nerds hätten eine grundlegende Schulbildung, die es ihnen gestattet, einfache Sachverhalte erklärend zu beschreiben. (nicht signierter Beitrag von 2003:86:AB1F:BCB3:5184:5DE3:537F:25B2 (Diskussion | Beiträge) 23:02, 7. Apr. 2016 (CEST))Beantworten

Erster Satz:
"Docker ist eine Open-Source-Software, die dazu verwendet werden kann, Anwendungen mithilfe von Betriebssystemvirtualisierung in Containern zu isolieren." --Kristov (Diskussion) 12:12, 21. Jun. 2016 (CEST)Beantworten
Wenn man die Anforderung eher als "... Sachverhalte einfach erklärend zu beschreiben" interpretiert (denn der Sachverhalt ist nicht einfach), könnte man anmerken, dass der Einleitungssatz (und der restliche Artikel eigentlich auch) dem nicht unbedingt gerecht wird. Praktisch jeder Begriff des zweiten Halbsatzes ist uneindeutig. Betriebssystemvirtualisierung - Virtualisierung durch das Betriebssystem oder eines Betriebssystems? Container sind praktisch alles, in das man etwas anderes stecken kann. Isolieren kann man auch in verschiedenen Ausbaustufen. Da man Software nicht anfassen kann, muss dieses Thema meiner Meinung nach schon so beschrieben werden, dass Zweifel ausbleiben. Und wenn man nach der Einleitung nicht weiß, was gemeint ist, ist der restliche Artikel auch nutzlos, da dieses Wissen vorausgesetzt wird. --Blah (Diskussion) 13:45, 29. Jul. 2016 (CEST)Beantworten
Pflichte dem umfänglich bei. Ich weiß nach den ersten Zeilen bis zur Mitte bei Geschichte immer noch nicht, was das ist und wofür es gut ist. Es scheitert schon am Begriff Container. Das sollte jemand schreiben, der nicht aus der IT kommt. So ziemlich der schlechteste Fachidioten-Artikel, den ich je auf Wikipedia gelesen habe. Der Artikel sollte wegen Qualitätsmängeln markiert werden. Allein dieser Satz "Registry

eine Registry, wie zum Beispiel Docker Hub oder Artifactory, dient der Verwaltung von Repositories." wirft 3 neue Fragen auf und erklärt: nichts. Das ist für Leser, die Erklärungen suchen, einfach nur ärgerlich. --Rkendlbacher (Diskussion) 03:53, 28. Mär. 2023 (CEST)Beantworten

Sicherheitsrisiko Docker-Resourcentrennung

Bearbeiten

Benutzer:Purist hat den Abschnitt „Sicherheitsrisiken“ [3] vorgeschlagen. Dieser erweckt den Eindruck, Docker enthalte eine bekannte Sicherheitslücke, die beim Dockereinsatz zu einem erheblichen zusätzlichen Sicherheitsrisiko führen würde. Eine solche Sicherheitswarnung kann in Wikipedias Dockerartikel aufgenommen werden, aber nur, wenn es dazu einen Beleg einer zuverlässigen Publikationen gibt, siehe dazu Wikipedia:Belege. Eine zuverlässige Publikation wäre z.B. Heise online/iX/c't oder https://www.cert-bund.de/ . Keine zuverlässige Publikation ist das Blog https://reventlov.com/ . Wenn es sich bei dem dargestellten Sicherheitsrisiko um ein relevantes Sicherheitsrisiko handelt, muss sich dafür auch eine zuverlässiger Beleg finden, was aber bisher nicht der Fall ist.

Im Artikel stand schon bisher im Abschnitt „Grundlagen“: „Da die Ressourcentrennung alleine mit den Docker zugrunde liegenden Techniken wie Namespaces und Cgroups nicht völlig sicher ist“. Dies ist für mich ausreichend, und entspricht dem Grundsatz Wikipedia:Neutraler Standpunkt. Den vorgeschlagenen Abschnitt „Sicherheitsrisiken“ habe ich deshalb wieder herausgenommen. ---- (Diskussion) 23:40, 25. Apr. 2017 (CEST)Beantworten

Volles Streichbingo! In deinem Beitrag war von NPOV bis Relevanz ja das komplette Arsenal dabei. Mein Abschnitt erweckt nicht nur den Eindruck, sondern beschreibt die Wirklichkeit: der Einsatz von Docker als virtualisierte Container-Lösung birgt im Vergleich zu anderen virtualisierten Lösungen Gefahren für den Host und für andere auf diesem Host virtualisierte Container. Dein Beitrag hier erweckt den Eindruck, als hätte ich den Blog reventlov.com als einzige Quelle angegeben. Nur, damit es nicht übersehen wird, habe ich noch mehr zuverlässige Quellen hinzugefügt. Die Erwähnung dieses Sicherheitsrisikos in einem Halbsatz in einem Abschnitt über die Grundlagen - und dann auch noch mit dem relativierenden Zusatz „völlig“, denn was ist schon völlig sicher? - reicht für dieses Problem einfach nicht aus: von Virtualisierungslösungen wird ausgegangen, dass ein Container, in dem sich Anwendungen befinden und ausgeführt werden, keine Löcher oder Zugangsmöglichkeiten zu anderen Containern enthalten außer die, die man im Container absichtlich (per vollzogener, nicht per unterlassener Konfiguration) lässt. Bei Docker passiert das nicht und das kann man nicht mal eben in einem beiläufigen Halbsatz herunterspülen. Abschnitt wiederhergestellt. --Purist (Diskussion) 10:45, 1. Mai 2017 (CEST)Beantworten
In seiner jetzigen Form suggeriert der Artikel allerdings, es gäbe keinerlei Sicherheitsrisiken. Ein kurzer Blick in die angegebenen Quellen verrät aber, dass die Dinge wesentlich komplizierter liegen, und sich je nach Konfiguration durchaus Risiken ergeben können. Ich schlage daher eine Überarbeitung des Abschnitts vor und würde, wenn sich kein Protest regt, in der Zwischenzeit auch mit einem Textbaustein auf das Defizit aufmerksam machen wollen --Lapu (Diskussion) 21:06, 4. Feb. 2019 (CET)Beantworten
Tolle Quelle, dieses reventlov - keine 5 Jahre später schon offline. --2003:CC:E727:1F00:4C09:2DE0:B4B4:7BF3 13:13, 13. Jul. 2023 (CEST)Beantworten

Docker Container vs. Docker Support

Bearbeiten

Ich denke, da ist ein Fehler rein geraten:

Aus dem Absatz Geschichte: "Außerdem wurde es von openSUSE in das Software-Repertoire aufgenommen.[11]"

Erstmal ist der Begriff "Repertoire" etwas verwaschen. Würde ich Repository nennen.

Im Link findet sich folgender Satz:

"The first thing to do is to install Docker by following the official installation instructions for openSUSE. Users of Factory can install docker straight from the main repository." Also hat die offizielle Version 13.1 Docker anscheinend noch nicht im Repo. Sondern "nur" den Container, d.h. die Virtualisierung (=Gast).

Wäre dankbar um Prüfung und ggf. Richtigstellung bzw. Klarifizierung (falls es dieses Wort gibt).

Wasn der Unterschied zwischen Container wie Docker, Kubernetes und VM-Lösungen wie VMWare oder VirtualBox?

Bearbeiten

Bisher dachte ich immer sowas wie Docker nutzt eine VM mit einem vorbefüllten OS, eben Linux auf das man seine Anwendungen reinkopiert, scheint aber nicht so zu sein aber was genau konnte ich bis jetzt auch noch nicht rausfinden.

Abschnitt "Geschichte"

Bearbeiten
Das Unternehmen hinter Docker erhielt im Januar 2014 von mehreren Geldgebern zusammen 15 Millionen US-Dollar an Investitionen.[15] Im April 2015 folgten Investitionen in Höhe von 95 Millionen US-Dollar.[16] Insgesamt belaufen sich die Investitionen in die ursprünglich unter dem Namen dotCloud gegründete Firma damit auf gut 120 Millionen US-Dollar. 

Kann ich schlecht rechnen? 95 + 15 = 120 ? - Weapon X (Diskussion, Beiträge) 15:14, 11. Jul. 2019 (CEST)Beantworten

Wo steht denn, dass die fehlenden 10 Mio. nicht woanders hergekommen sind? --2003:CC:E727:1F00:4C09:2DE0:B4B4:7BF3 11:53, 13. Jul. 2023 (CEST)Beantworten

Freie Software? Apache 2 - Lizenz?

Bearbeiten

Und dann kommt beim Start des "Docker Desktop" irgendwas von kostenpflichtigem Abo ab einer bestimmten Mitarbeiterzahl oder Umsatz... Was soll denn daran "frei" sein? --2003:CC:E727:1F00:4C09:2DE0:B4B4:7BF3 13:21, 13. Jul. 2023 (CEST)Beantworten

Hallo! Du hast recht, es finden sich auf der Docker-Website keine Hinweise, dass es sich um freie Software handelt. Im Gegenteil, das Recht zur Nutzung wird dergestalt eingeschränkt, dass es den Kriterien von freier Software nicht entspricht. Ich habe den Artikel entsprechend angepasst. Leider weiß ich jedoch, wie man die Tabelle am Artikelanfang bearbeitet, denn Apache 2.0 als Lizenz dürfte offensichtlich nicht mehr stimmen. --Theltalpha (Diskussion) 20:35, 15. Jul. 2023 (CEST)Beantworten
Das ist bei freie Software nicht ungewöhnlich: Die Software ist frei, Apache Lizenz etc. aber es gibt ein darüber hinausgehendes Bezahlmodell für z.B. erweiterten Support oder zusätzliche Tools (siehe z.B. https://www.docker.com/pricing/). Und selbstverständlich möchte die hinter der freien Software stehende Firma auch möglichst viel Geld damit verdienen. Also ist auf deren Homepage die Tatsache, dass es sich um OS-Software handelt nicht besonders gut ersichtlich. Unter https://www.docker.com/community/open-source/ sind alle OS-Bestandteile von Docker gelistet und folgt man denen auf Github so erkennt man auch die Apache Lizenz. Doker Desktop war selbst mal frei und ist es jetzt nicht mehr. Docker ist aber weit mehr als Docker Desktop und zählt somit immer noch zu freier Software unter Apache Lizenz. In der Infobox sieht man ohnedies, dass auch proprietäre Lizenzen dahinter stehen. --Sebastian.Dietrich  ✉  10:08, 17. Jul. 2023 (CEST)Beantworten
Hallo! Du verwechselst da etwas beziehungsweise scheint dir der Begriff der freien Software nicht geläufig zu sein. Nur, weil der Quellcode veröffentlicht ist, heißt das nicht automatisch, dass die Software frei ist. Lies dir den verlinkten Artikel auf Wikipedia durch. Um als freie Software zu gelten, sind den Benutzern vier Freiheiten einzuräumen. Eine dieser Freiheiten ist es, dass der Benutzer die Software kommerziell verkaufen und weitergeben darf. Genau das wird aber von Docker ausgeschlossen, siehe [4]https://www.docker.com/products/personal/: "Free for non-commercial open-source use, advancing community contributions". Das alleine ist schon eine Einschränkung, die nicht mit der Definition von freier Software vereinbar ist. Außerdem: "Commercial use of Docker Desktop at a company of more than 250 employees OR more than $10 million in annual revenue requires a paid subscription". Auch diese Einschränkung ist mit der Definition von freier Software nicht vereinbar. Freie Software muss es dem Benutzer erlauben, diese Software uneingeschränkt zu verwenden. Dieses Kriterium wird sogar als das wichtigste ("Freiheit 0") von freier Software angesehen.
Mag sein, dass eine Version von Docker einmal tatsächlich frei war und unter der Apache-Lizenz stand. Jetzt ist nach Angaben auf der Website definitiv nicht mehr von freier Software zu sprechen. Und auch den erwähnten Verweis auf die Apache-Lizenz in Github konnte ich nirgends finden. Bitte deswegen um Rückgängigmachung deiner Änderung. --Theltalpha (Diskussion) 08:33, 18. Jul. 2023 (CEST)Beantworten
Nein - ich verwechsle da nichts und kenne mich da bestens aus (berate z.B. Unternehmen zum Einsatz von OS).
Docker besteht aus vielen einzelnen Softwarebestandteilen - das was du oben zitierst betrifft Docker Desktop. Das ist wie ich oben schon geschrieben habe tatsächlich nicht mehr OS. Aber Docker ist weit mehr als nur Docker Container in Docker Desktop laufen zu lassen. Docker Desktop verwendet vermutlich auch kaum wer, viel eher werden Docker Container auf Servern laufen gelassen und dafür gibt es andere Software.
Ähnliches - nämlich dass eine Firma neben OS-Software dafür auch nicht-OS Software anbietet - findest du bei beinahe allen größeren OS-Softwareprodukten. Es gibt auch Firmen, die OS-Software mit dual-licensing anbieten - also sowohl OS als auch kommerziell. Die Frage ist halt, ab wann eine Software nicht mehr als OS gilt. Wieviel % der einzelnen Tools müssen OS sein bzw. dürfen nicht (auch) kommerziell sein, damit man zur Software weiterhin OS sagen kann.
Wenn wir bereits ab >0% nicht mehr von OS sprechen können, dann müssten wir viele hunderte Artikel in der WP umschreiben.
--Sebastian.Dietrich  ✉  20:46, 18. Jul. 2023 (CEST)Beantworten
Ähm, nichts für ungut, aber noch einmal: Du verwechselst und/oder vermischst eindeutig open Source mit freier Software. Jede freie Software ist per Definition open Source, aber nicht jede Open-Source-Software ist automatisch auch frei. Docker (oder Teile davon) ist - wie du selbst etliche Mal schreibst - open Source, aber die Beschreibungen auf der Website sind mit dem Begriff der freien Software nicht vereinbar. Im Übrigen habe ich nicht die Bedingungen von Docker Desktop, sondern von Docker Personal zitiert.
Ich mache deine Bearbeitung daher rückgängig. Wenn du willst, kannst du - weil du dich da offensichtlich besser auskennst - Hinweise einfügen, inwieweit oder welche Komponenten quelloffen (open Source) sind. Aber bitte nicht entgegen den Fakten - nocheinmal: Vergleiche den Wikipedia-Artikel zu freier Software, und insbesondere die Kriterien, um als freie Software zu gelten, mit den Angaben auf der Docker-Website - die schließen sich gegenseitig aus - behaupten, dass Docker freie Software sei. --Theltalpha (Diskussion) 22:14, 18. Jul. 2023 (CEST)Beantworten
Die Beweise habe ich schon längst geliefert - siehe oben. https://www.docker.com/community/open-source/ enthält die Liste der Softwarebestandteile von Docker, die OpenSource sind. Klicke bei einem beliebigen davon auf "View on Github" dann auf das LICENSE File und du kommst immer auf die Apache License. Die Apache Lizenz entspricht eindeutig dem was mit freier Software gemeint ist. Dass du die Apache Lizenz (inkl. Beleg) bei Wikidata gelöscht hast ist ein Fehler und solltest du wieder rückgängig machen.
Ich rufe jetzt die 3M an - es macht offensichtlich keinen Sinn mit dir da drüber zu diskutieren. --Sebastian.Dietrich  ✉  23:34, 18. Jul. 2023 (CEST)Beantworten
Docker ist eindeutig freie Software gem. der Apache-Lizenz. Siehe dazu auch das etwas kryptische (weil kein "Ja" drinnen steht, obwohl die Seite den Titel "Ist Docker Open-Source?" trägt) Is Docker Open Source? und Is Docker still free and open source? auf StackExchange.
Auch unter zahlreichen (Unix-, BSD-,) Linux-Distributionen kann man Docker, markiert mit "Apache 2.0" als Lizenz, installieren. Packete gibt es sogar für das, wenn es um (nicht freie) Lizenzen geht, sehr konservative Debian GNU/Linux, hier.
Andreas 00:14, 19. Jul. 2023 (CEST)Beantworten
Nachtrag: Gut, man muss wirklich unterscheiden. "docker-ce" ist absolut freie Software, und wohl auch der Kern von "Docker Desktop", das allerdings nicht frei im Sinne von freier Software ist, obwohl es auch für viele Anwender gratis (frei von Kosten) sein dürfte. Siehe Docker einrichten unter Linux, Windows, macOS auf heise online.
Wenn man es also ganz genau nimmt, müsste man Docker als Containervirtualisierung, das im Kern Open-Source UND freie Software ist, von Dock Desktop, das eine proprietäre Lizenz verwendet (und in großen Teilen Open-Source bleibt, weil ja der Kern ohnehin unter der Apache-2.0-Lizenz steht), trennen, und zwei Artikeln machen.
Vorschlag: warum nimmt man nicht beide Lizenzen in der Infobox auf: Apache-2.0 (docker-ce) und proprietär (Docker Desktop)?
Andreas 16:18, 19. Jul. 2023 (CEST)Beantworten
Docker Desktop scheint mir die proprietäre Alternative zur OS Docker Engine (siehe https://docs.docker.com/engine/) zu sein. Zumindest wird es auf der Homepage von Docker damit verglichen (siehe https://www.docker.com/products/docker-desktop/alternatives/). Docker Desktop scheint auch "nur" ein Wrapper über diverse OS Software von Docker zu sein (siehe https://docs.docker.com/desktop/) unter anderem von der Docker Engine. --Sebastian.Dietrich  ✉  20:12, 19. Jul. 2023 (CEST)Beantworten
Just for the record: Sebastian.Dietrich lag absolut richtig und hat da gar nichts verwechselt, wie es ihm von Theltalpha in der obrigen Diskussion vorgeworfen wurde. Aber es ist auch nicht wirklich einfach bzw. man kann sich da relativ leicht vertun, weshalb auch Theltalpha nichts vorzuwerfen ist. Freie Software, nämlich wirklich freie, ist so frei, dass man sie sogar als proprietäre Software verkaufen darf. Das ist so frei, dass es schon nicht mehr freier geht, weil man damit so viel machen kann. Was die meisten unter freier Software verstehen, ist die weniger freie Copyleft-FOSS, die frei bleiben muss. Damit ist sie weniger frei als z.B. BSD oder Apache, die man eben sogar in ein proprietäres Produkt integrieren darf, während man Copyleft-Software (allen voran GPL) natürlich immer frei belassen muss. Deswegen darf man GPL-Software auch nicht einfach in ein proprietäres Produkt integrieren. (Was die GPL weniger frei als die Apache-Lizenz macht. Beide sind Open Source.)
Und für Docker heißt das: wenn die Firma ein proprietäres Docker herausbringt, dessen Quelltexte (zum Großteil) auch unter der Apache-Lizenz veröffentlicht werden, dann sind die Teile unter der Apache-Lizenz selbstverständlich freie Software, nach allen Gesichtspunkten, die freie Software frei macht. Und das erlaubt eben auch, dass es ein proprietäres Docker geben kann, das fast identisch mit dem freien ist – und umgekehrt.
Andreas 17:51, 24. Jul. 2023 (CEST)Beantworten

Ende, weil lt. Theltalpha "letztendlich eh geklärt" (s.u.) und im Einleitungssatz wieder "freie Software" und die Apache Lizenz via Wikidata in der Infobox steht. --Sebastian.Dietrich  ✉  11:54, 26. Jul. 2023 (CEST)Beantworten

Ich wollte eigentlich nichts mehr schreiben, weil die Sache letztendlich eh geklärt wurde (das einzig Freie ist die vom Moby Project entwickelte Docker Engine; alle von der Docker Inc. entwickelten darauf basierenden Programme sind gemäß den Beschreibungen auf der Website unfrei, proprietär; jetzt braucht es "nur" noch jemanden, der dies sinnvoll im Artikel darlegen kann), aber das von dir Geschriebene kann man dann doch nicht so stehen lassen.
Offensichtlich ist hier noch nicht allgemein bekannt, dass es sich beim Begriff "freie Software" nicht um einen beliebig interpretierbaren Ausdruck handelt, sondern da eine relativ klare Definition dahintersteht. Ich habe zwar schon mehrmals gebeten, sich doch bitte den in der Wikipedia befindlichen Artikel durchzulesen, in dem alles Relevante drinnen steht, aber bislang offensichtlich ohne Erfolg. Hättest du den Artikel gelesen, dann hättest du nicht Behauptungen aufgestellt, welche mit der gemeinhin akzeptierten Definition von freier Software nicht vereinbar sind. Dort steht schon im Einleitungsabsatz des Wikipedia-Artikels: "Dies steht im Gegensatz zu proprietärer Software". Weiters heißt es: "Freie Software ist aber nie proprietär".
Du hast schon recht, dass es freie Softwarelizenzen gibt, die es erlauben, die betreffende Software proprietär zu machen. Das ist der Fall mit der Docker Engine, deren Lizenz es erlaubt, sie in proprietäre Produkte einzubauen. Aber die daraus resultierende Software ist dann eben proprietär, und das ist laut gemeinhin akzeptierter Auffassung als Gegenteil von "frei" definiert. Eine Bezeichnung derartiger proprietärer Software als "wirklich frei" oder "mehr als frei" ist mir nicht bekannt.
Anders gesagt: Eine Software ist nicht dann als "frei" zu bezeichnen, wenn sie Bestandteile enthält, die unter einer freien Lizenz stehen, sondern wenn die gesamte neue Software an sich unter einer freien Lizenz steht. Die auf der Docker-Website angegebenen Bedingungen (ausgenommen Docker Engine) stehen der weithin anerkannten Definition von "freier Software" entgegen und sind erst recht nicht "mehr als frei". "Mehr als frei" (auch, wenn es eine solche Definition nicht gibt, aber in dem Sinne, dass die Lizenz dem Benutzer noch mehr erlaubt als das "Standard-Frei") ist nur die Docker Engine. --Theltalpha (Diskussion) 08:06, 26. Jul. 2023 (CEST)Beantworten
Wenn du vorhast die einzelnen Softwareteilen von Docker hinsichtlich ihrer "Freiheit" darzustellen, dann bitte nicht gemäß obigem "das einzig Freie ist die vom Moby Project entwickelte Docker Engine". Das wäre falsch, weil alle 13 Software unter https://www.docker.com/community/open-source/ frei sind. Und dort ist nichtmal die Docker Engine gelistet. D.h. mir scheint es eher umgekehrt zu sein - die einzige Docker Software, die nicht frei ist, ist Docker Desktop. --Sebastian.Dietrich  ✉  11:49, 26. Jul. 2023 (CEST)Beantworten
@Theltalpha: das hast du falsch verstanden, was nahelegt, dass ich mich nicht sehr gut ausgedrückt habe. "Mehr als frei" (im Vergleich z.B. zur GPL) ist der Quelltext unter der *freien* Apache-Lizenz. Das IST freie Software. Die kann man sich dann selbst kompilieren, und auch daraus wird dann (eine Version von) Docker. Das machen z.B. die ganzen Linux-Distributionen so: installiere ich mir dort Docker, bekomme ich die/eine Apache-2.0-lizenzierte Version, die aber genauso Docker ist wie die proprietäre Version.
Und natürlich ist die proprietäre Version dann nicht frei: sie ist nicht mehr quell-offen, vermutlich wurde das eine oder andere proprietäre hinzugefügt, wovon es keinen freien Quelltext gibt, und das fertige proprietäre closed-source binary-only Produkt ist dann definitiv keine freie Software mehr, ist aber zum freien (frei verfügbaren) Docker absolut kompatibel (da es zu großen Teilen daraus besteht).
NUR der Apache-2.0-Teil ist "freier als frei". Wäre dieser Teil GPL-lizenziert, was der Inbegriff freier Software ist, dann wäre es gar nicht möglich, daraus wieder ein proprietäres Produkt zu machen. Es ist also klar, dass die GPL frei Software "macht" und erhält. Aber dieser Umstand macht den Apache-Quelltext nicht weniger frei. Und da Docker sich mit den freien Teilen funktionell zu 100 % bauen lässt, ist diese Software eben auch freie Software.
Andreas 13:27, 26. Jul. 2023 (CEST)Beantworten
Nachtrag: Das Problem ist hier wohl auch, dass "Docker" beides sein kann: einmal "Docker Desktop", ein proprietäres Produkt, unfrei, closed-source, binary-only. Und dann eben auch "docker-ce", das einem Großteil des proprietären Docker entspricht, freie Software ist, aber meist ebenfalls unter "Docker" firmiert; zumindest unter Linux. Ersteres ist proprietär, ganz eindeutig, zweiteres ist FOSS, ganz eindeutig. Die Schnittmenge ist aber sehr groß, obwohle es Teile gibt, die nur in Docker Desktop enthalten und nicht frei verfügbar sind.
Hinzu kommt, dass Docker (egal, welche Version, unter welcher Lizenz) Funktionen bietet, um Images von den Docker-Servern zu ziehen bzw. zu verwalten. Diese Server sind aber nicht gratis: wer auf Docker-Servern Images hosten (=bereitstellen) oder beziehen will, muss eventuell einen Vertrag mit Docker (der Firma hinter beiden Produkten: "Docker Desktop" und "docker-ce") abschließen, heißt also: zahlen.
Andreas 13:36, 26. Jul. 2023 (CEST)Beantworten
@Y2kbug: Dann sind wir uns ja einig: 1. Docker Engine beziehungsweise docker-ce (sehr verwirrend, zwei Namen, aber es scheint sich um dieselbe Software zu handeln) sind frei (oder sogar "freier als frei"). 2. Docker Desktop ist nicht frei, weil gewisse Restriktionen enthalten (eine limitierte Anzahl an Benutzern), die nicht mit der gängigen Definition von "freier Software" vereinbar sind.
Mr gefällt das, was du in deinem Nachtrag geschrieben hast, sehr gut. Ich würde das gerne im Artikel sehen. Alles in allem erscheint mir das Docker-Universum sehr undurchsichtig zu sein: Da gibt es die freie, aber sehr gut versteckte Docker Engine, die gleichzeitig aber unter docker-ce firmiert. Dann gibt es den Docker Desktop, Docker Personal, die Möglichkeit, Images zu ziehen usw. Jemand, der da wirklich durchblickt, müsste das im Artikel beschreiben ... --Theltalpha (Diskussion) 07:58, 27. Jul. 2023 (CEST)Beantworten
Das stimmt nicht ganz. Bei Docker handelt es sich um viel mehr als nur Docker Engine und Docker Desktop. Die beiden sind nur die Laufzeitumgebung (so wie bei Java die JRE). Dann gibt es aber bei Docker noch jede Menge Werkzeuge z.B. um die container überhaupt zu erstellen, zu orchestrieren, paketieren, verteilen etc. (so wie bei Java das JDK bzw. IDEs). Und dann natürlich auch noch die Dokumentation, die Webpage, das Hosten der Images und die diversen Subscriptions (Docker Personal ist z.B. keine Software sondern nur eine der 4 Subscriptions) - vergelichbar bei Java mit dem Framework, Javadocs, die Webpages und die diversen kommerziellen Wartungs- und Supportleistungen.
Alles zusammen macht Docker bzw. Java aus und nicht alles davon is frei. Teilweise werden unter den Subscriptions auch Dinge verkauft, die gar nicht Teil von Docker sind (z.B. Kubernetes von Google das auch unter der Apache Lizenz steht).
Das ist bei großen Softwarepaketen (auch bei OS-Software) durchaus üblich. Auch bei sonst "freier als freie" Software ist nicht alles frei. z.B. die zur Software gehörige Webpage bzw. das Repository wo die Software bzw. deren Sourcecode gehostet wird ist meist nicht frei - das Paket würde aber ohne diese nicht "funktionieren".
Das ist alles kompliziert, wird aber üblicherweise in der Wikipedia nicht dargelegt (weil zu spezifisch). --Sebastian.Dietrich  ✉  09:59, 27. Jul. 2023 (CEST)Beantworten
Das sehe ich genauso. Die Lizenz ist ausschlaggebend, nicht, ob da alles dabei ist. Das "Betriebssystem" Darwin ist auch so ein Fall: ansich Open-Source, aber die Werkzeuge, es zu bauen, sind es nicht. Auch fehlt viel in diesem "Betriebssystem", das der Kern der Apple-Betriebssysteme macOS, iOS usw. ist.
Bei Docker liegt die Sachlage zwar ganz anders, aber es ist nicht weniger kompliziert. Der Java-Vergleich gefällt mir gut. Git kommt mir da auch in den Sinn: Git alleine kann ich mir als FOSS zuhause auf meinem eigenen Rechner(netz) einrichten, die Nutzung über GitHub und GitLab ist dann aber eine ganz andere Geschichte. Die Software ansich ist aber immer noch frei im Sinne von FLOSS. Wie bei Docker auch.
Wenn man das wirklich nicht haben will oder kann, müsste man zwei (oder mehrere) Artikel daraus machen. Vgl. Java Development Kit und OpenJDK. Ob das aber sinnvoll ist, möchte ich eher bezweifeln. In der Praxis ist es eher so, dass man sich die freie Variante auf Linux und BSD holt, oder die proprietäre auf Windows oder macOS. Und bei beiden wird man sich die Images und was man noch dazu benötigt irgendwie holen müssen, sei es nun über ein freies (gratis) Docker-Konto (das absolut proprietär ist und eigentlich zu bezahlen wäre, gäbe es keine "fair use" freien Konten, ähnlich wie bei GitLab/GitHub), aber man könnte es theoretisch wohl auch irgendwie anders organisieren, von (Docker-)externen Webseiten beziehen oder sogar die Images alle selbst erstellen.
Man könnte darüber nachdenken, einen Abschnitt über die zu bezahlenden Services – proprietär – und die freien – F(L)OSS – zu machen, und diese gegenüberzustellen.
Wer sich da sehr gut auskennt, darf den Artikel bitte gerne verbessern.
Mir persönlich passt er eigentlich so, wie er ist. Der Abschnitt #Funktionen beschreibt es eigentlich ganz gut. Wer mehr wissen will, muss sich ohnehin noch durch weitere Dokumentation über das Arbeiten mit Docker informieren, was ohnehin nicht die Aufgabe einer Enzyklopädie sein kann.
Andreas 20:42, 27. Jul. 2023 (CEST)Beantworten