Häufig gestellte Fragen zu AOSP (FAQs)

Dieses Dokument enthält Antworten auf allgemeine Fragen zur Android Open Source Platform (AOSP).

Open-Source-Fragen

Warum hat Google den Android-Quellcode geöffnet?

Google hat das AOSP aufgrund unserer eigenen Erfahrungen mit der Einführung mobiler Apps ins Leben gerufen. Wir wollten dafür sorgen, dass es immer eine offene Plattform für Mobilfunkanbieter, OEMs und Entwickler gibt, mit der sie ihre innovativen Ideen verwirklichen können. Außerdem wollten wir zentrale Fehlerquellen vermeiden, damit kein einzelnes Unternehmen die Innovationen anderer einschränken oder steuern kann. Unser wichtigstes Ziel mit dem AOSP ist es, dafür zu sorgen, dass Open-Source-Android-Software so weit wie möglich und kompatibel implementiert wird, zum Nutzen aller.

Um welche Art von Open-Source-Projekt handelt es sich bei Android?

Google betreut die Entwicklung des zentralen AOSP und arbeitet daran, robuste Entwickler- und Nutzer-Communitys zu schaffen. Der Android-Quellcode wird größtenteils unter der weniger strikten Apache-Lizenz 2.0 und nicht unter einer copyleft-Lizenz lizenziert. Wir haben uns für die Apache 2.0-Lizenz entschieden, weil wir der Meinung sind, dass sie die weitverbreitete Akzeptanz von Android-Software fördert. Weitere Informationen finden Sie unter Lizenzen.

Warum ist Google für Android verantwortlich?

Die Einführung einer Softwareplattform ist komplex. Offenheit ist entscheidend für den langfristigen Erfolg einer Plattform, da sie Investitionen von Entwicklern anzieht und für gleiche Wettbewerbsbedingungen sorgt. Die Plattform muss auch für Nutzer ein überzeugendes Produkt sein.

Google stellt die erforderlichen professionellen Entwicklungsressourcen bereit, damit Android eine voll wettbewerbsfähige Softwareplattform ist. Google behandelt das Android-Projekt als eine umfassende Produktentwicklung und schließt die geschäftlichen Vereinbarungen ab, die erforderlich sind, damit hervorragende Geräte mit Android auf den Markt kommen.

Wenn wir dafür sorgen, dass Android bei den Nutzern gut ankommt, tragen wir dazu bei, dass Android als Plattform und als Open-Source-Projekt vital bleibt. Denn wer möchte den Quellcode für ein nicht erfolgreiches Produkt?

Unser Ziel ist es, ein erfolgreiches Android-Ökosystem zu schaffen. Wir haben den Android-Quellcode freigegeben, damit jeder die Software nach seinen eigenen Bedürfnissen ändern und vertreiben kann.

Wie lautet die Gesamtstrategie von Google für die Android-Produktentwicklung?

Wir bringen tolle Geräte auf einen wettbewerbsintensiven Markt. Die von uns entwickelten Innovationen und Verbesserungen werden dann in die nächste Version der Hauptplattform übernommen.

In der Praxis bedeutet das, dass sich das Android-Entwicklerteam auf eine kleine Anzahl von „Flagship“-Geräten konzentriert und die nächste Version der Android-Software entwickelt, um diese Produktveröffentlichungen zu unterstützen. Diese Flaggschiff-Geräte tragen einen Großteil des Produktrisikos und ebnen den Weg für die breite OEM-Community, die nachzieht und weitere Geräte mit den neuen Funktionen auf den Markt bringt. So sorgen wir dafür, dass sich die Android-Plattform an die Anforderungen echter Geräte anpasst.

Wie wird Android-Software entwickelt?

Jede Plattformversion von Android (z. B. 1.5 oder 8.1) hat einen entsprechenden Branch im Open-Source-Baum. Der neueste Zweig gilt als aktueller stabiler Zweig. Dieser Branch wird von Herstellern auf ihre Geräte übertragen. Dieser Branch ist jederzeit für die Veröffentlichung geeignet.

