GHCA's Computer Lab (empty)
Creative Commons License photo credit: Extra Ketchup

È passato poco tempo da quando ho presentato BUC: un neonato software in grado di aggiungere un interfaccia grafica ai vostri script, semplicifando così la vita di tutte quelle persone ( voi compresi ) che dovete utilizzare e/o passare dei parametri durante l’esecuzione di un programma bash

Sono stato colpito dal software in questione che ho deciso di dedicargli qualche articolo, un pò di spazio e contattare gli sviluppatori per conoscerli meglio e capire da chi è nato BUC. Vi propongo qui una piccola intervista di qualche giorno fa:

Io: chi siete? Presentatevi: il vostro background personale/lavorativo, in ambito informatico, di studi e dove vivete.

Matteo: mi chiamo Matteo Avalle, sono uno studente di Ing. Informatica presso il Politecnico di Torino ed abito ad Ivrea (una città del Piemonte, quella della battaglia delle arance =P).
A parte gli studi “ufficiali”, diciamo che mi sono sempre interessato alla programmazione, su qualunque piattaforma e con qualunque linguaggio :) è da queste “ricerche” che ho scoperto le QT, sulle quali si basa BUC.

Valerio: mi chiamo Valerio Billera (smat), sono uno studente di Ing. Elettronica all’università di Palermo.
Sin da piccolo uno dei miei più grandi interessi è stata l’informatica; all’inizio facevo solo qualche sito internet e qualche programmino per passare il tempo, adesso ormai “grande”, oltre a dare una mano di tanto in tanto a mio padre nella realizzazione di qualche sito internet o per sistemare qualche computer, mi dedico, oltre che allo studio, alla divulgazione dell’Open Source, tramite guide, notizie e BUC :)

Io: cosa è il SiciLinux? Come e dove opera?

Valerio: il SiciLinuX è nato durante un viaggio di ritorno dall’università (Palermo) a casa (Capo d’Orlando); discutendo con un amico (quixo, anche lui fa parte del SiciLinuX Group) scherzosamente mi è venuto in mente questo nome e quindi, un po’ per gioco un po’ perchè sentivo la necessità di dover trasmettere agli altri ciò che io ho imparato negli anni, abbiamo creato il sito il logo e abbiamo iniziato a scrivere :)
In sostanza il SiciLinuX è un gruppo di ragazzi siciliani, ( questo non prelude che possano far parte anche ragazzi di altre regioni, stati e pianeti :P) che, sapendo utilizzare Linux, si impegnano ad aiutare gli altri ad affrontare quei piccoli problemi che spesso, per chi è alle prime armi, risultano “enormi” e quindi potrebbero causare un’abbandono prematuro del nostro amato pinguino.
Al momento il nostro operato si svolge principalmente attraverso il blog (linux.billera.eu ) e tramite qualche forum, attraverso la pubblicazione di guide, di notizie e rispondendo ai vari quesiti degli utenti; tuttavia non ci tiriamo mai indietro se qualcuno ci chiede personalmente di aiutarlo.
In futuro spero di poter intensificare il nostro aiuto dal vivo, non tralasciando ovviamente quello via etere.

Io: cosa è BUC e perchè è nato? Nasce, come molti programmi, per esigenza di un programmatore?

Matteo: mi è capitato spesso di dover realizzare per alcuni utenti “novizi” dell’ambiente Linux una serie di script, in modo da facilitare e velocizzare alcune operazioni di routine.
Gli script, però, non erano una soluzione soddisfacente sotto diversi aspetti, in quanto per effettuare qualunque operazione che richiedesse una qualche forma
di input dall’utente si costringeva gli utenti ad interagire (spesso malvolentieri) con un terminale.
Realizzare una applicazione grafica ad hoc per ogni necessità inoltre non era una soluzione perchè richiedeva troppo tempo per essere realizzata adeguatamente.
Mi serviva, insomma, qualcosa che permettesse di realizzare applicazioni rapidamente, come con gli script, ma allo stesso modo interattive quanto un programma dotato di GUI.
Da queste necessità è nata la prima versione di BUC, la 0.1.
Dopo averla utilizzata con successo per risolvere una serie di problemi ho pensato che potesse far comodo anche ad altre persone, ed è stato proprio ponendo a vari blogger la domanda “ti servirebbe un programma così?” che ho conosciuto Valerio Billera: grazie a lui il programma ha raggiunto il suo stato attuale, sia come funzionalità (è stato il primo “beta tester” :D) che come popolarità (ovviamente BUC è appena uscito, quindi poco conosciuto, ma devo dire che l’impatto iniziale è stato più che positivo).

