diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/fr/java-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/fr/java-trap.html | 295 |
1 files changed, 295 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/fr/java-trap.html b/talermerchantdemos/blog/articles/fr/java-trap.html new file mode 100644 index 0000000..1fad082 --- /dev/null +++ b/talermerchantdemos/blog/articles/fr/java-trap.html @@ -0,0 +1,295 @@ +<!--#set var="ENGLISH_PAGE" value="/philosophy/java-trap.en.html" --> + +<!--#include virtual="/server/header.fr.html" --> +<!-- Parent-Version: 1.77 --> + +<!-- This file is automatically generated by GNUnited Nations! --> +<title>Libre mais entravé - le piège Java - Projet GNU - Free Software Foundation</title> + +<!--#include virtual="/philosophy/po/java-trap.translist" --> +<!--#include virtual="/server/banner.fr.html" --> +<h2>Libre mais entravé - le piège Java</h2> + +<p>par <a href="http://www.stallman.org/">Richard Stallman</a></p> + + +<div class="announcement"><blockquote><h3>Note préliminaire</h3> +<p>Depuis la parution de cet article, Sun (qui fait maintenant partie d'Oracle) +a <a href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">fait passer +l'essentiel de l'implémentation de référence de sa plateforme Java sous la +licence publique générale GNU</a> ; il y a donc maintenant un environnement +de développement libre pour Java. Ainsi le langage Java n'est plus un piège.</p> + +<p>Vous devez faire attention, cependant, parce que toutes les plateformes Java +ne sont pas libres. Sun continue à distribuer une plateforme Java exécutable +qui n'est pas libre et d'autres sociétés font de même.</p> + +<p>L'environnement libre pour Java s'appelle IcedTea ; le code source libéré +par Sun y est inclus. C'est donc cet environnement que vous devez +utiliser. Beaucoup de distributions GNU/Linux sont fournies avec IcedTea, +mais certaines contiennent des plateformes Java non libres. (Note ajoutée en +octobre 2015 : l'implémentation libre de Java s'appelle OpenJDK dans +beaucoup de distributions GNU/Linux.)</p> + +<p>Pour vous assurer de manière fiable que votre programme Java s'exécutera +correctement dans un environnement libre, vous devez le développer avec +IcedTea. Théoriquement les plateformes Java devraient être compatibles, mais +elles ne le sont pas à 100%.</p> + +<p>De plus, il y a des programmes non libres dont le nom contient « Java », +comme JavaFX, et il y a des paquets Java non libres qui pourraient vous +tenter mais que vous devez rejeter. Donc vérifiez les licences de tout +paquet que vous envisagez d'utiliser. Si vous utilisez Swing, faites en +sorte d'utiliser la version libre, qui est fournie avec IcedTea. (Note +ajoutée en octobre 2015 : un programme libre remplaçant JavaFX a été publié +sous le nom d'OpenJFX.)</p> + +<p>Mis à part ces problèmes spécifiques à Java, le problème général décrit ici +demeure important, car toute bibliothèque ou plateforme de programmation non +libre peut causer un problème similaire. Nous devons retenir la leçon de +l'histoire de Java de manière à éviter d'autres pièges à l'avenir.</p> + +<p>Veuillez aussi consulter : <a href="/philosophy/javascript-trap.html">Le +piège JavaScript</a>.</p> +</blockquote> +</div> + +<p>Le 12 avril 2004</p> + +<p> + Si votre programme est un logiciel libre, il est éthique par nature, mais il +y a un piège dont il faut se méfier. Bien qu'intrinsèque, la liberté de +votre programme peut être restreinte à cause de logiciels non libres dont il +dépend. Comme c'est avec les programmes Java que ce problème est aujourd'hui +le plus évident, nous l'avons nommé le « piège Java ». +</p> + +<p> + Un programme est un logiciel libre si ses utilisateurs possèdent certaines +libertés fondamentales. En gros, il s'agit de : la liberté d'exécuter le +programme, la liberté d'en étudier et modifier le code source, la liberté +d'en redistribuer les fichiers source et binaires, et la liberté d'en +publier des versions améliorées (voir <a +href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>). +Qu'un programme donné soit un logiciel libre ne dépend que de la +signification de sa licence. +</p> + +<p> + Que le programme puisse être utilisé dans le monde du Libre, utilisé par des +personnes qui entendent vivre en toute liberté, est une question plus +compliquée. La seule licence du programme ne détermine pas cela, car aucun +programme ne fonctionne en isolement total. Chaque programme dépend d'autres +programmes. Par exemple, il nécessite d'être compilé ou interprété, il +dépend donc d'un compilateur ou d'un interpréteur. S'il est compilé en +pseudo-code binaire, il dépend d'un interpréteur de pseudo-code. Qui plus +est, pour s'exécuter il a besoin de bibliothèques et peut faire appel à +d'autres programmes qui s'exécutent sous d'autres processus. Tous ces +programmes sont des dépendances. Ces dernières peuvent être totalement +indispensables à l'exécution du programme, ou juste nécessaires à certaines +de ses fonctionnalités. D'une façon ou d'une autre, tout ou partie du +programme ne peut pas fonctionner sans elles. +</p> + +<p> + Que certaines des dépendances d'un programme ne soient pas libres signifie +que tout ou partie du programme ne peut s'exécuter sur un système totalement +libre – il est inutilisable dans le monde du Libre. Bien sûr, nous pouvons +distribuer le programme et en avoir des copies sur nos machines, mais cela +ne sert pas à grand-chose s'il ne s'exécute pas. Ce programme est un +logiciel libre, mais il est en fait entravé par des dépendances non libres. +</p> + +<p> + 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. +</p> + +<p> + L'implémentation Java de Sun est non libre. Les bibliothèques Java standard +sont aussi non libres ; c'est une adaptation du code privateur +(propriétaire) de Sun. Les bibliothèques de base de Java sont non libres +aussi. Bien sûr, nous disposons d'implémentations libres de Java, comme le +<a href="http://gcc.gnu.org/java/">compilateur GNU pour Java</a> (GCJ) et <a +href="/software/classpath">GNU Classpath</a>, mais ils ne gèrent pas encore +toutes les fonctionnalités. Nous sommes encore en train de rattraper le +retard. +</p> + +<p> + Si vous développez un programme Java sur la plateforme Java de Sun, vous +êtes voué à utiliser des fonctionnalités Sun exclusives sans même vous en +rendre compte. Vous pourriez les avoir utilisées pendant des mois avant de +le découvrir et reprendre la tâche pourrait prendre plus de mois +encore. Vous pourriez vous dire : « Recommencer demande trop de travail. » +Alors votre programme sera tombé dans le piège Java ; il sera inutilisable +dans le monde du Libre. +</p> + +<p> + Le truc fiable pour éviter le piège Java est de n'avoir qu'une +implémentation libre de Java sur votre système. Ainsi, si vous utilisez une +fonctionnalité ou une bibliothèque que le logiciel libre ne supporte pas +encore, vous vous en rendrez compte immédiatement et vous pourrez réécrire +ce code tout de suite. +</p> + +<p> + Sun continue de créer des bibliothèques « de base » supplémentaires, presque +toutes non libres ; dans bien des cas, même les spécifications de la +bibliothèque sont des secrets de fabrication. De plus, la dernière licence +de Sun concernant ces spécifications interdit la publication d'une mise en +œuvre partielle de ces dernières (voir par exemple <a +href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> [en] +et <a +href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a> [en]). +</p> + +<p> + Heureusement, la licence de ces spécifications permet d'en publier une mise +en œuvre libre ; ceux qui recevraient une telle bibliothèque peuvent être +autorisés à la modifier et ne sont pas tenus d'en suivre les +spécifications. Mais cette clause a pour effet d'interdire l'utilisation +d'un modèle de développement collaboratif pour produire cette mise en œuvre +libre. L'utilisation d'un tel modèle impliquerait la parution de versions +incomplètes, ce qui est interdit aux personnes ayant lu les spécifications. +</p> + +<p> + Aux premiers jours du mouvement du logiciel libre, il était impossible de ne +pas dépendre de programmes non libres. Avant que nous ne disposions du +compilateur C de GNU, tous les programmes C (qu'ils fussent libres ou non) +dépendaient d'un compilateur C non libre. Avant que nous ne disposions de la +bibliothèque C de GNU, tous les programmes dépendaient d'une bibliothèque C +non libre. Avant que nous ne disposions de Linux, le premier noyau libre, +tous les programmes dépendaient d'un noyau non libre. Avant que nous ne +disposions de BASH, chaque script shell devait être exécuté par un +interpréteur non libre. Il était inévitable que nos premiers programmes +soient initialement sous le joug de ces dépendances, mais ceci était +acceptable car leur sauvetage ultérieur faisait partie de notre plan. Notre +objectif global, un système d'exploitation autonome, comprenait des +remplacements libres à toutes ces dépendances ; si nous atteignions ce but, +tous nos programmes seraient sauvés. Et c'est ce qui se produisit : avec le +système GNU/Linux, nous pouvons à présent exécuter ces programmes sur des +plateformes libres. +</p> + +<p> + La situation est différente aujourd'hui. Nous disposons à présent de +systèmes d'exploitation puissants et de nombreux outils de programmation +libres. Quelle que soit la tâche que vous ayez à exécuter, vous pouvez le +faire sur une plateforme libre ; il n'est plus nécessaire, même +temporairement, d'accepter des dépendances non libres. À ce jour, la raison +principale pour laquelle les gens tombent dans le piège est que cela ne leur +vient pas à l'esprit. La plus simple des solutions concernant le piège Java +est d'apprendre aux gens à ne pas tomber dedans. +</p> + +<p> + Afin de protéger votre code Java du piège Java, installez un environnement +de développement Java libre et utilisez-le. De façon générale, quel que soit +le langage que vous utilisiez, ouvrez l'œil et assurez-vous du statut libre +des programmes dont dépend le code de vos programmes. La façon la plus +simple de vérifier si ce programme est libre est de s'assurer qu'il possède +une entrée dans le répertoire du logiciel libre (<a +href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). Si un +programme n'est pas dans ce répertoire, vous pouvez vérifier si la licence +qui l'accompagne est dans la liste des licences de logiciel libre (<a +href="/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>). +</p> + +<p> + Nous sommes en train d'essayer de sauver les programmes Java piégés, alors +si vous aimez le langage Java, nous vous invitons à nous aider à développer +GNU Classpath. Vous pouvez aussi aider en essayant vos programmes avec le +compilateur GCJ et GNU Classpath. Toutefois, cela prendra du temps pour +terminer GNU Classpath ; si d'autres bibliothèques non libres continuent à y +être ajoutées, il se peut que nous n'ayons jamais les plus récentes. Alors +s'il vous plaît, ne placez pas d'entraves sur vos logiciels libres. Faites +en sorte que l'application que vous écrivez en ce moment soit conçue pour +fonctionner dans un environnement libre dès le départ. +</p> + +<h3>Voir également :</h3> +<p><a href="/philosophy/sun-in-night-time.html">Le curieux non-événement de Sun +dans la pénombre</a></p> + +<div class="translators-notes"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> + </div> +</div> + +<!-- for id="content", starts in the include above --> +<!--#include virtual="/server/footer.fr.html" --> +<div id="footer"> +<div class="unprintable"> + +<p>Veuillez envoyer les requêtes concernant la FSF et GNU à <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Il existe aussi <a +href="/contact/">d'autres moyens de contacter</a> la FSF. Les liens +orphelins et autres corrections ou suggestions peuvent être signalés à <a +href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> + +<p> +<!-- TRANSLATORS: Ignore the original text in this paragraph, + replace it with the translation of these two: + + We work hard and do our best to provide accurate, good quality + translations. However, we are not exempt from imperfection. + Please send your comments and general suggestions in this regard + to <a href="mailto:web-translators@gnu.org"> + + <web-translators@gnu.org></a>.</p> + + <p>For information on coordinating and submitting translations of + our web pages, see <a + href="/server/standards/README.translations.html">Translations + README</a>. --> +Nous faisons le maximum pour proposer des traductions fidèles et de bonne +qualité, mais nous ne sommes pas parfaits. Merci d'adresser vos commentaires +sur cette page, ainsi que vos suggestions d'ordre général sur les +traductions, à <a href="mailto:web-translators@gnu.org"> +<web-translators@gnu.org></a>.</p> +<p>Pour tout renseignement sur la coordination et la soumission des +traductions de nos pages web, reportez-vous au <a +href="/server/standards/README.translations.html">guide de traduction</a>.</p> +</div> + +<p>Copyright © 2004, 2010, 2015 Richard Stallman</p> + +<p>Cette page peut être utilisée suivant les conditions de la licence <a +rel="license" +href="http://creativecommons.org/licenses/by-nd/4.0/deed.fr">Creative +Commons attribution, pas de modification, 4.0 internationale (CC BY-ND +4.0)</a>.</p> + +<!--#include virtual="/server/bottom-notes.fr.html" --> +<div class="translators-credits"> + +<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> +Traduction : Francis Pied.<br /> Révision : <a +href="mailto:trad-gnu@april.org">trad-gnu@april.org</a></div> + +<p class="unprintable"><!-- timestamp start --> +Dernière mise à jour : + +$Date: 2018/09/07 09:58:14 $ + +<!-- timestamp end --> +</p> +</div> +</div> +</body> +</html> |