Home
Open Source e software per sistemi Linux

29 Gennaio 2003

Open Source e software per sistemi Linux

di

TuX racconta, in questo viaggio immaginario, come ha iniziato a scoprire il mondo di Linux e diventarne il primo fan in assoluto. Nella puntata di oggi percorre le strade e la filosofia del mondo Open Source

Il mio amico Andy mi aveva convinto. Ero riuscito a installare Linux con grande entusiasmo. Ma c’erano ancora molte cose che non riuscivo a capire. Com’era possibile che tutto questo fosse gratuito? E poi, una volta installato il sistema operativo, da che parte dovevo andare? Per caso qualcuno sapeva indicarmi una strada da percorrere, altri programmi da installare? In fondo io sono sempre stato un appassionato del computer e non volevo certo rinunciare a usarlo per le mille attività di ogni giorno. Fu così che chiesi aiuto a Paolo che, con grande pazienza, iniziò a raccontarmi la storia del software Open Source, per poi indicarmi la strada da percorrere. Seguiteci.

Esiste una grande quantità di software per Linux, per gli usi più svariati e una buona parte di questo viene distribuito con licenze Open Source: sovente però non si sa dove cercare per ottenere questo software. Vediamo allora come sia possibile cercare questo software e brevemente, come si possa installare.

Prima di tutto introduciamo il concetto di software Open Source, che ci può aiutare a capire il perché dell’esistenza del progetto GNU e di alcuni portali. Il software Open Source ha una caratteristica: viene distribuito sotto una licenza che obbliga a distribuire anche il codice sorgente. Non esiste una sola licenza Open Source, ma ne esistono tante, che differenziano in vari aspetti, ma hanno tutte questa caratteristica comune. La più nota licenza forse e’ la GPL, ideata originariamente da Stallman (noto più che altro come RMS) e dalla Free Software Foundation da lui fondata. Merita ancora di puntualizzare un aspetto: nessuna licenza Open Source impone di distribuire il software gratuitamente, quindi queste licenze si possono applicare (con molto profitto) anche a prodotti commerciali o a parte di questi.

A seconda della distribuzione installata si avrà già una certa quantità di software disponibile e probabilmente sul sito della distribuzione saranno disponibili aggiornamenti e nuovo software. Questo è indubbiamente una buona partenza.

Possiamo individuare quattro grandi portali da cui è possibile reperire software per Linux. Ovviamente non tutto il software esistente è ottenibile da questi portali, ma la percentuale di trovare qualcosa per le nostre esigenze è molto alta.

Freshmeat – Freshmeat gestisce quello che probabilmente è il più ampio indice di software Unix e multipiattaforma presente in Rete: raccoglie centinaia di applicazioni (principalmente sotto licenze open source), meticolosamente catalogati secondo vari criteri (linguaggio di programmazione, piattaforma, licenza, scopo del software, ecc.). Per ogni software presente si può leggere una breve descrizione ad opera degli autori del software, visualizzare uno screenshot se questo è disponibile e visualizzare l’elenco delle versioni disponibili, compreso il motivo per cui queste sono state rilasciate. Parallelamente, sono presenti vari link, alla home page del progetto e ai vari siti da cui effettuare il download del software in questione, in vari formati. Freshmeat non ospita nessun progetto, ma si limita appunto ad ospitare i progetti che ne fanno richiesta: proprio per questo motivo non è completo dato che nessuno può imporre ad un progetto di registrarsi si Freshmeat. Visto che moltissimi progetti vi si registrano, questo portale è il miglior punto di partenza per le ricerche di software.

Progetto GNU – Il progetto GNU, come dicono gli autori, “è stato lanciato nel 1984 per sviluppare un sistema operativo Unix-compatibile completo che fosse software libero”. Il sistema operativo non è ancora stato ultimato, ma negli anni hanno sviluppato moltissimi applicativi, tutti rigorosamente Open Source. Le motivazioni del progetto GNU e il loro lavoro è ampiamente documentato sul sito ed è troppo complesso da riassumere qui. Tutti i programmi sviluppati dalla GNU sono ottenibili (sotto forma di sorgente) dal sito ftp del progetto (o da uno dei molti mirror disponibili) comprensivi di documentazione. In alternativa è possibile acquistare un CD comprensivo di tutti i progetti e relativa documentazione.

