7 projets open source made in Apple

Moins fourni que celui des autres GAFAM, le portefeuille open source d’Apple comprend tout de même quelques références.

Dans l’open source, Apple est-il le moins impliqué des GAFAM ? Si on en juge au nombre de projets « significatifs » lancés, la réponse est oui. Le groupe américain a toutefois quelques références en vitrine. En voici sept.

FoundationDB

FoundationDB logoCette base de données avait émergé en 2009 avec l’objectif d’associer NoSQL et transactions ACID. Elle avait notamment séduit Snowflake, qui l’avait adoptée en 2014 et l’exploite aujourd’hui encore pour la gestion des métadonnées.

FoundationDB Snowflake

Snowflake utilisait à l’origine une version commerciale. Et pour cause : FoundationDB n’est open source que depuis 2018… soit trois ans après son acquisition par Apple.

Le cœur du projet repose sur un magasin clé-valeur à sérialisation stricte. Il n’a pas d’API SQL native. On peut cependant lui greffer des modules destinés à fournir des couches de compatibilité (il en existe par exemple un pour MongoDB), des schémas de données, voire des frameworks.

architecture FoundationDB
Le nœud central (« contrôleur ») est le point d’entrée vers le cluster pour tous les processus. Les nœuds « coordinateurs » l’élisent à la majorité.

Password Manager Resources

Lancé en 2020 sous licence MIT, ce projet n’héberge pas tant du code que des éléments de configuration (quirks). Destinés à une intégration dans les gestionnaires de mots de passe, ils sont de quatre types :

– Règles de définition des mots de passe sur certains sites web
– Indications sur les back-end mutualisés entre domaines (atlassian.com/trello.com, fnac.com/fnacspectacles.com…)
– Informations sur les URL de réinitialisation des mots de passe
– Liste de sites qui imposent l’authentification multifacteur

ResearchKit et CareKit

Lancés respectivement en 2015 et en 2016. Ces « canevas logiciels » permettent de développer des applications iOS pour le recueil de données médicales et le suivi de santé.

ResearchKit logoResearchKit inclut trois modules principaux : recueil de consentement, questionnaire et activités basées sur les capteurs intégrés aux appareils Apple. Les applications nées sur cette base proviennent pour beaucoup de la sphère académique. Par exemple, mPower de l’université de Rochester (pour étudier la maladie de Parkinson), VascTrac de Stanford (artérite), MS Mosaic de Duke (sclérose en plaques) et EpiWatch de Johns-Hopkins (épilepsie).

De Stanford ont aussi émergé des applications fondées sur CareKit. Entre autres, pour le suivi des problèmes cardiaques infantiles. Le groupe hospitalier californien Sharp HealthCare l’a quant à lui mis à profit pour la gestion de l’avant et après-opération de la cataracte.

CareKit types de cartes

Bonjour

Bonjour Apple open sourceVoilà vingt ans, Apple publiait la première version de ce protocole de mise en réseau. Bonjour met en œuvre la technologie Zeroconf (Zero-configuration) de l’IETF. Parmi ses capacités :

– Allocation dynamique d’adresses IP sans serveur DHCP
– Résolution de noms et d’adresses IP sans serveur DNS
– Recherche de services sans annuaire
– Traversée des passerelles NAT

Initialement nommé Rendezvous, il fut d’abord publié sous licence ASPL. Avant de passer, en 2006, à Apache 2.0.

WebKit

Ce moteur de rendu porte aujourd’hui le navigateur Safari et diverses applications Apple (iTunes, Mail, News, App Store…). À l’origine, il y a un fork des bibliothèques KHTML et KJS de l’environnement de bureau KDE. Une démarche amorcée en 2001. Quatre ans plus tard, WebKit allait passer en open source. Pour partie sous licence BSD, et en LGPL pour ses deux briques principales : WebCore et JavaScript Core.

Google avait d’abord adopté WebKit pour propulser Chrome. Avant de finalement créer, en 2013, un dérivé de WebCore : Blink, qui complétait son moteur JavaScript maison (V8).

Sony a implémenté WebKit sur les trois dernières générations de sa console PlayStation. Samsung s’en est aussi servi sur son OS Tizen ; Nokia, sur Symbian ; Amazon, sur des Kindle.

Swift

Swift remplacera-t-il Objective-C ? La question se pose aujourd’hui encore, huit ans après la présentation de ce langage de programmation. Publié fin 2015 sous licence Apache 2.0, il utilise une syntaxe simplifiée et gère la protection mémoire.

Au cœur fonctionnel, Apple a adjoint diverses bibliothèques (localisation, réseau, tests unitaires…). Le projet a fini par s’étendre au développement serveur. Une couche de compatibilité avec C++ est en cours d’élaboration. Ainsi que des réimplémentations de frameworks Apple (comme Foundation, UIKit et AppKit) sans dépendance au runtime Objective-C.

Swift nouveautés open source
(Cliquer pour agrandir.)

Illustration principale © larsomat / CC BY-NC-SA 2.0