Durante la scorsa settimana Linus Torvalds ha diretto una delle "tirate" che l´hanno reso uno dei personaggi più controversi nella community FOSS ad uno degli sviluppatori di SystemD, Kay Sievers di Red Hat. L´oggetto del contenere è una patch, ma come spesso accade non è il commit in sè ad attirare le ire di Torvalds, quanto l´atteggiamento di fondo col quale viene proposto.
La patch di Sievers aveva come obbiettivo quello di "girare attorno" ad un bug in SystemD che veniva causato dalla presenza della stringa "debug" tra le opzioni di avvio del kernel Linux. Dopo averla letta dal da /proc/cmdline, SystemD inondava il logging del kernel (dmesg) con così tante informazioni da causare un hang completo del processo di avvio. La patch si proponeva di nascondere in qualsiasi caso la stringa "debug" tra quelle elencate in /proc/cmdline per impedire a monte al resto del sistema, SystemD incluso, di rilevarne la presenza.
Piuttosto che alterare il codice di rilevazione in SystemD (magari per cercare variazioni precise, come "systemd.debug"), i suoi sviluppatori hanno reputato accettabile variare il comportamento del kernel sulla base del fatto che "i termini generici sono generici, non è che il primo che arriva li possiede", come si evince dal loro rationale per la patch:
La command line del kernel è NOSTRA, e pertanto possiamo impedire agli utenti di vederne una determinata parte, se vogliamo. La patch che propongo qui nasconde "debug" da /proc/cmdline, così da non doverci preoccupare che altri tool la parsino e causino problemi a chi sta cercando di debuggare il kernel.
Queste motivazioni non sono andate per niente giù a Torvalds, che nella sua risposta è arrivato a chiedere al suo principale co-maintainer Greg Kroah-Hartmann di non accettare più codice proveniente da Kay Sievers:
Kay (sic), sono fo**utamente stanco del fatto che non sistemi i problemi del codice che *tu* scrivi, e che poi il kernel debba girare attorno ai problemi che tu causi. Greg - a titolo d´informazione, *non* accetterò dentro al kernel nessun codice da Kay fin quando questo atteggiamento costante non sparirà.
Questa storia va avanti da *anni* e non accenna a finire. [...] Non sono disposto a fare il merge di qualcosa della quale è risaputo che al maintainer non frega niente di bug e regressioni che poi costringono la gente di altri progetti a sistemare tutto. Perchè non ho *alcuna* voglia di accettare patch da chi non si occupa dei propri problemi e neanche ammette che il problema da sistemare è loro.
Kay - di nuovo: voi avete causato il problema, voi lo sistemate. Basta con altre stronzate alla "posso fare come mi pare, tanto puliscono gli altri".
Se Torvalds, come suo solito, parla seriamente, la questione potrebbe costituire un problema per SystemD e il lavoro in corso per KDBUS: Linus si è premurato che le patch in arrivo da SystemD per KDBUS dovessero essere trattate separatamente in previsione di una loro non inclusione, lasciando la patata bollente alle distro che eventualmente volessero supportarle out-of-tree.