Site icon pollycoke :)

Ecco perché Beryl non era un fork (purtroppo!)

In tutti questi mesi ho continuato a criticare apertamente e aspramente il progetto Beryl, la sua comunità, le scelte che lo hanno portato ad esistere, il modo in cui è stato sviluppato e soprattutto il modo in cui è stato posto…


Fork, in ambito software viene comunemente riferito a “bivio”

Ora che le cose potrebbero finalmente volgere al meglio io vorrei, col vostro permesso, cercare di scrollarmi di dosso un po’ di antipatie che la mia presa di posizione mi ha procurato in passato, e mi piacerebbe tanto che questa idea che io sia chissà per quale motivo “schierato” nei confronti di Compiz venisse ridimensionata :)

Premessa: tutto quello che viene riassunto in questo post è disponibile tramite gli archivi di pollycoke, cercate tra le categorie “Compiz” e “Beryl” e noterete che qui richiamo esplicitamente molti post risalenti all’anno scorso.

Purtroppo non ho il tempo di mettere link a tutti quei miei vecchi post, se qualcuno volesse segnalarli nei commenti farebbe un favore a tutti :)

Perché solo adesso?

Giusto, avrei potuto cercare anche prima di essere più “pacato”, invece di attaccare tutti… Il motivo è semplice: è mia natura essere così, sono un tipo che si appassiona e che quando deve dire una cosa non cerca i mezzi termini o la diplomazia. Questo in genere crea sentimenti contrastanti, che spaziano dalla stima profonda …all’odio cieco :D

Lo faccio solo adesso perché credo sia il momento giusto per rilassarsi e per “comprendere”, specie da parte di chi – come me – ha sempre sostenuto Compiz. Comprendere non significa solo capire, ma anche contenere (cfr Demauro), e se è vero che il team di Beryl sta facendo lo sforzo di riconsiderare il proprio progetto e di rientrare all’interno di Compiz, questo duplice significato assume ancora più rilevanza.

Riconosco il coraggio e la forza che occorrono per prendere scelte come quella di tornare indietro sui propri passi, anche quando – come in questo caso – sono in qualche modo imposte. Riconosco che nel team di Beryl, soprattutto alcuni esponenti, si sta facendo la cosa giusta :)

Cosa è un fork? Sei contrario ai fork?

Nel contesto dell’ingegneria del software un fork (o branch) si verifica quando uno sviluppatore (o un gruppo di essi) inizia lo sviluppo di un nuovo progetto software partendo dal codice sorgente di un altro già esistente. (Wikipedia)

Non c’è pratica più normale e accettata di questa: specie nel software libero assistiamo continuamente a fork di progetti, per innumerevoli motivi. Abbiamo avuto anche molti esempi illustri e importanti di fork in passato. Xorg deriva da un fork di Xfree86, Firefox deriva da un fork del browser di Mozilla, eccetera eccetera.

Mi pare di non essermi mai lamentato di quei fork, quindi no, non sono per niente contrario all’idea, anzi ben vengano …se portano risultati concreti :)

Cos’hai contro il fork di Beryl allora?

Niente, a parte il fatto che non è un fork :)


Fork significa anche “forchetta”.
Sono d’accordo: non c’entra niente

1. Compiz

Compiz è stato rilasciato poco più di un anno fa, ed è stato una rivoluzione assoluta per noi pinguini. Ricordo di commenti entusiasti su forum, siti di news e comunità varie.

Tutti i più patiti per le nuove potenzialità delle interfacce (pseudo)tridimensionali cominciarono ad usarlo, modificarlo e discuterne. Una delle comunità più reattive fu quella degli utenti Ubuntu, che crearono perfino una specie di piccola distribuzione di patch non ufficiali per Compiz.

2. Compiz-quinn

“Compiz-quinn” (dal nome dello sviluppatore di patch più prolifico) fu il predecessore di Beryl. Si presentava come una serie di piccole patch che erano state rifiutate da David perché mal scritte, e distribuite attraverso il forum di Ubuntu.

Si trattava perlopiù di piccole personalizzazioni, come ad esempio la possibilità di disabilitare la lista delle finestre nel plugin switcher. Io non ero per niente contrario a queste modifiche, e anzi le recensivo e consigliavo qui su pollycoke, così come io stesso usavo le patch rifiutate da David per Compiz :)

Ad un certo punto (molto presto) queste modifiche non furono più neanche proposte a David. Io stesso avevo la netta percezione che Compiz fosse destinato a restare sempre una o due versioni più indietro rispetto alle patch che venivano scritte da gente che ammetteva di essere alle prime armi con la programmazione. Pensavo che David, per quanto indubbiamente bravo, non sapesse più cosa fare con Compiz e si limitasse a dire di NO a tutto…

3. Beryl

