CyanogenMod ist tot, es lebe LineageOS.

Vor einigen Tagen noch über CyanogenMod geschrieben und jetzt ist das Projekt tot … das wollte ich nicht!

Aber Spaß beiseite: Dass es im CyanogenMod-Projekt rumort, war leider nichts neues. Und es lag tatsächlich nicht an CyanogenMod selbst, sondern vornehmlich an der Cyanogen Inc., dem kommerziellen Unternehmen, das aus dem Projekt heraus gegründet wurde. Einer der Gründer ist Steve Kondik, der maßgebliche Entwickler hinter CyanogenMod.

Die Cyanogen Inc. wurde gegründet, um CyanogenMod auch für Smartphone-Hersteller interessant zu machen. So weit, so interessant. Das Problem war, dass neben Steve Kondik auch andere Leute an der Führung des Unternehmens beteiligt waren, die, um es mal freundlich auszudrücken, nicht so sonderlich viel Ahnung von der Materie haben. Denn schon recht bald suchten sich diese destruktiven Leute einen Feind aus, der so gar nicht sinnvoll erscheint, wenn es um Android geht: Google selbst. Tatsächlich begaben sich einige Cyanogen-Leute auf den Kurs, dass man Google Android „wegnehmen müsse“, um es weiterzuentwickeln. Was natürlich völliger Käse ist, da Google Android weitgehend als Open Source bereitstellt und Cyanogen ein lauer Furz wäre, wenn es Android und Google als Maintainer nicht gäbe.

Die Cyanogen Inc. eierte aber auch schon kommerziell recht bald nach der Gründung ordentlich herum, weil es offenkundig weder Konzept noch Strategie gab. Zwar gab es das OnePlus als Smartphone, was mit einem Cyanogen-Ableger von CyanogenMod betrieben werden konnte, aber das OnePlus begeisterte vor allem mit einer völlig bescheuerten Verkaufspolitik, die das Telefon weitgehend zu einem Lotteriegewinn verkommen ließ.

Das Ende der Cyanogen Inc. machte sich im Laufe des Jahres 2016 auch schon bemerkbar durch äußerst sinnlose Pressemeldungen. Man wolle mit Microsoft (!) zusammenarbeiten, man wolle Mitarbeiter entlassen, um das Projekt (welches Projekt?) zu retten und so weiter und so fort. Dass nun am Ende des Jahres die Cyanogen Inc. die Segel streicht und auch Steve Kondik endlich das Unternehmen verlässt, ist dringend notwendig. Denn schon längst hatten viele den Überblick darüber verloren, was eigentlich Cyanogen und CyanogenMod eigentlich sind. Und noch viel schlimmer: Auch in der Entwicklergemeinde rund um CyanogenMod regte sich Widerstand.

Daher auch das Ende von CyanogenMod, denn die Namensrechte hat Kondik ärgerlicherweise der Cyanogen Inc. übertragen. Markenrecht unklar, letztlich aber der Markenname auch verbrannt – da macht man am besten das, was jetzt geboten ist: Einen Namenswechsel.

Der Nachfolger wird „LineageOS“ heißen. Daran werden wir uns gewöhnen müssen, aber immerhin steht Steve Kondik wieder dahinter und man hat schon im Vorfeld die gesamten Quellcodes und Entwicklungsumgebungen von CyanogenMod gesichert und möchte hier weitermachen. Ich kann mir auch sehr gut vorstellen, dass hier irgendwo auch Google seine Finger im Spiel hat und Kondik gut zugeredet haben könnte, denn letztlich ist CyanogenMod ein Android-Paradestück. Ein besseres Android und eine bessere After-Sales-Softwarepflege gibt es schlicht nicht.

Zunächst bedeutet das allerdings für alle CyanogenMod-Benutzer, dass es zunächst eine Reihe von Fragezeichen geben wird. Zwar sollen morgen nähere Informationen zum LineageOS-Projekt veröffentlicht werden, aber es ist sehr empfehlenswert, jetzt einmal alle eigenen Smartphones mit installiertem CyanogenMod auf den letzten Stand zu aktualisieren und das jeweilige ZIP-Paket mit dem aktuellsten Stand einmal in Ruhe wegzusichern. Näheres wird es in den nächsten Tagen und Wochen geben.