SourceForge – SourceForge è un portale che fornisce ospitalità ai progetti software, principalmente per Unix e con licenza open source. Questo portale nasce principalmente per fornire aiuto agli sviluppatori, fornendo spazio Web, vari mirror per effettuare download del software e vari strumenti utili allo sviluppo (CVS*, sistema per tracciare i bug, mailing list, etc.) e cosa molto importante, un punto di incontro tra i vari sviluppatori. Da questo portale gli utenti possono ottenere una copia del software ospitato, o effettuando il download (attraverso i vari siti affiliati a SourceForge) delle versioni ufficiali rilasciate dagli sviluppatori oppure ottenere il software
direttamente dal CVS.

Savannah – Savannah è nato da un fork di SourceForge ed è gestito dal progetto GNU. I servizi offerti allo sviluppatore sono praticamente gli stessi, in alcuni casi migliori di quelli di SourceForge, in altri casi ancora inferiori. Per l’utente finale non cambia nulla però. Ovviamente il software ospitato su Savannah non è generalmente presente anche su SourceForge (non avrebbe senso per la natura stessa dei portali).

Abbiamo elencato il principale indice di ricerca per software, il sito ufficiale del progetto GNU e i 2 principali portali di sviluppo del software, ma nonostante esiste altro materiale non reperibile. Quando non si trova qualcosa qui, il modo migliore è di affidarsi a un motore di ricerca, magari a Google.

Abbiamo detto dove sia possibile procurarsi il software, adesso vediamo di dare qualche informazione sulle modalità di installazione. I programmi pervengono principalmente in 3 formati: codice sorgente compresso, binario compresso e binario pacchettizzato (principalmente.rpm e.deb).

I sorgenti sono i più difficili da installare, perché questa operazione richiede in genere diverse conoscenze di cui non tutti dispongono. Non se ne parlerà qui perché l’argomento è troppo vasto.
I binari compressi non sono altro che il programma o la libreria già compilate (ovviamente partendo dai sorgenti), pronti per l’uso non appena scompattato l’archivio. Sovente viene anche fornito uno script per installare correttamente i vari componenti all’interno del sistema. Il problema dei binari è che funzionano solo per la specifica architettura per cui sono stati creati e le architetture successive (ad esempio un programma compilato per 386 funziona anche sui più nuovi processori Pentium IV e Athlon).

I sistemi di pacchettizzazione sono stati ideati per semplificare l’installazione e in generale la gestione dei programmi. Un pacchetto contiene un binario o un sorgente o in generale qualsiasi cosa (anche la documentazione può essere distribuita sotto forma di pacchetto) e tutte le informazioni necessarie per l’installazione e la disinstallazione di questo. Il sistema di pacchettizzazione è in grado di accorgersi da solo delle varie dipendenze del pacchetto e quindi di segnalare tutte le componenti necessarie per il corretto funzionamento di questo e tutti le altre componenti che smetteranno di funzionare correttamente qualora disinstalliamo il pacchetto. In pratica si occupa lui di tutto, noi ci limitiamo a segnalare le nostre intenzioni e a compiere le operazioni che non è in grado di fare. Alcuni gestori di pacchetti come APT sono in grado di svolgere tutte le operazioni necessarie, compreso il download e l’installazione delle componenti
mancanti.

Tutti i programmi sotto licenze Open Source vengono distribuiti con il sorgente, ma non sempre questi vengono anche distribuiti sotto forma di binario o di pacchetto (un esempio evidente è costituito dai vari programmi messi a disposizione dalla GNU sul proprio sito). Proprio per questo motivo conviene imparare a compilare e installare i programmi partendo dai sorgenti.

* CVS è un sistema per lo sviluppo concorrenziale di software che permette a più utenti di sviluppare lo stesso progetto senza intralciarsi a vicenda, grazie appunto a un sistema che tiene traccia delle singole modifiche apportate dagli sviluppatori e che è in grado di ricostruire i file da queste modifiche.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.