Io: com’è nato il Progetto BUC?

Valerio: Il Progetto BUC è nato un po’ per caso; girando per la rete, in cerca di qualcosa di interessante da leggere, mi sono imbattuto in un commento di Matteo scritto in un Blog, che spiegava ciò che aveva realizzato.
Subito ho capito le possibili applicazioni utili che potesse avere questo programma, e quindi mi sono immediatamente messo in contatto con lui.
Devo dire che sono stato fortunato, Matteo si è reso subito disponibile e ci siamo messi sotto a lavorare insieme al progetto.

Io: cosa ne pensate del software libero? Come lo considerate e lo vivete e cosa ne pensate del software proprietario?

Matteo: io non sono un fanatico del software libero, ne del software proprietario. Sono due mondi differenti, ciascuno con i propri pregi e difetti, e nessuno dei due rappresenta la soluzione definitiva per realizzare tutti i tipi di software. Il software libero “funziona” benissimo per sviluppare progetti diciamo di “pubblico interesse”, ed è utilissimo per impedire agli sviluppatori di “reinventare la ruota” ad ogni applicazione, dato che hanno la possibilità di leggere le soluzioni adottate da altri per risolvere gli stessi problemi… Però è anche vero che in certi ambienti più ristretti, dove magari l’azienda che ha il software più completo e potente è avvantaggiata rispetto alla concorrenza, uno sviluppatore di software libero non ci lavorerà mai, perchè rendere l’applicazione “libera” implica renderla disponibile anche per la concorrenza.
In sostanza, ben venga la diversità :) Più scelta c’è, meglio è.

Valerio: utilizzo il Software Libero da anni e mi sono sempre trovato bene, questo non toglie che utilizzo talvolta anche del Software Proprietario senza problemi. Alla fine, come ha detto Matteo, sono due mondi differenti e quindi ognuno risponderà a determinate esigenze che l’altro non soddisfa.
Condanno, tuttavia, l’uso indiscriminato del Software Proprietario. Non capisco il perchè molte persone si ostinino ad utilizzare del Software a pagamento sfruttando crack e seriali ( quindi sostanzialmente commettendo un reato) quando esistono delle applicazioni parallele gratuite che svolgono la stessa funzione, a volte anche in modo migliore; ad esempio MS-Office e l’ OpenOffice.
Su questo punto vi invito a leggere la nostra iniziativa http://linux.billera.eu/?page_id=162.

Io: quanto è importante il software libero nelle aziende e nelle istituzioni? Cosa bisogna fare per spingere le aziende ad utilizzare Free software?

Matteo: sarebbe importantissimo utilizzare il più possibile il software libero, soprattutto nelle aziende pubbliche, perchè si innescherebbe un circolo vizioso: le istituzioni adottano software libero (e risparmiano) ==> l’interesse per il software libero aumenta ==> aumentano gli sviluppatori, e magari si concentrano solo sui software più utilizzati ==> quei software migliorano in qualità e funzionalità ==> la popolarità del software libero aumenterà, ed il ciclo ricomincia.
Il problema è che, al momento, per una azienda può essere antieconomico passare al software libero: nella maggior parte dei casi infatti è necessario pagare un consulente esterno che si occupi dell’installazione del software sui vari pc e soprattutto si occupi della formazione dei dipendenti, spesso abituati ad utilizzare da sempre la stessa piattaforma.
Per questo secondo me la soluzione “vincente” per il software libero dovrebbe essere quella di diventare sempre più semplice ed intuitivo! E’ purtroppo l’obiettivo più complesso da raggiungere, ma soprattutto negli ultimi anni sembra che come problematica sia stata recepita abbastanza bene dai vari sviluppatori: sono già stati raggiunti dei grandi risultati, ed il futuro sembra promettente :)

