pollycoke :)

Il futuro di Beryl

Tutti conoscono le mie opinioni su Beryl. Alcuni pensano erroneamente che io “ce l’abbia a morte” con il team di Beryl, per non si sa quale motivo… C’è perfino chi è arrivato ad ipotizzare che qualcuno mi paghi per magnificare Compiz¹ :D

Sono davvero in pochi gli illuminati che capiscono che la mia reazione alle scelte effettuate dal team di Beryl sono dettate dalla frustrazione di vedere inquinare un progetto pieno di potenzialità come Compiz, per perdersi in futilità invece di creare qualcosa.

Una delle teste più pensanti del team di Beryl, o almeno così sembrerebbe dall’unico suo post che io abbia letto, ha scritto alcune cose interessanti. La testa in questione appartiene al nick kristian e nel post intitolato appunto “The future of Beryl” dà uno sguardo al passato, presente ed eventuale futuro del progetto. Visto che il post mi è piaciuto, voglio tradurne alcuni stralci e commentarlo insieme a voi. Kristian comincia con una classica:

Let me just start this by saying that I appreciate the work David has done, and continues to do with both Compiz and now X.org. He has an immense amount of knowledge, and he is responsible for getting us where we are today with a proper composite window manager. And he keeps giving to the community through is code. For that, I thank him. I do not belive, at this point, that anyone on the Beryl team has that same amount of knowledge of X and related libraries

Lasciatemi cominciare dicendo che io apprezzo il lavoro che David [Reveman, l’autore di Compiz, N.d.felipe] ha fatto, e continua a fare con Compiz e adesso X.org. Ha un’immensa quantità di conoscenza, ed è responsabile di averci portato dove siamo oggi, con un vero composite window manager. E continua a dare alla comunità attraverso il suo codice. Per questo, lo ringrazio. Non credo a questo punto che ci sia alcuna persona nel team di Beryl che abbia la sua stessa conoscenza di X e librerie affini. (T.d.felipe)

Beh, direi che ci può stare. Dimostra un buona capacità di analisi rispetto ad atteggiamenti stupidi, sentiti e letti in passato, che inneggiano alla libertà vaneggiando stronzate tipo “David non accettava il nostro plugin completamente inutile e scritto coi piedi, quindi Compiz è fascismo!”…

Kristian invece riconosce che il codice di Beryl deriva da Compiz e lascia intuire, ma non chiaramente, una cosa che in pochi esplicitano: il codice di Compiz viene periodicamente importato in Beryl, non tutto ovviamente, ma viene importato. Per questo generalmente quando in Compiz viene introdotta una nuova caratteristica, dopo una settimana la si ritrova in Beryl. Non è raro che dall’interno del progetto Beryl si sia spacciata per novità una caratteristica che era stata importata da Compiz a distanza di settimane.

Dopo l’introduzione, Kristian si perde un po’, cercando di affrontare la questione più spinosa. La risposta alla domanda che mi sono posto anche io. Perché diavolo mai fare un fork di Compiz? Ho cercato di riassumere un po’, senza stravolgere l’originale. Stare a leggere queste banalità, sembra un po’ di dover “pagare pedaggio” per poter proseguire alle altre cose interessanti che ha da dire.

So why the fork? So far there isn’t really a significant difference between Beryl and Compiz […] what I personally consider the main reason why a fork was necesarry [is] Attitude. Compiz is developed as a one-man project […] this code is virtually undocumented, and only one person really knows what the code does.

Dunque, perché il fork? Finora non c’è una vera significativa differenza tra Beryl e Compiz […] quello che personalmente considero la principale ragione per cui un fork era necessario [è] l’atteggiamento. Compiz è sviluppato come un progetto individuale […] questo codice è virtualmente non documentato, e solo una persona conosce realmente che cosa faccia. (T.d.felipe)

Oh. Questa è un prospettiva nuova. Il fork si è fatto a causa dell’atteggiamento? Si sta ormai creando un mito di un David Orco Reveman che mangia gli sviluppatori che propongono patch… La verità è differente! Seguo la ML di Compiz e finora non ho mai letto rifiuti di patch se non accompagnati da spiegazioni dettagliate del perché del rifiuto, generalmente con un invito a correggere o rivedere.

Non ho mai letto David rifiutare contributi, anche per aree importanti di Compiz, se questi erano validi. Fossi in lui mi comporterei esattamente allo stesso modo. Il ragazzo ha l’esatta visione di dove deve andare il progetto, è stato lui a scriverlo da zero, mi sembra più che normale che rifiuti plugin rozzi e scritti male, e soprattutto non mi sembra una questione di atteggiamento

