Zorgt Android voor een Linux-splitsing?
Gepubliceerd: Dinsdag 14 september 2010
Auteur: Steven J. Vaughan-Nichols
Android is in feite Linux, en dat is goed. Minder goed is dat Google met Android volgens Linux-puristen een breuk in de Linux-ontwikkeling dreigt te veroorzaken.
Android, het populaire smartphone OS, wordt door sommigen gezien als de meest succesvolle Linux-versie tot nu toe. Het enige probleem met die redenering is dat Android zich onttrekt aan de belangrijkste Linux-trends.
Dat de wegen van Android en Linux gescheiden waren viel veel mensen pas op toen Ryan Paul in een artikel op Ars Technica schreef dat "Google engineer Patrick Brady onomwonden stelde dat Android niet Linux is".
Brady overdreef het wel een beetje. Android is Linux. Om precies te zijn: versie 2.2 (Froyo) draait op Linux-kernel 2.6.32. Om de Android ontwikkelaarssite aan te halen: Dalvik, de op Java gebaseerde interface en gebruiksomgeving van Android, "gebruikt de Linux-kernel voor onderliggende functionaliteit zoals threading en low-level memory management". Of, om het wat simpeler te maken: zonder Linux is er geen Android.
Maar Google heeft Android wel een eigen richting gegeven, en die richting is niet compatibel met de mainstream Linux-kernel. Greg Kroah-Hartman, hoofd van het Linux Driver Project en ontwikkelaar bij Novell, schreef op zijn blog: "De code van de Android-kernel is meer dan alleen een paar rare drivers in de drivers/staging/android subdirectory in de kernel. Om een werkend Android-systeem te krijgen, heb je het nieuwe lock-type nodig dat ze hebben gemaakt, en een ingang in de kern van het systeem voor hun beveiligingsmodel. Om een driver te kunnen schrijven waarmee je hardware onder Android kunt laten werken, moet je die fatsoenlijk integreren in die nieuwe lock, en soms ook in dat bizarre beveiligingsmodel. Oh, en dan heb je ook nog die totaal verschillende framebuffer driver infrastructuur." Je begrijpt: dat viel niet zo lekker in Android-kringen.
De onenigheid werd gevoed door minstens twee gevoelige punten. De ene was dat de Android-ontwikkelaars bij Google een eigen manier hadden gevonden om met de energievoorziening om te gaan via WakeLocks. De andere had te maken met een opmerking van Google's open source engineering manager Chris DiBone, die beweerde dat de Android programmeurs zo druk waren met Android-apparaten dat coördinatie met de ontwikkelaars van de Linux-kernel er een beetje bij was ingeschoten.
Sindsdien is er onder ontwikkelaars heel wat discussie gevoerd over de juiste manier om specifieke Android-code in Linux af te handelen. Linux Torvalds liet de Android drivers zelfs uit de hoofd Linux-kernel verdwijnen.