Deshalb: Der Tod von Cyanogen und CyanogenMod ist auf den ersten Blick bitter, aber unvermeidlich. Es kann jetzt alles nur noch besser werden.

Mit CyanogenMod den Drang auf Neues bekämpfen.

Ein beträchtlicher Teil der Motivation, sich ein neues Smartphone zu kaufen, kommt aus dem weitgehend unterbewussten Drang, etwas neues kaufen zu müssen, weil das Bestehende einen anfängt langzuweilen. Das Ausnutzen dieses Triebes haben nicht zuletzt die eifrigen Menschen aus der Unterhaltungselektronik ausgebaut, zur Perfektion gebracht haben es aber die Smartphone-Hersteller, allen voran Apple.

Um diesen höchst menschlichen Drang zu befriedigen, wird nicht einfach nur jedes Jahr ein neues Gerät entwickelt, sondern auch dafür gesorgt, dass die bestehenden Geräte langsam aber sicher veralten. Sie sind mit den neuen Funktionen des Betriebssystems nicht mehr ganz so flott unterwegs (und seien es nur optische Verbesserungen, die auf alten Geräten etwas mehr ruckeln, als auf der neuesten Generation) und natürlich ist auch das weitgehend schon vordefinierte Ende des Update-Zykluses des Betriebssystems eine Art Damoklesschwert des Mobile Computings. Was nicht mehr aktualisiert wird, ist Alteisen.

Es nervt. Es nervt ganz gewaltig. Nicht nur der Werbezirkus nervt, sondern auch der im Menschen fest verdrahtete Zwang nervt. Beides kann man nicht so einfach ausblenden.

Was mir aber auffällt: Man kann den Zwang wunderbar anderweitig befriedigen, nämlich mit so alternativen Android-Betriebssystemen wie CyanogenMod. Dazu hatte ich schon vor einer ganzen Weile regelmäßig geschrieben und CyanogenMod macht etwas, vor was es allen Herstellern von Smartphones graut – sie pflegen ein eigenes Android, das selbst auf sehr alten Smartphones noch läuft. Und zwar mit aktuellen Android-Versionen, sofern die Hardware das verträgt:

Mein LG G3 (von LG noch mit Android 6.0.1 gepflegt), läuft aktuell mit Android 7.1.1 und mein wirklich uraltes Samsung Galaxy S2 aus dem Jahre 2011 läuft mit Android 6.0.1 (einst mit Android 2.3.3 eingeführt und bis Android 4.1.2 offiziell gepflegt). Nicht besonders schnell, aber dafür mit gepflegter Software und damit deutlich größeren Einsatzmöglichkeiten. Und der Drang, ein neues Smartphone kaufen zu wollen, ist weg. So weg, dass man eigentlich eher zuschaut, dass man sein Smartphone noch möglichst lange nutzen kann.

Stand von CyanogenMod auf dem Samsung Galaxy S2.

Seit nun fast einem Jahr benutze ich auf meinem geliebten Samsung Galaxy S2 nicht mehr die originale samsungsche Android-Version, sondern die der Aftermarket-Firmware-Truppe CyanogenMod. Deren Android-Paket ist schlank und hält sich weitgehend an die originalen Android-Vorgaben und ist vor allem aktuell. Während CyanogenMod derzeit Pakete mit Android 4.2.2 und 4.3 anbietet, ist bei Samsung für das Galaxy S2 immer noch Android 4.1.2 das Maß der Dinge. Zwar baut Samsung inzwischen weitgehend stabile Firmware zusammen – aktuelles Android gibt es aber nur für aktuelle Modelle.

Das Samsung Galaxy S2 und der aktuelle Status bei CyanogenMod.

Auch wenn das Galaxy S2 zu den im CyanogenMod-Projekt unterstützten Geräten gehört, gibt es ein zentrales Manko: Die Entwicklung ist unter anderem für dieses Smartphone beta. Das liegt daran, dass der unter anderem im Galaxy S2 verbaute Prozessor aus der Samsung-Prozessorserie Exynos 4 nicht vollständig unterstützt werden kann. Das liegt offenkundig daran, dass nicht jeder Programmcode, der zur Anpassung von Treibern mit diesem Prozessor notwendig ist, als Open Source zur Verfügung steht.