Valerio: anche se credo che sarebbe ottimo se aziende pubbliche e private utilizzassero Software Libero è difficile fare un discorso generale.
Bisogna tenere conto di molti fattori, tra i quali quello economico. E’ fondamentalmente errato dire che se si utilizza Software Libero si risparmia, bisogna tener conto sempre del costo e del tempo che si deve sostenere per formare i propri dipendenti all’utilizzo del nuovo parco software.
Tuttavia credo che per aziende in procinto di nascere la scelta del Software Libero sia una scelta vincente, questo perchè si ha solo un costo iniziale per la formazione dei propri dipendenti, che in futuro utilizzeranno e gestiranno il Software, che non necessiterà più di pagamenti per eventuali aggiornamenti.
Secondo me, comunque, il discorso più che per le aziende dovrebbe essere fatto per le scuole.
La maggior parte della gente utilizza da grande ciò che ha imparato ad usare sin da piccolo; se nelle scuole viene fatto adoperare sempre Windows è normale che una ipotetica persona, prima a casa e poi in un eventuale futuro lavoro, preferirà utilizzare Windows, sia perchè lo sa usare, sia perchè non ha ne tempo e talvolta voglia di reimparare tutto da zero.
Quindi progetti come Edubuntu secondo me sono fondamentali, si parte dalla base per poi arrivare alla vetta.
E’ sempre bene ricordare che i giovani d’oggi sono gli uomini del futuro e che se un ragazzo oggi impara, ed inizia ad amare il Software Libero un domani lo pretenderà, oltre che a casa, anche a lavoro, insomma è un circolo vizioso :)

Non posso che ringraziare Valerio e Matteo per il tempo che mi hanno dedicato e per avermi permesso di conoscere meglio loro e il loro importante progetto.

Una ulteriore chicca: la roadmap di BUC:

Le soprese non si limitano all’intervista, ma qui sotto vi riassumo la roadmap ufficiale di BUC, come mi è stata data dallo stesso Matteo:

BUC ROADMAP - Aspettando la 1.0…

Versione attuale: 0.3

Operazioni pianificate (parte SVILUPPO):
|
+->- Aggiunta del tag <file> per facilitare l’inserimento di percorsi
| \_ Aggiunta di un tag per dichiarare delle variabili globali
| \_ Possibilità di rendere modificabili da script le variabili globali e quelle memorizzate nelle textbox
| \_ Versione 0.4
|
+->- Rendere gli script non bloccanti (esecuzione in background con aggornamento in tempo reale del textlog
| \_ Aggiungere una serie di finestre di dialogo per la comunicazione di messaggi
| \_ Aggiungere una serie di finestre di dialogo per l’inserimento di input
| \_ Trasformare la textlog in un terminale vero e proprio (posticipabile)
| \_ Versione 0.5
|
+->- Rendere il layout un po’ più flessibile, consentendo l’affiancamento orizzontale dei controlli
| \_ Rendere la GUI “interattiva”, aggiornando il testo di ogni controllo dopo (o durante) l’esecuzione di uno script
| \_ Aggiungere una serie di attributi, per personalizzare la GUI
| \_ Rendere BUC skinnabile (posticipabile)
| \_ Versione 0.6
|
+->- Aggiunta del controllo <iconlist> (finestra di icone)
| \_ Trasformazione del programma da monolitico a modulare: la quantità di tag che BUC potrà comprendere sarà espandibile a piacimento
| \_ Versione 0.7
|
+->- [Non ancora pianificato] - Sorpresa :D
\_ Versione 1.0

Operazioni non pianificate (ad implementazione casuale e non garantita all’interno della roadmap, sempre parte SVILUPPO)

- Gestione degli aggiornamenti “intelligente” ed integrata nell’applicazione
- Riscrittura del parser, dall’attuale pseudo-xml senza controllo di validità ad xml-strict
- Aggiunta di un simil Debugger, in grado di testare ogni singolo script durante lo sviluppo del codice

Operazioni pianificate (parte PUBLISHING, in ordine casuale)

- Pacchettizzazione in rpm, arch e deb (32/64 bit)
- Creazione di repository
- Traduzione del sito in Inglese
- Automatizzazione del sito in versione dinamica
- Dominio del mondo

Sono già attivo per completare l’ultimo punto della parte Publishing ;)

