
Una nuova, e forse definitiva, puntata si aggiunge al dibattito su Rust nel Kernel Linux di cui stiamo parlando da qualche settimana e che coinvolge Hector Martin, anche conosciuto come marcan, Project Lead del progetto Asahi Linux che si era dimesso da maintainer dal Kernel Linux e che ha annunciato in un post sul proprio blog le dimissioni anche da project lead di Asahi Linux.
L’articolo è intitolato Resigning as Asahi Linux project lead e parte dalle origini e dalle motivazioni della creazione di un progetto con così ampie pretese.
The first couple of years were amazing, as we brought the platform from nothing to one of the smoothest Linux experiences you can get on a laptop. Sure, there were/are still some bits and pieces of hardware support missing, but the overall experience rivaled or exceeded what you could get on most x86 laptops. And we built it all from scratch, with zero vendor support or documentation. It was an impossible feat, something that had never been done before, and we pulled it off.
I primi due anni sono stati straordinari, perché abbiamo portato la piattaforma dal nulla a una delle esperienze Linux più fluide che si possano ottenere su un portatile. Certo, mancavano ancora alcuni elementi di supporto hardware, ma l’esperienza complessiva era in grado di rivaleggiare o superare quella della maggior parte dei portatili x86. E abbiamo costruito tutto da zero, senza alcun supporto o documentazione da parte dei fornitori. Era un’impresa impossibile, qualcosa che non era mai stato fatto prima, e ce l’abbiamo fatta.Marcan nell’articolo spiega che inizialmente il progetto ha ricevuto un importantissimo sostegno da parte di tutta la community, (anche in termini economici) ed è diventato un punto centrale della sua vita.
Col passare del tempo però le cose hanno iniziato a complicarsi e il project lead ha affermato che il progetto Asahi Linux ha iniziato a rallentare in principio a causa della difficoltà nel fare upstream verso il Kernel Linux, con tempi di approvazione del codice molto lunghi.
I problemi sono aumentati, sempre secondo Marcan, quando il numero di utenti è incrementato e le richieste sono diventate sempre più numerose. L’autore cita ad esempio le richieste di implementazione della porta Thunderbolt o di altre feature minori che hanno spinto gli utenti a paragonare Linux su Mac con il sistema operativo nativo di Apple, alimentando il risentimento in Martin, mentre allo stesso tempo le donazioni hanno iniziato a calare.
Un punto centrale nell’abbandono del progetto, lo ha però giocato l’integrazione di Rust nel Kernel Linux. Hector Martin considera infatti fallimentare la gestione dell’integrazione di Rust all’interno del Kernel. Lo stesso Rust è un punto centrale dello sviluppo di Asahi, essendo il linguaggio usato per i principali driver del sistema, come ad esempio il driver GPU.
Rust is the entire reason our GPU driver was able to succeed in the time it did. We have two more Rust drivers in our downstream tree now, and a third one on track to be rewritten from C to Rust, because Rust is simply much better suited to the unique challenges we face, and the C driver is becoming unmaintainable. This is, by the way, the same reason the new Nova driver for Nvidia GPUs is being written in Rust.
Rust è la ragione principale per cui il nostro driver per GPU è riuscito ad avere successo nei tempi previsti. Ora abbiamo altri due driver Rust nel nostro albero downstream e un terzo è in procinto di essere riscritto da C a Rust, perché Rust è semplicemente molto più adatto alle sfide uniche che dobbiamo affrontare e il driver C sta diventando non manutenibile. Questo è, tra l’altro, lo stesso motivo per cui il nuovo driver Nova per le GPU Nvidia è stato scritto in Rust.Non meno importante il fatto che, sempre secondo Hector Martin, alcuni membri importanti nello sviluppo del progetto hanno fatto “doppio gioco”:
But it goes well beyond the public incident. In the days that followed, I learned that some members of the Kernel and adjacent Linux spaces have been playing a two-faced game with me, where they feigned support for me and Asahi Linux while secretly resenting me and rallying resentment behind closed doors.
Ma la questione va ben oltre l’incidente pubblico. Nei giorni successivi, ho appreso che alcuni membri del Kernel e degli spazi Linux adiacenti hanno giocato con me una partita a due facce, fingendo di sostenere me e Asahi Linux, ma nutrendo segretamente risentimento nei miei confronti ed alimentandolo a porte chiuse.A causa di un insieme di fattori, tra cui il fatto che il 2024 è stato un anno particolarmente complesso per Hector, soprattutto per ragioni personali, e il burnout vissuto dallo sviluppatore durante il periodo in cui ha guidato il progetto, Martin ha deciso di fare un passo indietro, cedendo la leadership alla community di Asahi Linux OpenCollective.
La notizia è ufficiale, dato che il 13 febbraio 2025 il blog ufficiale di Asahi Linux ha pubblicato un articolo intitolato “Passing the torch on Asahi Linux” dove si confermano le dimissioni di Hector Martin come project lead e dove vengono annunciati i nuovi membri del collettivo che seguirà lo sviluppo del progetto, mentre nell’organizzazione Github il progetto è già passato in mano ai nuovi developer.
Il gruppo di sviluppatori ha accolto così la notizia:
With a heavy heart, we announce the resignation of Asahi Linux founder Hector Martin (marcan). His statement is on his blog. Asahi Linux brings Linux to Apple Silicon, supporting audio, webcams, graphics acceleration, and more. As the remaining developers, we are taking this as an opportunity to build sustainable project governance. No matter how talented an individual, a large project cannot rest on a single person’s shoulders
Con grande dolore, annunciamo le dimissioni del fondatore di Asahi Linux Hector Martin (marcan). La sua dichiarazione è sul suo blog. Asahi Linux porta Linux su Apple Silicon, supportando audio, webcam, accelerazione grafica e altro ancora. Come sviluppatori rimasti, stiamo cogliendo questa opportunità per costruire una governance sostenibile del progetto. Per quanto un individuo possa avere talento, un progetto di grandi dimensioni non può poggiare sulle spalle di una sola persona.Affermando che un progetto così grande e pretenzioso non può essere gestito da una singola persona.
Seppur spinto da molta passione e avendo una grandissima competenza in materia Kernel (Hector, in passato, ha hackerato dispositivi come Playstation, Wii e sistemi embedded) la gestione di un progetto che vuole fornire un’implementazione efficace del Kernel Linux su macchine così complesse e “closed” come i Mac con tecnologia ARM è estremamente difficile da gestire come singolo individuo.
Se in passato, come afferma anche Hector, era possibile gestire progetti del genere nel tempo libero, come hobby. Oggi questa cosa non è più possibile, a meno che non si faccia parte di una corporate che finanzia e segue il progetto.
Da una parte gli utenti sono sempre di più e vogliono sempre più funzionalità, dall’altra parte c’è la chiara difficoltà nello scrivere codice (e mandarlo upstream) adattabile alle caratteristiche hardware dei vari MacBook che cambiano ogni anno e che quindi richiedono un continuo rilascio di funzionalità per stare al passo con le innovazioni che arrivano sul mercato.
Verrebbe quasi da concludere come la decisione a proposito di affidare la leadership di un progetto così ambizioso ad un team di più persone e non ad un singolo individuo fosse forse la scelta migliore fin dall’inizio.