Dazu vielleicht ein kleiner Exkurs: Moderne Smartphone besitzen Prozessoren, die viele Funktionen in einem Chip integrieren. Das geschieht aus Platz- und Energiespargründen. Samsung baut unter anderem eine eigene Prozessorserie, eben die Exynos-Serie. Um nun alle Funktionen dieses Chips nutzen zu können, braucht man einen Satz an Treibern, die zwischen Android und dem Prozessor vermitteln können. Dazu braucht es eine gewisse Unterstützung des Prozessorherstellers und leider ist da Samsung offenbar etwas schwerhörig.

Das führte dann zu ein paar „Effekten“: Während nämlich für andere Geräte die Entwicklung voranschritt und nach und nach zu einem richtigen Release führte, war das Galaxy S2 einer der wenigen Geräte, die immer nur Software im Alpha-Stadium bekamen. Aber auch hier noch ein kleiner Exkurs:

Die Entwicklungsschritte bei CyanogenMod.

CyanogenMod-Versionen haben mehrere Entwicklungsschritte:

  • Die so genannten Nightlies sind das Ergebnis der täglichen Entwicklungsarbeit im Projekt und quasi Alpha-Software. Diese werden zu nächtlicher pazifischer Zeit (bei uns am Vormittag) automatisch (!) aus der vorhandenen Code-Basis für die offiziell unterstützten Geräte erstellt. „Automatisch“ ist vor allem deshalb mit einem Ausrufezeichen versehen, weil hier tatsächlich relativ wenig Qualitätssicherung vorgenommen wird. Bastelt ein Entwickler an einem Fragment des Codes, spielt den zurück auf den Server und wird dann dieses Fragment einige Stunden später zu einem Nightly verarbeitet – ob das Fragment nun funktioniert oder nicht. Weil also Nightlies mitunter „roughen“ Code enthalten können, kann es durchaus passieren, dass ein Nightly auch mal defekt ist und ein Smartphone reif für eine Neuinstallation macht. Nightlies sind also eigentlich nur etwas für Entwickler und für Leute, die regelmäßig Backups machen.
  • Sehr spezielle Versionen sind die so genannten Experimentals. Vor diesen Builds sei ausdrücklich gewarnt, denn diese sind speziell zum Experimentieren von einzelnen Features gedacht und können sehr „rough“ sein. Meist werden hier Kernel-Geschichten ausprobiert oder neue Treiber und deshalb haben Experimentals eigentlich wirklich nur auf reinen Testgeräten etwas zu suchen. Dummerweise bleiben auf den Download-Seiten die Experimental-Builds sehr lange zum Download, was den ein oder anderen dazu verleitet, sich diese mal zu installieren. Wie gesagt: Nicht tun, wenn man nicht den blassesten Schimmer hat, was der Zweck des Experimentals ist.
  • Der erste Schritt zu einer stabilen Version sind die Milestones oder auch einfach nur „M“ genannt. Für Milestones werden schon die ersten Bugreports akzeptiert und was hier im Featureumfang dabei ist, wird später höchstwahrscheinlich auch in der fertigen Firmware drin sein. Milestones können ebenfalls fehlerbehaftet sein und haben oft Software an Bord, die noch im Rohbau ist, aber immerhin sieht man hier schon mal, wo es lang gehen wird.
  • Wird lange genug entwickelt und der Programmcode für ein Gerät verbessert, kommt das Stadium der Release Candidats. Ein RC ist im Prinzip eine Vorstufe für einen echten Release und an einem RC wird auf jeden Fall von Hand nachgearbeitet. Sprich: Für ein RC können und werden Bugreports angenommen mit dem Ziel, den RC zu verbessern und zu stabilisieren, aber (weitgehend) nicht mehr mit neuen Features auszustatten). RC sind also quasi Beta-Software. Auch sie können noch Fehler enthalten, sind aber für gewöhnlich schon sehr gut (und werden, wenn es mehrere RC gibt, immer besser).
  • Ist auch der RC-Prozess erfolgreich durchlaufen und alles an Fehlern abgearbeitet, kommt das Stable, das ist dann die offizielle Software. Die ist dann „ausgehfertig“ und wird dann auch unterstützt, beispielsweise mit Support oder mit späteren Wartungs-Updates.

