blob: c2a383569e47da9513566c29fe6fa8a099c986d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
Una caratteristica peculiare dei sistemi basati sul software libero
è l'esistenza dei repository, archivi di software gestiti da una
comunità ed ai quali si può accedere con strumenti integrati
nel sistema operativo.
Reperire i programmi direttamente dai loro produttori, come è
pratica comune per il software proprietario, comporta svantaggi
significativi dal punto di vista della compatibilità e
dell'integrazione al resto del sistema, dando luogo ad esempio
al cosiddetto *dll hell*.
Un approccio in parte più vicino a quello dei sistemi liberi è stato
assunto ad esempio dall'Apple Store e dall'Android Market:
i programmi sono scaricabili da una singola fonte tramite
un apposito programma, ed è garantita la loro compatibilità
ed uniformità con il resto dell'ambiente.
Per raggiungere questo risultato, però, gli sviluppatori sono
obbligati a rispettare vincoli rigidi sulle librerie usate, e
perfino sul tipo di programmi ammessi.
Grazie al permesso di migliorare e distribuire le migliorie
garantito dalle licenze libere, è invece possibile ribaltare
l'approccio: sono gli sviluppatori di una distribuzione a
scegliere i programmi che ritengono validi, compilarli
integrarli eventualmente al resto del sistema ed
infine proporli all'utente finale in modo tale che con un
comando o con due click possa installarli assieme a tutte
le librerie di cui hanno bisogno.
In questo modo si offre massima comodità all'utente senza
imporre obblighi gravosi al programmatore.
Un modello così centralizzato rischierebbe di introdurre
vincoli arbitrari sui programmi permessi, così come avviene nel
caso dell'Apple Store: questo non avviene da un lato per l'esistenza
di numerose distribuzioni in amichevole concorrenza tra di loro,
dall'altro perché è comunque possibile installare programmi
provenienti da fonti diverse, anche se si perdono molti vantaggi
del sistema centralizzato.
|