Warum hat OS X keinen Standardpaketmanager? [geschlossen]

7

Debian hat APT. Red Hat hat RPM. FreeBSD hat Ports. NetBSD hat pkgsrc. Mac OS X verfügt über MacPorts, Fink und Homebrew, aber alle sind Paketmanager von Drittanbietern. Warum hat OS X keinen Standardpaketmanager?

Hekevintran
quelle
4
Zum Abschluss als keine wirkliche Frage gewählt, da ich denke, dass dies wahrscheinlich nur zu Vermutungen anregen wird. Wenn es eine maßgebliche Quelle gibt, vertraue ich darauf, dass mich die anderen Superuser darauf aufmerksam machen.
Shinrai
2
Und ist es nicht wichtig, eine maßgebliche Quelle zu finden, um überhaupt eine Frage zu stellen?
Hekevintran
1
Mein Punkt ist, dass im Allgemeinen die einzigen Personen, die Informationen wie "Warum hat <Software X> nicht <Feature A>?" Kennen. sind die Anwendungsentwickler, und sie machen diese Informationen sehr selten öffentlich . Zum Vergleich: Wenn ich gefragt habe: "Warum liest Windows keine ext3-formatierten Partitionen?" Ich würde nicht erwarten, dass jemand eine andere Antwort als eine Vermutung hat. Es ist nur mein Urteil, dass es unglaublich unwahrscheinlich ist, dass es eine Antwort gibt. (Sicher nichts dagegen, wenn sich herausstellt, dass dies nicht der Fall ist, weshalb ich es nicht abgelehnt habe.)
Shinrai
1
Um es kurz zu machen, werden alle Antworten wahrscheinlich nur "Weil sie nicht glauben, dass es eine braucht" lauten.
Shinrai
4
Natürlich bin ich ein wenig voreingenommen, da ich gerade eine lange Antwort geschrieben habe, aber ich denke, das ist eine voll gültige Frage. Windows und OS X haben beide keine Paketmanager, sie sind wirklich eine * nix-Sache. Ich denke, es gibt einen soliden Grund, warum dies der Fall ist, und es ist ein interessanter Grund, da sich dies derzeit aktiv ändert.
Jcrawfordor

Antworten:

6

Meine Meinung (und dies ist im Grunde nur eine Meinung, obwohl ich denke, dass die Beweise Sie zu derselben Idee führen könnten) ist, dass dies auf einen grundlegenden Unterschied im Denkprozess der Open-Source- und der kommerziellen Softwareindustrie zurückzuführen ist.

Für Open-Source-Softwareprojekte sind Paketsysteme brillant, da sie es jedem Benutzer außerordentlich einfach machen, Software zu erhalten oder auf dem neuesten Stand zu halten - normalerweise nur ein einziger Befehl und jetzt über neue Benutzeroberflächen wie das Ubuntu Software Center. Dies ist der ultimative Komfort für Desktop-Benutzer und Serveradministratoren.

Für die kommerzielle Softwareindustrie sind Monetarisierung und Marketing genauso wichtig (wenn nicht sogar wichtiger) als Vertrieb. Sie wissen, dass Open-Source-Windows-Apps normalerweise nur ein Standard-NSIS-Installationsprogramm haben, während kommerzielle Software in der Regel grausame Installationsprogramme mit benutzerdefiniertem Fensterchrom, Logos überall und Marketingkopien enthält? Dies liegt daran, dass es für Handelsunternehmen wichtig ist, ihre Marke, ihr Marketing und ihre Erfahrung überall dort einzufügen, wo dies möglich ist. Dies bedeutet, dass kommerzielle Softwarefirmen im Allgemeinen jeden Aspekt der Produktverteilung kontrollieren möchten, dh benutzerdefinierte Websites, Installationsprogramme und Updater. Unternehmen möchten ihren Kunden auch Gebühren für ihre Produkte in Rechnung stellen können, und herkömmliche Verpackungssysteme sehen keine Lizenzierung und Gebührenerhebung vor.

