Titolo nebuloso.

Molte elucubrazioni sul software, sulle varie versioni, sulle alternative che si vanno delineando all’orizzonte e che poi soppiantano i vecchi software che da storici spariscono nel dimenticatoio.

Ma andiamo con ordine. Quando un software diventa maturo e stabile e deve quindi essere etichettato come versione 1.0.0? Direi che l’importante è che il software funzioni. D’altronde il software si divide in due grandi classi:

  1. Funziona
  2. Non funziona

Punto.

Prendiamo per esempio eMule (che alla data di questo articolo è ormai un progetto abbandonato)… è sempre rimasto alla versione 0.8x.x. Non è mai arrivato alla versione 1.0.0 eppure non si contano i download e il numero di persone che, almeno una volta, lo hanno installato ed utilizzato. E’ stato per anni in linea con tutti gli standard… se non ricordo male ha solo avuto un periodo nero quando gli ISP hanno adottato dei protocolli per filtrare i pacchetti scambiati dai programmi P2P (peer 2 peer) ma poi ha brillantemente risolto il problema mediante l’offuscamento dei pacchetti. E anche con quella modifica non è mai arrivato ad avere la versione 1.0.0.

Un altro programma che ha raggiunto la versione 1.0.0 è stato VLC che è diventato il miglior programma per la visualizzazione di file multimediali (sbarazzandosi degli innumerevoli rivali) nel corso degli anni migliorandosi sempre rimanendo però, al contempo, leggero, potente e gratuito. Questo apre due aspetti interessanti, ovvero:

  1. il fatto di essere gratis
  2. il fatto di essere leggero pur essendo un programma completo e potente.

Se molti software nascono e rimangono gratuiti, c’è da dire che molti software che raggiungono alti livelli di notorietà, prima o poi cedono alla tentazione di aggiungere funzionalità sempre più estese e complete (a volte anche troppo) che magari portano il software ad appesantirsi e perdere “appeal” nei confronti degli utilizzatori.

Uno dei casi più eclatanti è rappresentato da Nero Burning ROM che, verso la versione 6.x, era il programma più completo e versatile per la masterizzazione di CD e DVD. Con le release successive ha iniziato a diventare una “suite” e a incorporare programmi per la gestione dei file multimediali, lettori DVD, ecc.

La versione 6 era perfetta e leggera… da lì in poi il software è diventato monolitico, pesante e ingestibile… da lì il programma è scomparso lasciando il campo a nuovi programmi gratuiti e più leggeri (ma non per questo meno professionali) come, ad esempio, CDBurnerXP.

Tornando velocemente a VLC c’è da dire che è stato sviluppato secondo i dettami della programmazione XP (ovvero eXtreme Programming). In questo modo gli utilizzatori hanno la possibilità di utilizzare il software, imparare ad usarlo e iniziare ad apprezzarlo anche se ci sono delle cose che devono essere migliorate e sviluppate maggiormente. Però in questo modo, come dimostra VLC, il software viene accettato dalla comunità di utilizzatori e può garantire una notevole longevità al programma.

Infine un ultimo appunto sulle dimensioni dei programmi. Negli anni scorsi, nel corso della classica grigliata estiva, parlando con il Cuginetto (figura mitologica dotata di intelligenza estrema) ha esordito con le seguenti parole: “con le app (parlando delle app in contrapposizione con i normali programmi per pc) i programmatori stanno disimparando a programmare”. A tal proposito vorrei fare notare questo dato: la prima versione di Adobe Acrobat Writer (che scaricai da Filetopia, primo programma di file sharing dotato di crittografia) era di 100 MB (una esorbità per l’epoca), mentre attualmente l’ultimo aggiornamento dell’app di Facebook per iPad è di circa 214 MB. Cosa diavolo c’è un quelle righe di codice da appesantire così tanto le app? Non ci saranno delle sorprese, vero?

Conclusione?

Programmazione veloce, tanti rilasci minori, non arrivare alla versione 1.0.0, non appesantire il programma, non aggiungere funzionalità inutili e usare il computer. Cerchiamo di non cadere nell’inferno del versionamento semantico.