Le patch cominciarono a coinvolgere aspetti molto più importanti di Compiz e si arrivò a fare scelte discutibili e che cominciarono a farmi storcere il naso. Si cominciò col sostituire il decoratore delle finestre (gnome/gtk-window-decorator) per crearne uno che si appoggiava ad un sistema di configurazione nuovo, poi venne modificato il core di Compiz, poi cominciarono ad arrivare una marea di effetti grafici grotteschi. Il tutto condito dalla più assoluta instabilità e da modifiche ingiustificate al codice, come il semplice rinominare le funzioni senza alcun motivo. Fu a quel punto che capii dove si voleva andare a parare e ritornai al Compiz originale di David Reveman.

Man mano che queste patch del team di compiz-quinn aumentavano, era sempre più difficile mantenerle in uno stato facilmente distribuibile e ad un certo punto si pensò che potesse essere utile prendere l’intero codice di Compiz, giacchè era software libero, e copiarlo in un repository differente, applicargli tutte le patch e cambiargli il nome. Ecco come è nato Beryl.

4. …e di nuovo Compiz

Sono tornato a Compiz originale ben prima che il progetto venisse rinominato in “Beryl”, per i motivi citati sopra. Con la versione 0.2 di Compiz si sono avuti molti miglioramenti che hanno chiarito la nuova direzione: dopo la rivoluzione iniziale era cominciata l’evoluzione e l’integrazione con il software esistente: supporto ai temi di GNOME e di KDE, svincolamento da dipendenze di GNOME, usabilità… un quadro molto chiaro di un progetto che cerca a tutti i costi di essere credibile.

E a quanto pare ci riesce, visto che Compiz viene ufficialmente adottato da distributori come: Red Hat/Fedora, Canonical/Ubuntu, Novell/SUSE, Mandriva (in alternativa a Metisse), Slackware, e sicuramente altri, come desktop tridimensionale preferito.

Ecco perché Beryl non era un fork (purtroppo!)

Ritorniamo a Beryl. Dopo i cambiamenti di Compiz accennati, il progetto Beryl introduce il termine “upstream” nei loro changelog: “Imported from upstream” diventa sempre più ricorrente e significa: “funzionalità importata da Compiz“, in quanto Compiz viene considerato upstream, ossia il progetto genitore.

Secondo voi il team di Firefox considera Mozilla Brownser “upstream”? Il team di Xorg considera Xfree86 “upstream”. La risposta è no, e il motivo è che un fork è un fork: un bivio. Dopo il bivio in genere si prende una strada differente e la si percorre in autonomia. Beryl quindi non è mai stato un fork, in quanto ha continuato ad importare codice da Compiz durante tutti questi mesi.

Intendiamoci, non c’è niente di male in questo, basta chiamare le cose col proprio nome :) Beryl è sempre stata una distribuzione di Compiz, ossia un team che periodicamente impacchetta del software già pronto, fa delle modifiche e gli mette un marchio. Un po’ quello che fanno le distribuzioni con il software GNU/Linux.

A parte il fatto che il risultato (Beryl) per me era (ed è) scadente, a parte il fatto che si è cominciato a fare una campagna di disinformazione a favore di Beryl e contro Compiz basata su bugie, a parte il fatto che si è cominciato ad aggiungere qualsiasi mostruosità pur di accontentare tutti… a parte tutto questo, nessuno aveva niente da ridire sul diritto stesso di creare un fork.

Semplicemente, non è stato questo il caso :)

Conclusioni (finalmente)

Ripeto che presonalmente non ho niente contro la pratica di effettuare fork: se Beryl fosse stato un vero fork, creato da gente competente magari adesso avremmo qualcosa di realmente diverso e sbalorditivo, invece…


Questi siamo noi, non Compiz, e nemmeno Beryl… dopo l’ennesima guerra di religione

È in questa nuova ottica, secondo me, che si deve guardare avanti al ritorno coraggioso e insperato degli sviluppatori di Beryl in Compiz. Con la loro esperienza nel creare effetti sbalorditivi potranno realmente aiutare a crescere e diffondere il progetto, con la loro attenzione a quello che vogliono gli utenti potranno creare e modificare e stravolgere tutto quello che adesso è in “Compiz Extra”, senza creare rotture.

Francamente del nome che assumerà questa “comunità allargata” me ne strasbatto, sarebbe forse più facile e coerente continuare ad usare Compiz (pensate ai distributori…) ma credo si capisca che questa adesso è una questione secondaria e quello che importa è chiarire come sono andate le cose, riconoscere i meriti dovuti e procedere.

Io ho detto la mia semplice opinione…

Spero che questo post possa servire a qualcuno, per chiarirsi le idee, per avere uno spunto di discussione, per passare dieci minuti di lettura in bagno e cercare lo stimolo :D o per ingannare le noia della pausa pranzo… fate voi. Io avevo semplicemente voglia di scriverlo :)

Continuo a sperare che nasca un vero fork di Compiz, ma gestito da gente in gamba: che esplori davvero nuove possibilità e si proponga come vera evoluzione di Compiz. So bene che stiamo parlando di un compito difficile, ma proprio per quello lo spero… ma per godiamoci la nostra “comunità allargata”.

…in attesa di qualche altra rivoluzione ;)

Exit mobile version
Vai alla barra degli strumenti