|
|
Tutti questi programmi si chiamano dipendenze: le dipendenze possono essere indispensabili per l'esecuzione di un programma, oppure possono essere necessarie solo per alcune funzioni. In ogni modo un programma non è pienamente funzionale senza le sue dipendenze.
|
|
|
Whether the program can be used in the Free World, used by people who mean to live in freedom, is a more complex question. This is not determined by the program's own license alone, because no program works in isolation. Every program depends on other programs. For instance, a program needs to be compiled or interpreted, so it depends on a compiler or interpreter. If compiled into byte code, it depends on a byte-code interpreter. Moreover, it needs libraries in order to run, and it may also invoke other separate programs that run in other processes. All of these programs are dependencies. Dependencies may be necessary for the program to run at all, or they may be necessary only for certain features. Either way, all or part of the program cannot operate without the dependencies.
|
|
|
Ce problème peut se produire avec n'importe quel type de logiciel, n'importe quel langage. Par exemple, un programme libre qui ne fonctionne que sous Microsoft Windows est parfaitement inutilisable dans le monde du Libre. Mais des logiciels qui tournent sous GNU/Linux peuvent aussi être inutilisable lorsqu'ils dépendent d'autres logiciels non libres. Par le passé, Motif (avant que nous ayons LessTif) et Qt (avant que ses développeurs n'en fassent un logiciel libre) étaient les causes principales de ce problème. La plupart des cartes vidéo 3D ne fonctionnent pleinement qu'avec des pilotes non libres, ceci pose également un problème. Mais en ce moment, la cause principale de ce problème est Java, parce que certaines personnes qui écrivent des logiciels libres pense que le langage Java est sexy. Aveuglés par l'attrait du langage, ils sous-estiment le problème des dépendances et tombent dans le piège Java.
|