Informatevi:

Valerio, nel suo blog, nonchè quello del SiciLinux, propone sempre nuove idee, guide ed approfondimenti sulle tematiche relative al software libero. Sempre più utili per chi vuole migrare da sistemi software proprietari a quelli liberi. Vi lascio appunto con la raccomandazione di visitare le sue pagine per nuovi spunti e idee.



BUC (Basta Un Click)

4 Giugno 2008

Chi svolge la professione di Gnu/Linux Switcher nelle aziende, da oggi ha uno strumento in più per aiutare i propri clienti nella personalizzazione di tutti quei servizi e quelle operazioni più o meno complesse che vengono implementate tramite script bash:  BUC.

BUC

Logo di BUC ( dal blog linux.billera.eu )

I creatori

L’idea nasce da Matteo Avalle e Valerio Billera, in collaborazione con il SiciLinux, per dare vita ad un software in grado di trasformare script bash più o meno complessi in vere e proprie applicazioni dotate di interfaccia grafica.

BUC1

Interfaccia di uno script di conversione video ( dal blog linux.billera.eu )

BUC in sostanza è un interprete che legge un particolare tipo di fle XML ( con estensione .mc ). Tale file contiene appunto gli script che vogliamo dotare di interfaccia.

Alcune considerazioni da fare, utilità e limiti di BUC

Uno script, di per sè, non ha certo bisogno di un interfaccia grafica per funzionare. Soprattutto se l’utilizzatore è la medesima persona che lo ha creato. Accade però, in ambito aziendale, che sia impossibile formare un utente sull’utilizzo di uno script piuttosto complesso, con svariate opzioni da impartire a terminale, che si occupa di modificare un parametro vitale per il lavoro, oppure di trasferire dei file in rete. L’unica opzione è prevedere tutto il prevedibile e far lanciare lo script all’occorrenza. Senza possibilità di controllo e senza possibilità di risoluzione degli errori modificando le variabili, qualora se ne presentasse l’esigenza. In questo ambito BUC è fondamentale. Altro caso utile è quello dei tutorial, degli how-to o della serie di comandi predefinita per compiere una specifica operazione: pubblicare un software completo, da eseguire, è sicuramente più professionale in ambendue i casi.

Esempi concreti di sviluppo

Attualmente lavoro ad altro, ma per far capire la semplicità d’utilizzo di BUC vi rimando alla guida esempio di Valerio, esaustiva e chiara. Non dimenticate di leggere il manuale d’uso che contiene preziose informazioni per lo sviluppatore.

Roadmap, traduzioni e altre informazioni utili

Ho contattato personalmente gli sviluppatori, per saperne di più, ecco cosa ne è saltato fuori:

  • La roadmap predefinita non è stabilita. Non si sa quando una versione 1.0 possa uscire, ma si sa che uscirà. Il problema è che il progetto non viene sviluppato a tempo pieno per mancanza di fondi, quindi non possiamo fare altro che affidarci alla generosità di chi scrive il codice. Se volete dare una mano siete ben accetti.
  • Il sito internet è in via di sviluppo, pazientate un pò che in ogni caso le info necessarie sono tutte lì.
  • Il software ha bisogno di essere tradotto, servono traduttori.
  • BUC è sviluppato sulle librerie Qt4, è portabile ed è quindi possibile compilarlo su differenti sistemi operativi. In Windows non so quanto abbia senso, in quanto la bash non è implementata, ma appena ho un attimo lo testo sui miei Mac.

Se BUC vi piace e siete disposti a farlo crescere, vi consiglio di farvi sentire tramite la pagina contatti. Anche se non è possibile, al momento, stipendiare nessuno, tutto l’aiuto che darete sarà un contributo alla comunità del software libero, che gioverà sicuramente al vostro lavoro e alla vostra crescita professionale.