Weil es nun bei allen Geräten, die die Exynos-4-Prozessorreihe einsetzen, noch diverse Punkte gibt, die noch nicht abgearbeitet sind, hängen diese Geräte in der Entwicklung hinterher. Um die Versionsnummern zu verstehen, braucht es noch einen kleinen Exkurs:

CyanogenMod-Versionen.

Die Versionsnummern bei CyanogenMod unterscheidet sich von der Android-Versionierung und sieht folgendermaßen aus:

  • CyanogenMod 7: Android 2.3.x
  • CyanogenMod 9: Android 4.0.x
  • CyanogenMod 10: Android 4.1x
  • CyanogenMod 10.1: Android 4.2.x
  • CyanogenMod 10.2: Android 4.3.x

Derzeit (Stand Ende August) gibt es offiziell für die meisten Geräte CyanogenMod 7, 9, 10 und 10.1 als offizielle Stables. Sprich: Da CyanogenMod 10.1 derzeit auf Android 4.2.2 basiert, gibt es für die meisten Geräte, die mit CyanogenMod 10.1 Stable laufen, Android 4.2.2. Das relativ neue Android 4.3.0 ist derzeit für die unterstützten Geräte in der Nightly-Phase und durchläuft damit die obigen Prozesse.

Das Dilemma mit Exynos-4-Geräten im CyanogenMod-Projekt.

Weil nun die Entwicklung bei Exynos-4-gepowerten Geräten hinterherhinkt, gibt es für diese Geräte bisher noch gar keine Stables. Die Entwicklungsarbeit beim Galaxy S2 begann mit CyanogenMod 7, ging über Version 9, 10, 10.1 und 10.2, aber immer nur gab es Nightlies und bisher noch nie ein Release Candidate oder gar ein Stable.

Das mag jetzt auf den ersten Blick kein größeres Problem sein, ist aber eines: Denn während man mit einem Release Candidate oder mit einem Stable irgendwann eine stabile Firmware hat, die dann auch einige Monate lang unverändert bleibt, ist der Nightly-Prozess gewissermaßen eine kleine Lotterie. Die meisten Nightlies laufen zuverlässig, aber manchmal gibt es eben Blindgänger und defekte Nightly-Versionen. Und wenn dann jemand so eine Version installiert, darf er mitunter länger daran arbeiten, sein Handy wieder aufwendig wiederherzustellen und/oder zu rooten. Sprich: Nightlies gibt es jeden Tag und die installiert man sich auch gern mal, aber letztendlich muss man immer auf der Hut sein, regelmäßig das CyanogenMod-Forum mitlesen und immer ein Backup für den Ernstfall in der Hinterhand haben.

Dazu kommt, dass die Entwicklungsarbeit im Nightly-Stadium irgendwann abrupt endet. Das ist kein Problem, wenn aus Nightlies irgendwann ein Release Candidate und daraus dann ein Stable entstanden ist, denn das bleibt ja. Wenn es aber kein RC und kein Stable gibt, sondern nur Nightlies und irgendwann die Entwicklungsarbeit dann auf eine neuere Android-Version geht, bleibt man mitunter als Nutzer mit einer letzten Nightly-Version auf breiter Flur.

Das Samsung Galaxy S2 und CyanogenMod 10.1 und 10.2.

So geschehen jetzt aktuell mit CyanogenMod 10.1 und 10.2. Von der Version 10.1 gab es das letzte Nightly am 13. August. Dieses Nightly läuft stabil und gut, wäre eigentlich auch RC- und Stable-fähig, ist es aber aus oben genannten Gründen mit den Problemen mit Exynos 4 eben nicht. Dennoch: Dieses Nightly läuft mit Android 4.2.2 und ist ein guter Kompromiss.