Gleichzeitig gibt es einen aktuellen experimentellen Zweig, in dem spekulative Beiträge wie große Funktionen der nächsten Generation entwickelt werden. Fehlerkorrekturen und andere Unterstützungsbeiträge können gegebenenfalls in den aktuellen stabilen Zweig aus dem experimentellen Zweig aufgenommen werden.

Schließlich arbeitet Google an der nächsten Version der Android-Plattform und entwickelt gemeinsam ein Flagship-Gerät. Dieser Zweig bezieht nach Bedarf Änderungen aus den experimentellen und stabilen Zweigen.

Weitere Informationen zu Branches und Releases finden Sie unter Release-Lebenszyklus.

Warum werden Teile von Android privat entwickelt?

Es dauert in der Regel mehr als ein Jahr, bis ein Gerät auf den Markt kommt. Und natürlich möchten Gerätehersteller die neueste Software ausliefern. Entwickler möchten beim Erstellen von Apps jedoch nicht ständig neue Versionen der Plattform im Blick behalten. Beide Gruppen stehen vor der Herausforderung, Produkte zu versenden und gleichzeitig nicht in Verzug zu geraten.

Um dies zu vermeiden, werden einige Teile der nächsten Version von Android, einschließlich der APIs der zentralen Plattform, in einem privaten Branch entwickelt. Diese APIs sind Teil der nächsten Android-Version. Unser Ziel ist es, den Fokus auf die aktuelle stabile Version des Android-Quellcodes zu legen, während wir die nächste Version der Plattform entwickeln. So können Entwickler und OEMs eine einzige Version verwenden, ohne unfertige zukünftige Arbeit nur zur Aufrechterhaltung des Tempos im Auge behalten zu müssen. Andere Teile des Android-Systems, die nicht mit der App-Kompatibilität zusammenhängen, werden offen entwickelt. Wir möchten im Laufe der Zeit mehr dieser Teile in die offene Entwicklung verschieben.

Wann werden Quellcodefreigaben vorgenommen?

Wenn sie so weit sind. Die Veröffentlichung des Quellcodes ist ein ziemlich komplexer Vorgang. Einige Teile von Android werden offen entwickelt und der Quellcode ist immer verfügbar. Andere Teile werden zuerst in einem privaten Verzeichnis entwickelt und dieser Quellcode wird veröffentlicht, wenn die nächste Plattformversion bereit ist.

Bei einigen Releases sind die wichtigsten Plattform-APIs so weit im Voraus fertig, dass wir den Quellcode vor der Veröffentlichung des Geräts veröffentlichen können. Bei anderen Releases ist das nicht möglich. In allen Fällen veröffentlichen wir den Plattformquellcode, wenn wir der Meinung sind, dass die Version stabil ist, und wenn der Entwicklungsprozess es zulässt.

Welche Schritte umfasst die Veröffentlichung des Quellcodes für eine neue Android-Version?

Die Freigabe des Quellcodes für eine neue Version der Android-Plattform ist ein wichtiger Vorgang. Zuerst wird die Software in ein System-Image für ein Gerät eingebunden und verschiedenen Zertifizierungen unterzogen, einschließlich der Zertifizierung durch staatliche Regulierungsbehörden für die Regionen, in denen die Smartphones eingesetzt werden. Der Code wird auch durch Operatortests geprüft. Dies ist eine wichtige Phase des Prozesses, da so Softwarefehler erkannt werden können.

Sobald die Freigabe von den Aufsichtsbehörden und Mobilfunkanbietern genehmigt wurde, beginnt der Hersteller mit der Massenproduktion der Geräte und wir beginnen mit der Veröffentlichung des Quellcodes.

