|
Noi încercăm să salvăm programele Java căzute în capcană, așa că dacă vă place limbajul Java, vă invităm să ajutați la dezvoltarea lui GNU Classpath. Încercându-vă programele cu compilatorul GCJ și GNU Classpath și raportând problemele pe care le aveți în clasele deja implementate este de asemenea folositor.
|
|
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.
|
|
Dieses Problem kann in jeder Art von Software auftauchen, in jeder [Programmier-]Sprache. Zum Beispiel ein freies Programm, das nur unter Microsoft Windows läuft, ist eindeutig unbrauchbar in der Freien Welt. Aber Software, die unter GNU/Linux läuft, kann ebenfalls unbrauchbar sein, wenn sie von anderer unfreier Software abhängt. In der Vergangenheit waren Motif (bevor wir LessTif hatten) und Qt (bevor seine Entwickler es zu Freie Software gemacht hatten) die großen Auslöser dieses Problemes. Die meisten 3D-Video-Karten funktionieren nur vollständig mit unfreien Treibern, was dieses Problem ebenfalls hervorruft. Aber die Hauptquelle dieses Problemes ist heutzutage Java, denn Leute, die Freie Software schreiben, finden Java oft sexy. Verblendet von der Anziehungskraft, die diese Sprache auf sie ausübt, übersehen sie das Problem der Abhängigkeiten und sie fallen in die Java-Falle.
|
|
Sun continúa desarrollando bibliotecas «estándar» adicionales de Java, y casi ninguna es libre. En muchos casos, incluso la especificación de la biblioteca es un secreto comercial, y la última licencia de Sun para estas especificaciones prohíbe publicar nada que no sea una implementación completa de la especificación (para encontrar ejemplos, véase http://jcp.org/aboutJava/communityprocess/JSPA2.pdf y http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html).
|
|
È tutto un altro problema, invece, determinare se il programma possa essere usato nel Mondo Libero, da persone intenzionate a vivere nella libertà. Questo non è determinato dalla sola licenza del programma, perché nessun programma funziona da solo: ogni programma dipende da altri programmi. Ad esempio, un programma deve essere compilato o interpretato, perciò dipende da un compilatore o da un interprete; se compilato in bytecode, ha bisogno di un interprete bytecode; inoltre ha bisogno di librerie per essere eseguito, e a sua volta potrebbe chiamare altri programmi che girano in altri processi. 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.
|
|
Ten kłopot może się pojawić w każdego rodzaju oprogramowaniu, w dowolnym języku. Na przykład, wolny program działający tylko w Microsoft Windows jest ewidentnie bezużyteczny w Wolnym Świecie. Ale program działający na GNU/Linuksie także może być bezużyteczny, jeśli zależy od innego niewolnego oprogramowania. W przeszłości główną przyczyną takich kłopotów były Motif (zanim powstał LessTif) oraz Qt (zanim twórcy tej biblioteki uczynili ją wolnym oprogramowaniem). Większość kart graficznych 3D wykorzystuje w pełni swoje możliwości tylko z niewolnymi sterownikami, co także powoduje tego rodzaju problemy. Ale głównym źródłem tego problemu jest obecnie Java, gdyż osoby piszące wolne oprogramowanie często uważają, że Java jest sexy. Zaślepieni przez swoje zafascynowanie językiem, przeoczają kwestię zależności i wpadają w Pułapkę Javy.
|