Non sono un integralista

Ok questo è una doverosa introduzione ad un post che farò probabilmente domani (o scriverò stanotte e poi posterò domattina), di carattere mediamente tecnico.

Si tratta principalmente di una precisazione riguardo al mio modo di pensare al free software e all’opensource.

Il titolo già spiega qualcosa: il fatto che io non sia un integralista implica eh io sopporto anche il software commerciale e closedsource. Per essere precisi, so che il software commerciale deve esistere per permettere al software libero di migliorare, per una catena che parte dall’intimo dell’animo umano che poi spiegherò, e al tempo stesso deve esistere per certi particolari casi di implementazione.

Iniziamo dalla catena di cui dicevo sopra. Per un essere umano è normale pensare a creare qualcosa di innovativo e poi volerne una ricompensa. Questo ha fatto nascere il grosso delle società di software al mondo. Il software viene creato e venduto. Poi la comunità free software vuole qualcosa di simile, quindi pensa a crearne un clone che abbia almeno le sue funzioni base, lo migliora, e lo rilascia. A questo punto il software commerciale deve migliorare ulteriormente, altrimenti tutti passerebbero all’alternativa qualsiasi, e lo sviluppo prosegue. Al tempo stesso prosegue lo sviluppo del free software. Forse nessuno aveva pensato all’idea del prodotto commerciale nell’ambiente free prima che questo fosse rilasciato. In tal caso, non ci sarebbe quel preciso strumento a disposizione della comunità.

Un altro aspetto da non sottostimare è legato al modo in cui certi prodotti commerciali sono rilsaciati sotto duplice licenza. Abbiamo sotto gli occhi almeno tre esempi lampanti:

  1. Mozilla, nato dalla costola di Netscape, è stato supportato per anni da AOL, senza cui non sarebbe mai stata rilasciata la base di codice. In quel caso, non avremmo ora un browser OpenSource multipiattaforma al livello di Firefox.
  2. QT, nate inizialmente commerciali e poi rilasciate sotto licenza QPL (ora GPL per Linux), hanno portato alla creazione di KDE. Senza le QT, ora non avremo quello che, a mio avviso, è il miglior desktop environment per Linux e *BSD.
  3. OpenOffice.Org, è innegabile che senza l’esistenza di StarOffice e la decisione di Sun di far nascere dalla sua branchia il progetto opensource, non avremmo certo una simile ottima suite di applicazioni generali capaci di sostituire a tutti gli effetti Microsoft Office. KOffice sta progredendo, ma non è certo al suo livello, e poi non è multipiattaforma.

Oltre a questo, sono dell’idea che per le soluzioni generali una soluzione opensource è buona, ma per certe soluzioni personalizzate, custom, una soluzione closed source è accettabile, anzi molto spesso è quasi necessaria. Prendiamo due esempi, uno a carattere commerciale e uno a carattere non commerciale:

Commerciale: sono stato assunto per scrivere un programma per preventivi. È una soluzione custom, tagliata sulle esigenze del cliente. In questo caso la scrivo closedsource. Prima di tutto perché voglio poter guardagnarci qualcosa da un lavoro su commissione, ma anche perché non voglio che altri mettano le mani su una soluzione già predisposta per un cliente, e vedano quali siano le sue necessità e le sue personali caratteristiche.

Non commerciale: questo esempio è tratto da una conversazione che ho avuto con limaCAT e Judas tempo fa riguardo agli script degli shard di Ultima OnLine. limaCAT insisteva sul fatto che gli script dovrebbero essere rilasciati al pubblico, mentre Judas ed io insistevamo sul fatto che è lecito per gli admin e gli scripter tenersi privati gli script, poiché se questi fosser pubblici, gente che ha lavorato mesi su un sistema di script per uno shard su una certa impostazione potrebbe vedersi rubare tutti gli onori dal primo che passa e copia gli script pari pari. In questo caso, il closed source è dovuto ad una caratteristica umana: la voglia di dimostare che si vale qualcosa alla gente. Se gli script fossero opensoruce forse gli scripter saprebbero chi si è fatto il mazzo per scriverli, ma non lo saprebbero di certo gli utenti, che andrebbero semplicemente a ringraziare lo “scripter” dello shard su cui giocano, credendo che questo si sbatta a fare tutto il lavoro. E lo dico per esperienza personale.

Aggiungiamo a questo il fatto che a me non importa troppo se la gente vuole usare software commerciale, finché questo non diventa un problema anche mio. E solitamente questo diventa un problema anche mio quando si parla di software di Microsoft. Per motivi abbastanza semplici in realtà: il fatto che troppa gente usi Internet Explorer porta i webmaster commerciali a fregarsene se i siti che scrivono non si vedono su browser alternativi; il fatto che altrettanta gente utilizzi Outlook (Express o meno), mi costringe a ricevere un’ondata di posta inutile ogni volta che esce un nuovo virus, e a ricevere email in formato html; il fatto che sempre questa gente utilizzi Microsoft Office mi porta a ricevere allegati .doc che non vorrei altrimenti leggere.

Per il resto, che usino pure. Se devo sistemare un computer che ha su Windows XP lo faccio: ci sbatto su Mozilla Firefox e Thunderbird, OpenOffice se c’è Works o Office Lite, e poi sono cavoli loro. Non mi importa se questi non vogliono assolutamente passare a Linux, sono pagato per farlo? Ok tutto a posto. Poi se vogliono passare a Linux, se vogliono uscire dal baratro della luseraggine, posso aiutarli. Se non ne hanno intenzione, basta che non rompano le scatole a me (o se me le rompono mi paghino) e sono contento.

Questo per dire che non sono di quelli che vorrebbe ch e tutti quelli che passino a Linux si imparino tutti i 3281 comandi (utente) che ho installati. Ci sono i Lusers e lo accetto. Se vogliono uscire da questo stato, sono ben lieto di aiutarli, se non lo sono, beh vorrei poter dare loro un ambiente abbastanza familiare da evitare di usare Windows, per i motivi succitati riguardo IE, Outlook e Office.

Poi se Linux soffre di problemi sul kernel, come stasera mi faceva notare limaCAT, beh, quel che posso fare lo faccio, se esce dalle mie capacità, mi pongo problemi più piccoli, che posso risolvere con le mie mani. È una banalità? È una cosa piccola? Non importa, è un problema in meno. Piccolo, ma sempre un problema in meno. Se facessimo tutti così nella vita, potremo impegnarci maggiormente ai grandi problemi, visto che non saremmo sempre attorniati da tanti piccoli problemi.