L'errore di BitKeeper di Linus Torvalds

Gli sviluppatori open source, come ci si potrebbe aspettare, in genere utilizzano compilatori, editor e altri strumenti gratuiti per creare il proprio software. Ma tre anni fa il creatore di Linux Linus Torvalds ha iniziato a utilizzare un sistema di controllo della versione del software proprietario e closed-source chiamato BitKeeper per mantenere il codice sorgente per il kernel Linux. È stata una decisione controversa, certo, e che sembra essere finalmente - e forse prevedibilmente - tornata a morderlo.

I sistemi di controllo della versione facilitano i progetti software collaborativi mantenendo un archivio centrale del codice sorgente. Gli sviluppatori possono "estrarre" una copia del codice dal repository, apportare le modifiche e quindi ricontrollare le versioni modificate. Il sistema risolve le discrepanze tra le diverse versioni in modo che tutte le modifiche vengano infine elaborate in un insieme unificato.

Per estrarre il codice da un repository BitKeeper, è necessario utilizzare il software client BitKeeper proprietario e closed source. Sebbene il creatore di BitKeeper, Larry McVoy, offrisse il client agli sviluppatori open source gratuitamente, a condizione che rispettassero il suo contratto di licenza, questa disposizione non andava bene con coloro che preferivano mantenere lo spirito del software libero in tutto ciò che facevano. Tuttavia, Torvalds ha ritenuto che BitKeeper fosse lo strumento migliore per il lavoro, quindi ha messo da parte queste lamentele.

Entra Andrew Tridgell, uber-hacker e creatore di Samba. Tridgell riteneva che se i sorgenti del kernel Linux dovevano essere conservati in un repository BitKeeper, ci doveva essere un altro modo per accedervi utilizzando strumenti open source. Quindi ha scritto uno strumento tutto suo dopo aver decodificato i protocolli di BitKeeper. Fu allora che McVoy chiamò fallo.

McVoy afferma che il cliente di Tridgell ha violato la clausola di non concorrenza del contratto di licenza di BitKeeper. Dice che devi usare la versione gratuita del client ufficiale di BitKeeper, la versione commerciale o niente.

Protestò Tridgell. Non aveva violato alcuna licenza, disse, perché non ne aveva mai acconsentito. Non aveva nemmeno mai usato il client BitKeeper di McVoy; ha semplicemente intercettato le comunicazioni del server mentre attraversavano il cavo e le ha decodificate. Ma alla fine McVoy, ancora infastidito, ha scelto di richiamare la versione gratuita del suo software client alla fine di aprile. D'ora in poi, sviluppatore open source o no, se vuoi usare BitKeeper, devi pagare.

Ignoriamo chi ha ragione o torto nel dibattito McVoy / Tridgell per ora. Il risultato è che il progetto del kernel Linux necessita di un nuovo sistema di controllo della versione. E questo rende Torvalds infelice. Il problema è che avrebbe dovuto saperlo meglio dall'inizio.

Torvalds sembra essersi innamorato dell'argomento "birra gratis": non doveva pagare per BitKeeper, quindi ha pensato che fosse abbastanza buono. Ma non dover pagare non è e non è mai stato il vero scopo del software libero. Il punto è evitare la situazione in cui si è trovato alla fine Torvalds: a McVoy non piaceva come veniva usato il suo prodotto, quindi ha preso la sua palla ed è andato a casa. Potresti permetterti di cambiare marcia nel bel mezzo di un progetto se uno dei tuoi principali fornitori di software facesse lo stesso?

Alla comunità aziendale piace prendere le distanze dai dibattiti ideologici che circondano il software libero e open source, ma il caso BitKeeper è un ottimo esempio del motivo per cui la gestione IT aziendale non può ignorare i problemi di licenza del software. Non vuoi che il tuo fornitore di PBX ti dica come utilizzare il tuo sistema telefonico, o il tuo fornitore di stampanti che ti dice cosa stampare. Non preferiresti nemmeno un software che non ti dicesse come gestire la tua attività?