Inhaltsverzeichnis:
- Was ist ein Software-Fork und wie wirkt es sich auf Android aus?
- Die andere Seite des Gabelns von Android
- Gabeln ist nur eine Sache
In den letzten Tagen haben Sie das Wort "Gabel" wahrscheinlich öfter gehört, als Sie zählen können. Facebook gabelte dies (obwohl dies nicht der Fall war), Amazon gabelte dies, das Chrome-Team gab das gesamte Web und so weiter und so fort. Während alle darüber reden, wer wen gabelt, macht sich niemand die Mühe, genau zu erklären, was Gabeln ist und warum so viele Menschen ein Problem damit haben.
Forking oder Shattering hatten vor 20 Jahren einen schlechten Ruf, da es dazu neigte, Entwickler in separate Fraktionen aufzuteilen, die den Code nicht miteinander teilten. In Zeiten wie der Teilung von Gnu-Emacs / XEmacs war dies wichtig, weil es nicht annähernd so viele Leute gab, die in der Lage waren, an diesen großen Open-Source-Projekten zu arbeiten, und zwei Zweige oder Gabeln zu haben, was bedeutete, dass das Hinzufügen länger dauerte Funktionen und Behebung von Problemen für beide Seiten. Ich bin mir sicher, dass dies in einigen Fällen immer noch passiert, aber zum größten Teil gibt es viele Entwickler, die die Lücke füllen können, die von jenen mit einer eigenen Vision hinterlassen wird, und die den Code herausfiltern, um ihm zu folgen. Aber manche Leute vergessen nie, und das Stigma, das mit Gabelstaplern verbunden ist, wird weitergegeben. Trotzdem können wir nicht so tun, als ob es keine schlechten Gabeln gäbe. Wir müssen nur über die Tat selbst hinausschauen, bevor wir unsere Entscheidungen treffen.
Ich weiß, dass einige von Ihnen wissen, was das alles bedeutet, und versuchen nur, den ganzen Lärm zu ignorieren, aber für viele ist es verwirrend. Versuchen wir das zu beheben.
Was ist ein Software-Fork und wie wirkt es sich auf Android aus?
Denken Sie an Android, eine Menge Code. Es gibt zwei Teile - die Open-Source-Teile, die AOSP ist, und die proprietären Teile, die Google für sich behält. Wenn jemand Google Android verwenden und Änderungen daran vornehmen möchte, lädt er den als Basis zu verwendenden Code herunter und erstellt damit ein eigenes Projekt. Samsung macht das, HTC macht das und Ihr Lieblings-ROM-Entwickler könnte es tun. Immer wenn jemand vorhandenen Code nimmt und ein unabhängiges (das ist ein wichtiger Unterschied) Projekt darauf aufbaut, hat er einen Fork erstellt. Viele Entwickler werden Code auschecken, Teile davon bearbeiten und dann ihre Änderungen in ihrer Gesamtheit zurücksenden, was kein Fork ist.
Amazon hob einige Augenbrauen, als es Android dazu brachte, das Betriebssystem für die Kindle Fire-Reihe zu entwickeln. Aber auf der Open-Source-Seite war es nicht anders als das, was Motorola mit dem Cliq oder HTC mit dem Hero gemacht hat - oder was Samsung jetzt für die Geräte der Galaxy-Serie macht. So viele große Open-Source-Projekte funktionieren. Jeder Anbieter (mit Ausnahme von Amazon) arbeitet mit denselben Grundlagen. Wahrscheinlich werden Fehler gemeldet und Korrekturen im Upstream eingereicht, um eine eigene Darstellung des Endprodukts zu erhalten.
Facebook gabelt Android nicht. Es wurde das Android-Intent-System verwendet (eine Methode, mit der Apps miteinander arbeiten und auf Android geteilt werden können) und eine große App erstellt, die zusätzlich ein Ersatzheim enthält. In ihrer Sandbox können sie tun, was sie wollen oder müssen. Solange sie die Absichten von Android nutzen, können sie mit dem Rest des Systems kommunizieren. Wenn Sie sich technisch weiterentwickeln möchten, hat HTC Android möglicherweise dazu veranlasst, besser mit Facebook Home auf dem HTC First zusammenzuarbeiten, da darin einige Änderungen erwähnt werden, die zur Verbesserung der Kompatibilität vorgenommen wurden. Wir werden mehr darüber wissen, was sie getan haben, wenn das Telefon ausläuft.
Auf jeden Fall ist das Forken von Code nicht immer schlecht und verdient nicht die ganze Negativität, die Sie hören, wenn jemand darauf hinweist. Der Branchenanalyst Stephen O'Grady fasst es gut zusammen, denke ich:
Erwähnenswert ist jedoch, dass Gabeln oder Varianten aus Kundensicht nicht generell schlecht sind. Während die verschiedenen Android-Versionen möglicherweise unglückliche Designentscheidungen der für sie verantwortlichen Anbieter darstellen, sind Anwendungen in der überwiegenden Mehrheit der Fälle von Gerät zu Gerät kompatibel, vorausgesetzt, die Versionen stimmen überein.
Aus diesem Grund wurde Android so konzipiert, dass Apps von Gerät zu Gerät kompatibel sind. Forking Code macht das nicht möglich. Aber andere Dinge tun es.
Die andere Seite des Gabelns von Android
In China können Sie ein Handy von einem Anbieter kaufen, der Android betreibt, aber keine Google-Dienste hat? Genau wie der Kindle Fire basiert er auf Googles Android-Code (manchmal unverändert), wurde jedoch nicht als Google-kompatibel eingereicht und getestet und enthält Dinge wie Google Mail oder Google Play. Diese Apps und die verschiedenen Systemdateien, die sie ausführen müssen, sind nicht Open Source und können nicht einfach ohne Genehmigung von Google hinzugefügt werden.
Abgesehen von einer "anderen" (ich werde nicht sagen, es ist "schlechter", nur anders) Benutzererfahrung ohne diese Apps können sie genau wie ein Android-Telefon aussehen und sich anfühlen, das Sie bei Verizon oder AT & T kaufen. Sie können auch ganz anders aussehen und sich ganz anders anfühlen, wie es Amazon getan hat. Dies liegt jedoch nicht daran, dass der Android-Code von Google abgeschnitten wurde. Es war eine bewusste Entscheidung, kein Google-zertifiziertes Gerät zu entwickeln. Google präsentiert Android als Anwendungsplattform und als App-Framework. Wenn Sie die Dienstanwendungen von Google nicht einbeziehen, wird dies nicht weniger zu einer App-Plattform. Natürlich stellen wir uns vor, dass Google lieber alle Android- und Android-basierten Geräte mit den Diensten von Google nutzen würde, aber es gibt keine verbindliche Regel, nach der ein Anbieter dies tun muss.
Das Herstellen von Geräten ohne die Apps von Google hat nichts mit dem Verzweigen von Android zu tun. Es kann Geräte weniger wünschenswert machen, oder eines Tages könnte das ultimative Android-Handy ohne Googles Apps gebaut werden, aber es kann passieren, ohne Code zu verfälschen. Wir sind alle schuldig, die beiden Dinge miteinander zu vermischen, aber wir sollten es nicht tun.
Gabeln ist nur eine Sache
Es ist nicht gut, dass OEMs Android vertreiben und mit dem Code an ihrem eigenen Projekt arbeiten. Es ist nicht schlecht, dass OEMs Android vertreiben und mit dem Code an ihrem eigenen Projekt arbeiten. Es ist nur eine Sache, die sie alle tun.
Abgesehen vom Nexus-Fanclub kann man mir nicht sagen, dass Samsung oder HTC Android ruiniert haben, indem sie den Code eingegeben und darauf aufgebaut haben. Sie fügten Funktionen hinzu, während alles kompatibel blieb, sodass Anwendungen, die gemäß den Entwicklerrichtlinien für "Android" erstellt wurden, einwandfrei funktionieren. Und sie liefern konsequent Geräte, die die Leute kaufen wollen. Ich denke, genau das hatte Google für Android im Sinn. Sie wussten, dass irgendwann jemand etwas weiter gehen und etwas erschaffen würde, das nicht vollständig mit "Android" kompatibel ist, aber das ist in Ordnung. Benutzer dieser Geräte sind immer noch im Internet und Googles mobile Web-Apps sind ziemlich anständig.
Hoffentlich wissen Sie jetzt ein bisschen mehr darüber, was die Leute meinen, wenn sie über das Verzahnen von Android sprechen.