Am 14. August begann für viele Geräte, die offiziell für die Unterstützung von CyanogenMod 10.2. So gab es auch für das Galaxy S2 mit dem Nightly vom 14. August automatisch CyanogenMod 10.2 und damit Android 4.3. Und damit begann das Dilemma. Denn tatsächlich hat das Galaxy S2 mit den ersten Nightlies von CyanogenMod 10.2 noch eine ganze Reihe von Problemen: Der Bildschirm flackert, die Systemeinstellungen sind teilweise sehr deutlich umorganisiert worden und generell hat das Galaxy S2 das Designproblem, dass es noch einen Hardware-Home-Button hat und mit CyanogenMod 10.2 die Unterstützung noch nicht wirklich rund ist.

Nun wäre das ja kein Problem, wenn man sagen könnte: „Okay, CyanogenMod 10.2 ist Nightly, mach‘ das nicht drauf, wenn du nicht mutig bist, sondern installiere das letzte Stable!“ Das geht aber beim Galaxy S2 leider nicht, weil es bisher gar kein Stable gab. Man kann derzeit also nur auf das letzte Nightly von CyanogenMod 10.1 zurückgreifen, das funktioniert und aber selbst von Hause aus, da Nightly, nicht gepflegt wird. Zu allem Unglück kam dann auch noch, dass vor einigen Tagen im einem CyanogenMod-10.2-Nightly für das Galaxy S2 ein mittelschweres Unglück im Boot-Modul existierte, der dazu führte, dass eine Reihe von Galaxy S2 mit dem jeweiligen Nightly gar nicht mehr starteten konnten und aufwendig wieder zurückgesetzt werden mussten.

Das alles schafft eine Menge Unfrieden, das man im CyanogenMod-Forum auch so lesen kann. Und eigentlich haben die CyanogenMod-Entwickler – zu einem Großteil freiwillige Programmierer und Entwickler rund um den Globus – daran gar keine Schuld.

Ein RC! Ein RC!

Heute Vormittag dann gab es eine Überraschung auf dem Downloadserver von CyanogenMod: Ein Release Candidate von CyanogenMod 10.1! Das zwar den Besitzern eines Galaxy S2, die sich mit 10.2-Nightlies herumärgern, nicht sonderlich hilft, aber zumindest für CyanogenMod 10.1 endlich eine Perspektive in Richtung Stable darstellt. Und tatsächlich: Der Release Candidate läuft. Und zwar richtig nett, flüssig, schnell und zuverlässig.

Was nun tun, wenn man ein Gerät mit Exynos-4-Prozessor und/oder ein Samsung Galaxy S2 besitzt? Von CyanogenMod 10.2 ist derzeit noch abzuraten, das ist noch sehr am Anfang der Entwicklungsarbeit und läuft auf dem Galaxy S2 nur leidlich gut. Mit dem RC von 10.1 gibt es aber nun zumindest eine Perspektive, dass CyanogenMod 10.1 endlich in eine Stable-Version für das Galaxy S2 erscheinen dürfte. Zwar gibt es in Sachen Exynos-4-Prozessor noch einige offene Punkte, aber die erachtet man im CyanogenMod-Projekt offenbar als nicht so fatal, als dass man sich nicht schon mal mit RC befassen könnte.

Wer also auf seinem Galaxy S2 schon 10.2 hat und sich damit ärgert, sollte überlegen, ob er sein Smartphone nicht vielleicht nochmal plattmacht und das RC von 10.1 installiert und vorerst damit arbeitet.

CyanogenMod 10 auf dem Samsung Galaxy S2.

Dass ich mich mit meinem Samsung Galaxy S2 auf das CyanogenMod-Eis gewagt habe, also einer so genannten Aftersales-Firmware, die nicht offiziell von Samsung gepflegt und auch nicht empfohlen wird, passierte aufgrund akuter Langeweile und Genervtheit auf die Art und Weise, wie Samsung für seine Smartphones Android pflegt.

Zum einen dauert es gewaltig lange, bis Samsung die Android-Basis für seine Firmware aktualisiert. Für mein Galaxy S2 ist beispielsweise noch 4.0.4 aktuell, während es auf dem Markt bereits 4.1.2 und nun auch schon 4.2 gibt. Es ist fest damit zu rechnen, dass das kommende Update schon zum Zeitpunkt der Veröffentlichung wieder auf eine alte Android-Basis setzen wird. Und interessanterweise interessiert das alles bei Samsung niemanden, auch nicht das Bugfixing, was den kleineren Android-Updates zugrunde liegt.