La questione del codice “virtualmente non documentato” non credo meriti granché come commento… se uno vuole documentare il codice di qualcun altro per il bene della comunità non fa certo un fork, non stravolge l’indentazione, non cambia nome alle funzioni giusto per poterlo chiamare il “proprio” codice. Sfortunatamente, una volta sbagliate le premesse si sbagliano anche alcune conclusioni:

What I want to do with Beryl is clean it up. Make it better. I want to use the good ideas David had, and implement them properly […] I want to increase the flexibility of the code, and make it more robust

Quello che voglio fare con Beryl è ripulirlo. Renderlo migliore. Voglio usare le buone idee che ha avuto David ed implementarle correttamente […] Voglio aumentare la flessibilità del codice, e renderlo più robusto. (T.d.felipe)

Tutto molto bello, ma ancora una volta: per usare le buone idee di David c’era davvero bisogno di fare un fork? Non bastava aiutare David? Ci sono decine di sviluppatori che contribuiscono a Compiz ogni giorno, e aiutano David a rendere Compiz un progetto migliore.

Compiz è GPL, free software, completamente libero (fonte: file COPYING dal cvs di Compiz su freedesktop.org), ed essendo un progetto collaborativo, l’aiuto di tutti – specie se di qualità – è sempre benvenuto. Gli sviluppatori che aiutano David ogni giorno sono in genere molto preparati e stanno creando un software d’eccellenza. Sono forse più stupidi perché non fanno un fork alla settimana? Beryl è nato in virtù della GPL, per cui è bastato copiare Compiz e rinominarlo per avere un fork. Tutti potrebbero creare un fork di Compiz con la stessa facilità. Ma sarebbe corretto farlo?

David, surely does some amazing things that I’m gratefull for, like working on input redirection in X.org. So far, Beryl has mostly focused on Beryl. Our plugins haven’t been that radical and most of them will still work on Compiz. So no, we’re not really that much better yet, are we?

David fa sicuramente delle cose impressionanti, di cui sono gratto², come il lavoro sull’input redirection in X.org. Finora invece Beryl si è concentrato principalmente su Beryl. I nostri plugin non sono stati così radicali, e molti di loro funzionano ancora con Compiz. Dunque no, non siamo così tanto meglio ancora, no? (T.d.felipe)

Vorrei ringraziare Kristian per questa presa di coscienza.

I can understand when others question the reason for our existence, but I say give us time. So far, we’ve mostly worked on getting our act together and cleaning up our OWN code, and getting some structure in the project. We haven’t even started with the real fun. It takes time to get to know the source code of a program, at least a couple of months if it’s big. We’ve finally had that time, and I at least finally feel confident when working on core. I can start doing what I set out to do.

Posso capire quando gli altri mettono in dubbio le ragioni della nostra esistenza, ma io dico: dateci tempo. Finora abbiamo lavorato sull’organizzazione interna e sulla pulizia del nostro PROPRIO codice, e a dare un po’ di struttura al progetto. Non abbiamo nemmeno iniziato con il vero divertimento. CI vuole tempo per arrivare a conoscere il codice sorgente di un programma, almeno un paio di mesi se è grande. Abbiamo finalmente avuto quel tempo, e io almeno mi sento finalmente a mio agio a lavorare alle parti centrali. Posso cominciare a fare quello che volevo. (T.d.felipe)

Beh, che devo dire… queste ultime parole di Kristian mi hanno lasciato una piacevole sensazione e la speranza che tutte le invettive (non solo mie) siano servite a qualcosa. Forse arriverà un giorno in cui avrà senso usare Beryl. Forse ci stupiranno non più con inutili effetti da circo, ma con novità che portino più funzionalità ai nostri desktop.

Faccio gli auguri a Kristian: nonostante le tue premesse sbagliate ci potrebbe essere un margine di riscatto, specie se più teste come la tua potranno prendere la parola all’interno del team.

Nel frattempo scusate ma continuo ad usare Compiz³ …che entro poco ci regalerà delle novità grandiose ;)

– – –

[¹] Però se qualcuno mi vuole pagare… io non mi tiro indietro eh!
[²] Sbagliato anche nell’originale, non ho saputo resistere :P
[³] E sì, ho usato le nuove versioni di Beryl… stessa opinione. Non la scrivo per non attirare insulti :)

Vai alla barra degli strumenti