Apple geeft ARM-geoptimaliseerde kernelcode voor iOS en macOS vrij

Abonneer je gratis op Techzine!

Sinds Apple voor het eerst met OS X kwam, heeft het met regelmaat de broncode van de kernel vrijgegeven. Op zich niet zo gek, want de kernel is gebaseerd op Unix, waar een open source licentie aan hangt. Deze kernel is niet alleen de basis voor macOS, maar ook voor iOS. In feite publiceert Apple dus ook al sinds jaar en dag de kernelcode voor dat platform. Tot op heden was deze echter niet geoptimaliseerd voor ARM-processors. Als ontwikkelaar had je er dan ook nagenoeg niets aan als je graag je eigen variant van iOS op een (ARM-aangedreven) smartphone of tablet wilde zetten. 

Daar komt vandaag echter verandering in. Het bedrijf heeft vandaag in alle stilte ARM-vriendelijke broncode voor de XNU-kernels in iOS en macOS vrijgegeven. Let wel, het gaat hierbij enkel om de kernelcode. De interface, ontwikkelframeworks of apps vallen daar niet onder, terwijl die juist wel dienen als belangrijkste onderdeel van de platformen.

De XNU (X is not Unix)-kernel van Apple wordt breed gebruikt door het bedrijf. De software vormt niet alleen de basis van macOS, maar ook van iOS en watchOS. Daarmee maken zo’n beetje alle grote apparaten die de technologiereus uit Cupertino op de markt heeft gebracht, gebruik van de code. Die is ontwikkeld met het open source systeem Darwin, eveneens een Apple-technologie.

Beperkte licentie

Overigens moet ook opgemerkt worden dat de mogelijkheden voor ontwikkelaars zeer beperkt zijn. De licentie laat weinig toe. Ontwikkelaars hebben dus niet de vrijheid die ze bijvoorbeeld bij Linux hebben als het aankomt op het gebruiken van de code.

Toch is deze voor ARM geoptimaliseerde broncode wel degelijk interessant. Althans, als je het wat breder bekijkt. Het zou namelijk kunnen duiden op de komst van ARM-processors naar apparaten die macOS draaien. Wellicht dat niet alleen Windows 10 naar ARM komt binnenkort.

De complete  gebruiksvoorwaarden zijn op het Open Source Initiatieve terug te vinden.  In basis houdt het in dat gebruikers de broncode alleen mogen gebruiken voor de ontwikkeling van Apple-specifieke software. Ondanks de relatief beperkte mogelijkheden met de broncode, biedt de kernel overigens wel een interessante ingang. App- en OS-ontwikkelaars kunnen een beter gevoel krijgen van hoe Apple bepaalde basistaken van het systeem vormgeeft.