Zum anderen pflegt Samsung bei seinen Firmware-Paketen eine typisch fernöstliche Kultur: Alles reinpacken und vorinstallieren, ohne Rücksicht auf Übersichtlichkeit. Das erste, was ich beim Starten meines Samsung Galaxy S2 im Mai 2011 dachte: Du liebe Zeit … die vorinstallierten Apps verteilten sich auf zwei Seiten des Launchers und genügend dieser vorinstallierten Software habe ich nicht ein einziges Mal gestartet. Dass man bei Samsung es mal so verstehen könnte, dass man Software optional zum Download anbietet und nicht von Hause aus die Smartphones zumüllt – unmöglich.

CyanogenMod geht in seinen Firmware-Paketen da den minimalistischen Weg: So pures Android wie nur möglich, dafür jedoch auf Geschwindigkeit optimiert und von Hause aus offen, also mit Superuser-Rechten. Was man von CyanogenMod und von der Installation jeglicher Aftersales-Firmware andererseits nicht erwarten darf: Eine sehr einfache Installation. Alle Aftersales-Firmwares sind mehr oder weniger komplex zu installieren, zumindest beim ersten Mal. Denn tatsächlich muss man zunächst das Smartphone so „knacken“, dass es die Installation von alternativen Firmware-Paketen überhaupt erlaubt. Das macht man für gewöhnlich dadurch, in dem man den Bootloader manipuliert, also das Stück Software, das ein Smartphone nach dem Einschalten unmittelbar ausführt und damit das eigentliche Betriebssystem lädt. Praktisch alle Smartphones überprüfen im Bootloader während der Installation einer Firmware deren Echtheit und installieren von Hause aus logischerweise nur die eigene Firmware. Hat man einen modifizierten Bootloader auf das Smartphone installiert bekommen, dann ist der Weg zu alternativen Firmwares frei.

Der Weg mit dem Samsung Galaxy S2 ist nicht sonderlich tricky, dauert aber zwei, drei Stündchen und erfordert zumindest ein paar Kenntnisse über Android und die Art und Weise, wie man per lokalem Computer Firmware einspielt. Und auch wenn die Installation von CyanogenMod eigentlich ziemlich sicher ist, muss man sich im Klaren darüber sein, dass nach der Installation einer alternativen Firmware der Hardware-Hersteller für gewöhnlich eventuelle Support- und Gewährleistungsansprüche ab diesem Zeitpunkt ablehnt. Zumindest ist der Rückweg zu einer Samsung-Firmware nicht gänzlich verbaut, wenngleich man dies dann zwingend an einem lokalen Computer initiieren muss.

Nun gut, es gibt schlimmeres auf dieser Welt, denn der Gegenwert ist mehr als fair: CyanogenMod 10 basiert auf Android 4.1/4.2 und auf diesem Weg bekomme ich auf mein Smartphone sehr elegant ein praktisch natives Android installiert, gänzlich unbeladen im Gegensatz zu den völlig überladenen Samsung-Firmwares. Wer das wiederum nicht mag, bleibt besser bei Samsung-Firmwares, da die meiste Fremdsoftware in Samsung-Paketen nicht separat erhältlich ist bzw. dann kostenpflichtig ist. Das gilt insbesondere auch für den Samsung-eigenen App Store und auch für die Erweiterungen, die Samsung in seine Android-Firmwares einbaut (z.B. Samsung DIVE zum Lokalisieren eines geklauten Smartphones).

Wer sich kundig machen möchte und vielleicht sogar mal CyanogenMod auf eigene Gefahr hin ausprobieren möchte, dem sei das CyanogenMod-Wiki empfohlen. Hier gibt es zu allen unterstützten Smartphones Installationsanleitungen, FAQ und Links zu Downloads. Ein Hinweis dazu: Stable-Downloads sind stabile Firmware-Versionen für den alltäglichen Gebrauch, Experimental-Downloads Firmware im Beta-Status zum Experimentieren und Nightlies absolute Experimentierfelder, die zwar weitgehend gut laufen, aber eben ausdrücklich auch im Alpha-Status sein können.