Parallel zur Massenproduktion startet das Google-Team mehrere Anstrengungen, um den Open-Source-Release vorzubereiten. Dazu gehören die endgültigen API-Änderungen, die Aktualisierung der Dokumentation (um beispielsweise alle Änderungen widerzuspiegeln, die während der Qualifikationstests vorgenommen wurden), die Vorbereitung eines SDKs für die neue Version und die Veröffentlichung der Informationen zur Plattformkompatibilität.

Unsere Rechtsabteilung nimmt eine abschließende Freigabe vor, um den Code für Open Source freizugeben. Genauso wie Open-Source-Mitwirkende eine Lizenzvereinbarung für Mitwirkende unterzeichnen müssen, die ihre Eigentumsrechte an ihrem Beitrag bestätigt, muss Google prüfen, ob die Quelle zur Abgabe von Beiträgen berechtigt ist.

Ab Beginn der Massenproduktion dauert der Softwarerelease in der Regel etwa einen Monat. Daher werden Quellcode-Releases oft ungefähr zur selben Zeit veröffentlicht, zu der die Geräte bei den Nutzern ankommen.

Inwiefern hängt das AOSP mit dem Android-Kompatibilitätsprogramm zusammen?

Das AOSP verwaltet die Android-Software und entwickelt neue Versionen. Da es sich um eine Open-Source-Software handelt, kann diese Software für jeden Zweck verwendet werden, auch für die Entwicklung von Geräten, die nicht mit anderen Geräten kompatibel sind, die auf derselben Quelle basieren.

Das Android-Kompatibilitätsprogramm dient dazu, eine Baseline-Implementierung von Android zu definieren, die mit von Entwicklern erstellten Drittanbieter-Apps kompatibel ist. Geräte, die mit Android kompatibel sind, können am Android-System teilnehmen, einschließlich Google Play. Geräte, die die Kompatibilitätsanforderungen nicht erfüllen, sind nicht Teil dieses Systems.

Mit dem Android-Kompatibilitätsprogramm unterscheiden wir also Android-kompatible Geräte von Geräten, auf denen lediglich Derivate des Quellcodes ausgeführt werden. Wir freuen uns über jede Verwendung des Android-Quellcodes. Um am Android-Ökosystem teilzunehmen, muss ein Gerät vom Programm als mit Android kompatibel gekennzeichnet werden.

Wie kann ich zu Android beitragen?

Sie können Fehler melden, Apps für Android entwickeln oder Quellcode zum AOSP beitragen.

Es gibt Einschränkungen bei den Arten von Codebeiträgen, die wir akzeptieren. Jemand möchte beispielsweise eine alternative App-API beisteuern, z. B. eine vollständige C++-basierte Umgebung. Wir würden diesen Beitrag ablehnen, da Android Apps empfiehlt, in der ART-Laufzeit ausgeführt zu werden. Ebenso akzeptieren wir keine Beiträge wie zu einer von Google gehörenden oder LGPL-Bibliotheken, die mit unseren Lizenzzielen nicht vereinbar sind.

Wir empfehlen allen Nutzern, die Quellcode beisteuern möchten, sich vor Beginn der Arbeit über die Kanäle in der Android-Community mit uns in Verbindung zu setzen. Weitere Informationen finden Sie unter Beteiligen.

Wie werde ich Android-Committer?

Im AOSP gibt es eigentlich keine Committer. Alle Beiträge (einschließlich derer von Google-Mitarbeitern) werden über ein webbasiertes System namens Gerrit verarbeitet, das Teil des Android-Entwicklungsprozesses ist. Dieses System arbeitet zusammen mit dem Git-Quellcodeverwaltungssystem, um Quellcodebeiträge effizient zu verwalten.

Ein benannter Genehmiger muss alle eingereichten Änderungen akzeptieren. Genehmiger sind in der Regel Google-Mitarbeiter. Dieselben Genehmiger sind jedoch für alle Einreichungen verantwortlich, unabhängig von deren Herkunft.

Weitere Informationen finden Sie unter Patches einreichen.