L’histoire mouvementée de FUSE, cette interface logicielle qui permet de lire de nombreux systèmes de fichiers sur macOS et GNU/Linux, connait un nouveau rebondissement. Comme le remarque le développeur Colin Atkinson, les sources de FUSE pour macOS ne sont plus disponibles depuis quelques mois.
FUSE, pour Filesystem in Userspace, permet de concevoir des systèmes de fichiers sans toucher au noyau. Le système de fichier est implémenté dans l’espace utilisateur, et FUSE fournit des ponts vers le noyau. S’il s’adresse aux systèmes UNIX et simili-UNIX, FUSE dérive du projet de système de fichiers virtuel du micronoyau GNU Hurd, qui se présentait comme une solution de remplacement au noyau UNIX1.
MacFUSE est né chez Google en 2007, mais a été rapidement abandonné. Son code a été repris par deux équipes successives et concurrentes, celle de Fuse4X puis celle d’OSXFUSE. Depuis 2011, OSXFUSE est la seule solution qui permet d’utiliser FUSE sur macOS, au point qu’il est désormais connu sous le simple nom de « FUSE pour macOS ». Son créateur, le développeur allemand Benjamin Fleischer, est le principal contributeur au projet.
Or plusieurs applications propriétaires et payantes utilisent les sources de FUSE pour macOS, sans reverser leurs éventuelles modifications. « Je ne peux pas continuer à travailler gratuitement sur FUSE », explique Benjamin Fleischer, « je demande un soutien financier depuis trois ans, mais rien ne s’est matérialisé. » Le développeur refuse de faire payer FUSE aux utilisateurs : « FUSE sera toujours gratuit ».
Alors quoi ? « Je demande aux entreprises qui vendent des produits basés sur FUSE […] de réinvestir une partie des bénéfices dans le développement de FUSE pour macOS », dit Fleischer, « je ne pense pas que ce soit déraisonnable. » Pour éviter les accusations de chantage, Fleischer précise bien que « le code source de FUSE sera toujours disponible gratuitement, même pour des projets commerciaux ».
Il appelle donc aux bonnes volontés, aux entreprises « qui peuvent » contribuer financièrement. En attendant, il ne distribue plus les sources de FUSE pour macOS, mais seulement un binaire compilé, dont la dernière version prend en charge macOS Catalina. Fleischer peut espérer être entendu : il possède un certificat de signature des extensions de noyau, un sésame délivré au compte-goutte par Apple.
Une entreprise pourrait forker la version 3.8.3 de FUSE pour macOS, la dernière dont les sources sont disponibles, mais elle devra reprendre le travail d’adaptation à macOS Catalina et subir le rigoureux examen d’Apple en vue de l’obtention d’un certificat. Cette controverse intervient au moment où Apple a déprécié les extensions de noyau, et présenté DriverKit, un nouveau système de pilotes exécutés dans l’espace utilisateur.
-
Et qui, comme le noyau XNU de macOS, est largement basé sur le micronoyau Mach. ↩