Wie kan claimen een woord te hebben uitgevonden? Bij Tweakers begonnen we onderling met het gebruik van het woord 'flasheritis'. Dat is een aandoening waarbij je de onbedwingbare behoefte hebt om je smartphone te optimaliseren door het gebruik van custom roms. Inmiddels kun je AI-chatbots als OpenAI's ChatGPT en Google Gemini vragen naar het woord en met een beetje geluk hoor je keurig dat dit verwijst naar het onbedwingbaar willen flashen van je telefoon met nieuwe software.
Flasheritis heeft te maken met bèta's, maar zeker ook met custom roms. Voor wie het is vergeten of nooit heeft geweten: fabrikanten zetten in de fabriek een besturingssysteem op hun telefoon, maar met een beetje geluk kun je dat vervangen door een andere firmware.
Er zijn talloze redenen om dat te willen. Misschien wil je af van bloatware van de fabrikant of je wilt zo min mogelijk afhankelijk zijn van big tech. Soms willen mensen een versie van Android gericht op privacy of op beveiliging of ze vinden het leuk om te spelen met andere interfaces of functies die ze van de fabrikant niet kunnen krijgen.
Fabrikanten verschillen in hun benadering van custom roms. Het Nederlandse Fairphone moedigt het aan en zorgt ervoor dat custom roms maken makkelijk is. Fabrikanten als Samsung zijn niet zo open en maken het ontwikkelaars best lastig. Xiaomi maakt het zelfs heel moeilijk. Een van de fabrikanten die tot nu toe het meest openstond voor custom roms, was Google. Dat zette bestanden online die het maken van custom roms veel makkelijker maken. Daar komt een einde aan nu Pixel-telefoons uit AOSP gaan. Wat is hier aan de hand?
Android: opensource, maar ...
Het is nu lastig voor te stellen, maar Android was ooit bedoeld als opensource tegenhanger van toen bekende mobiele besturingssystemen als Symbian, Windows Mobile en Palm OS. Lees maar eens de aankondiging terug van Android uit 2007. Tweakers schreef toen over Android: 'een compleet open softwarepakket voor mobiele telefoons. In samenwerking met de Open Handset Alliance hoopt men een einde te maken aan voor ontwikkelaars moeilijk toegankelijke apparaten. Het pakket bestaat uit een op Linux gebaseerd besturingssysteem met middleware, interfaces en applicaties die zijn gebouwd op Java. Het hele systeem wordt opensource en belooft ontwikkelaars de vrijheid om alles aan te passen en overal bij te kunnen.'
Android was niet 'van Google', maar van de Open Handset Alliance, een samenwerkingsverband van bedrijven onder aanvoering van Google. De website daarvan is nog online, maar heeft voor het laatst een update gehad in het jaar kruik. Het is duidelijk dat het samenwerkingsverband niet meer zo actief is. De gedachte was dat er weliswaar veel telefoons in omloop waren, maar weinig daarvan in staat waren om advertenties te laten zien en dat is nu juist hoe Google geld verdient.
Er zijn meerdere takken van ontwikkeling. Fabrikanten pakken de broncode van Android en passen die aan; Google doet dat zelf, maar ook Samsung, Xiaomi en OnePlus zijn daarmee bezig. Ze voegen een eigen skin toe, in feite een eigen uitgave van Android met een eigen smoel, maar ook eigen functies. Daarnaast is er de opensourceversie van Android, AOSP, een afkorting van Android Open Source Project. Dat is de basis om mee te starten. AOSP is Android, maar dan zonder alles dat inmiddels gesloten is. Met alleen AOSP op je telefoon heb je geen functionerende smartphone. Je moet daaraan van alles toevoegen, zoals drivers voor de gebruikte componenten en bestanden om bijvoorbeeld het stroomverbruik van netwerkverbindingen onder controle te houden.
De eerste jaren maakte Google zelfs geen eigen telefoon. Het ging pas vanaf 2010 samenwerken met fabrikanten om een 'referentieapparaat' voor ontwikkelaars te maken onder de naam Nexus. Telefoons als de Nexus One, Galaxy Nexus, Nexus 5 en Nexus 6P kon je wel kopen, maar dat was nog beperkt.
Intussen trok Google wel steeds meer onderdelen van Android naar zich toe in de loop van de jaren. De Android Market werd Google Play Store, een subtiele naamswijziging die plaatsvond in 2012. Het was niet alleen een naamswijziging. Er kwamen nieuwe voorwaarden bij. Daarnaast kwamen er Play Services, een framework dat belangrijk werd in functionaliteit van Android. Via Play Services lopen onder meer api's voor locatiebepaling, verificatie en betalingen binnen apps.
De vele kleine manieren waarop Google het lastiger maakt voor custom roms
:strip_exif()/i/2007621326.jpeg?f=thumbmedium)
Vanaf 2016 gooide Google het roer om. In plaats van een referentieapparaat met een andere fabrikant ging het concurreren met die fabrikanten door een eigen telefoonserie te beginnen: de Pixel-telefoons. Elk jaar komen er meerdere nieuwe toestellen in die serie op de markt.
De benodigde bestanden om een werkende firmware te maken zaten tot nu toe elk jaar in AOSP, omdat Google de eigen telefoons ook zag als 'referentieapparaat'. Dat veranderde in Android 16. In AOSP zit nu Cuttlefish, een virtuele Android-telefoon voor ontwikkelaars.
Ook is de geschiedenis van commits in AOSP verdwenen, waardoor het lastiger wordt om veranderingen in het opensourceproject bij te houden en er rekening mee te houden in custom roms.
Wat betekent dit? Veel custom roms hebben een klein team ontwikkelaars. Soms zijn het er een paar; in sommige gevallen is het maar één persoon die de kar trekt. Het is bovendien niet hun werk of inkomstenbron: het is in veel gevallen hobby. Hoe minder werk het is om een telefoon te ondersteunen, hoe beter.
Met deze stap wordt het maken van custom roms dus meer werk, want veel van de bestanden om bijvoorbeeld de camera's of andere onderdelen te laten werken met een custom rom, zijn nu niet meer openbaar online te vinden. Na elke update zullen ontwikkelaars die moeten maken door middel van bijvoorbeeld reverse engineering. Dat is niet onmogelijk, maar wel tijdrovend.
Voor specifiek Pixel-telefoons is het maken van custom roms ook lastiger geworden door Googles wissel naar eigen Tensor-socs. De documentatie daarover is een stuk minder uitgebreid en dat maakt werken met toestellen lastiger.
:strip_exif()/i/2006183506.jpeg?f=imagenormal)
Een andere complicerende factor van de afgelopen jaren is de Play Integrity-api. Apps kunnen die api gebruiken om te checken of de app op een echt Android-apparaat staat. Die technologie heette vroeger SafetyNet, maar is net als zoveel belangrijke elementen ondergebracht in Google Play. Er zijn manieren om die api te omzeilen, maar het is wel een extra hobbel die het lastiger maakt voor custom roms. Bovendien werkt Android met Verified Boot, waarbij de telefoon bij het opstarten checkt of de bootloader vergrendeld is. Een ontgrendelde bootloader is noodzakelijk voor custom roms.
Een andere maatregel die custom roms bemoeilijkt, betreft het flashen ervan. Veel telefoons werken nu met A/B-partities om updates vloeiender te installeren. Daardoor is de tijd dat een telefoon uit moet staan om een update te draaien beperkt tot een minimum. Het maakt het flashen van custom roms lastiger: die moeten rekening houden met die partities.
Voor wie zich afvraagt hoeveel gebruikers van custom roms er zijn: daarover zijn geen cijfers bekend. De grootste maker van custom roms, LineageOS, heeft wel openbare statistieken. Hoewel er veel gebruikers in een 'onbekend' land zitten, geven de cijfers wel een beeld van hoe groot de groep is.
Vermoedelijk is er iets veranderd aan de manier van meten of wij zijn massaal custom roms gaan flashen rond coronatijd, want toen was er een enorme piek. Zelfs als je die piek niet meeneemt, is te zien dat het aantal gebruikers in Nederland met een derde is afgenomen en in België bijna is gehalveerd in zeven jaar tijd.
Tot slot
Custom roms bestaan al bijna even lang als Android zelf en al die tijd heeft Google daarmee een opvallende verhouding gehad. De eerste bekende custom rom was CyanogenMod en Google vroeg die in 2009 al te stoppen.
Die verhouding is complex om meerdere redenen. De mensen die custom roms maken zijn bijna per definitie grote liefhebbers van het platform. Ze besteden tijd en aandacht aan het in hun ogen beter maken van de firmware. Het zijn misschien wel de grootste fans en kenners van Android buiten de gevestigde bedrijven.
Schending van copyright ligt echter vaak op de loer. Makers van custom roms omzeilen beveiligingsmaatregelen en zorgen voor toegang tot diensten die eigenlijk niet zouden mogen. Dat doen ze niet allemaal: LineageOS bijvoorbeeld blijft daarbij vandaan. Je zou denken dat LineageOS en Google daarom een goede relatie hebben, maar een paar jaar geleden zei een van de ontwikkelaars nog tegen Tweakers dat LineageOS geen relatie met Google heeft.
Ook belangrijk is de perceptie. Google is een groot, machtig en rijk techbedrijf; makers van custom roms zijn hobbyisten en vrijwilligers. Als Google het openlijk tegen hen opneemt, oogt dat al snel als David tegen Goliath.
Wat Google nu heeft gedaan, is werken aan de beveiliging van Android en het naar zich toe trekken van steeds meer functies binnen Android via bijvoorbeeld Play. Dat laatste heeft vooral een commercieel motief.
Google zal niet snel openlijk zeggen dat het het zo moeilijk mogelijk wil maken om custom roms te maken, maar het bedrijf heeft ook weinig tot geen rekening gehouden met het maken van custom roms bij zijn beslissingen rond Android.
Daar komt nog een laatste punt bij. Zelfs onder tweakers lijkt de animo voor custom roms langzaam af te nemen. Sommigen gebruiken het nog om een apparaat langer in leven te houden, maar het aantal gebruikers lijkt dalende.
Dat betekent niet dat het goed is dat Google het leven van ontwikkelaars en gebruikers zuur maakt. Het zou mooi zijn als er van fabrikanten en van Google volop ondersteuning hiervoor zou komen. Dat betekent heus niet dat miljoenen Nederlanders en Belgen custom roms gaan flashen, maar het betekent wel dat je keuze hebt uit andere software dan die van de fabrikant.
Redactie: Arnoud Wokke Eindredactie: Marger Verschuur