Eine Paketumgebung erfordert auch eine umfassende Zusammenarbeit zwischen Softwareherstellern, um einen Verpackungsstandard zu vereinheitlichen und Repositorys zu verwalten. Rivalisierende Softwareunternehmen möchten sich voneinander unterscheiden und sind in der Regel kurzsichtig und bevorzugen es, so unterschiedlich wie möglich zu sein, anstatt so benutzerfreundlich wie möglich . Obwohl der Wettbewerb zwischen Projekten in der Open-Source-Welt immer noch vorhanden ist, ist er in den Köpfen der Entwickler tendenziell weniger bedeutsam. Stattdessen geht es in der Open-Source-Softwareindustrie sehr um Zusammenarbeit , was bedeutet, dass es für Großprojekte nur natürlich war, zusammenzukommen und sich auf einen standardisierten Vertriebsmechanismus zu einigen.

Die kommerzielle Softwareindustrie profitiert jetzt schnell von einem einheitlichen Vertriebssystem, aber dies ist auf die Bemühungen von Plattformanbietern anstelle von Softwareherstellern zurückzuführen und begann nicht auf PCs, sondern auf Telefonen: iOS war vielleicht die erste äußerst erfolgreiche zentrale App Store, dann brachte Android sie, jetzt haben alle großen Telefon-Betriebssysteme sie. Auf Desktops wurde kürzlich der Mac App Store eingeführt, und ich glaube, es wurde offiziell angekündigt, dass Windows 8 einen App Market bieten wird.

Was ist ein App Store / Markt? Ein zentrales System, über das Sie Software herunterladen und automatisch installieren können, das auch Abhängigkeiten automatisch verwaltet und nach Updates sucht. Es ist wirklich nur ein Paketmanager in einem schöneren Anzug und mit Blick auf den Umsatz.

tl; dr: Die Motivationen der Open-Source-Community führten natürlich zu Paketsystemen, während die kommerzielle Softwareindustrie die Vorteile nicht erkannte und keine Initiative ergriff. Jetzt kommt die kommerzielle Softwareindustrie und führt Paketsysteme in Form von App Stores ein.

jcrawfordor
quelle
4

Ich glaube nicht, dass es einen wirklichen Grund gibt, außer dass Apple einfach nicht das Bedürfnis verspürt hat, einen aufzunehmen, da dies für den Großteil der Mac-Benutzer nicht so notwendig ist. Bei den verschiedenen Linux-Varianten müssen Sie für alles aus dem Quellcode kompilieren, da die verschiedenen Umgebungen so unterschiedlich sind, dass an einem Ort kompilierte ausführbare Dateien an einem anderen möglicherweise nicht richtig funktionieren. Dies erfordert auch, dass etwas sicherstellt, dass alle Abhängigkeiten zuerst vorhanden sind. Die Linux-Paketmanager sind enthalten, um dies für den Benutzer zu vereinfachen.

Im Fall von OS X wird wahrscheinlich alles funktionieren, was dafür kompiliert wurde (es gibt definitiv Ausnahmen zwischen einigen verschiedenen Versionen, aber es ist nicht so sporadisch wie Linux-Distributionen). Sie können ziemlich sicher sein, dass die Binärdatei, die Sie herunterladen, funktioniert. Apple hat die Kontrolle über die Entwicklung und Verteilung des Betriebssystems, so dass es ziemlich regelmäßig und konsistent bleibt - ähnlich wie Windows auf diese Weise. Da OS X auf einem Unix-Kern basiert und genügend Benutzer Unix-Tools verwenden möchten, gibt es Paketmanager von Drittanbietern, die die Quelle abrufen, nach Abhängigkeiten suchen und für diese bestimmte Plattform kompilieren können.

MaQleod
quelle
3

Einfache Antwort:

Geben Sie hier die Bildbeschreibung ein

Apples-Zielbenutzer sind einfach nicht erforderlich, und die Art und Weise, wie ihr Betriebssystem funktionieren soll, ist nicht mit dem Konzept eines Befehlszeilenverpackungssystems kompatibel.

Was ist mit der Entwicklung? Auch dort ist XCode nicht auf diesen Workflow ausgerichtet. Die Tools von Drittanbietern dienen hauptsächlich zum Erstellen von Linux-basierten Tools und * nix-basierten Bibliotheken und Projekten.

Tom J Nowell
quelle
Ich denke nicht, dass dies die Frage wirklich beantwortet. Dieselben Zielbenutzer würden sich auch nicht für Init-Skripte, Crontabs oder ähnliches interessieren - aber Apple hat sich immer noch weiterentwickelt launchd, um diesen Teil seiner Infrastruktur besser zu verwalten. Viele Leute denken, ein Paketmanager wäre auch eine willkommene Entwicklung.
Ken Williams