diff --git a/conference.org/conference.org b/conference.org/conference.org new file mode 100644 index 0000000..39d8338 --- /dev/null +++ b/conference.org/conference.org @@ -0,0 +1,196 @@ +#+AUTHOR: Jean-Christophe Helary +#+EMAIL: jean.christophe.helary@traduction-libre.org +#+LANGUAGE: fr +#+TITLE: « Liberté, égalité, etc., les logiciels et processus libres dans le monde de la traduction » +* Takamatsu, le 1er octobre 2021 +Université de Lorraine à Metz, conférence en ligne pour la journée mondiale de la traduction à destination des étudiants en M2 de traduction. + +Ce document a été intégralement écrit dans le logiciel libre Emacs qui est en partie à l’origine du mouvement du logiciel libre. + +- Emacs : https://www.gnu.org/software/emacs/ + +Les lecteurs qui trouvent des erreurs factuelles, logiques ou autres dans ce document sont invités à les communiquer à l’auteur, Jean-Christophe Helary : jc.helary@doublet.jp. + +Le document est mis à disposition sous la Licence de documentation libre GNU. + +- GFDL : [[https://fr.wikipedia.org/wiki/Licence_de_documentation_libre_GNU][Licence de documentation libre GNU (Wikipedia)]] + +* Qu’est-ce qu’un logiciel libre ? + +Bonjour, vous êtes en Master et vous avez certainement aujourd’hui des compétences que moi je n’aurais jamais et, réciproquement, moi j’ai cette compétence que j’espère pouvoir vous transmettre, qui est la compréhension de ce que sont un logiciel et un processus libres, et bien sûr de ce que cela veut dire pour nous, en tant que travailleurs ou futurs travailleurs dans le monde de la traduction. + +Je vais commencer par la définition de Wikipédia, que je vous invite bien sûr à lire et à tenter de comprendre, car il s’agit de concepts extrêmement importants et qui sont apparus somme toute de manière très récente puisqu’ils sont nés, à l’évidence, avec la diffusion de l’informatique de masse qui a commencé dans les années 1980, donc, voici la définition : + +« Un logiciel libre est un logiciel dont l’utilisation, l’étude, la modification et la duplication par autrui en vue de sa diffusion sont permises, techniquement et juridiquement, ceci afin de garantir certaines libertés induites, dont le *contrôle du programme* par l’utilisateur et la *possibilité de partage* entre individus. » + +- Définition du logiciel libre : [[https://fr.wikipedia.org/wiki/Logiciel_libre][Logiciel libre (Wikipedia)]] + +Ces deux points que sont *le contrôle du programme* et *la possibilité de partage* sont bien sûr les points essentiels. + +Le contrôle du programme, cela veut dire que vous avez toute liberté pour étendre les fonctionnalités du programme sans avoir à demander une autorisation particulière. Vous pouvez non seulement étendre ses fonctionnalités, mais bien sûr modifier le programme dans son ensemble pour qu’il fonctionne en accord avec vos besoins. + +La possibilité de partage, cela veut dire que vous avez la liberté de copier le programme et de le diffuser sans avoir à en demander l’autorisation. Vous pouvez également diffuser vos propres modifications, à condition de donner à vos utilisateurs les mêmes libertés que celles dont vous avez fait usage, et ceci même à titre payant. C’est-à-dire que vous pouvez vendre le programme sans avoir à reverser des sommes à ce que l’on appelle communément les « ayant-droit ». + +* Un peu d’histoire + +Je vais passer maintenant à l’histoire des logiciels libres, et nous allons voir à quel point la période que nous vivons aujourd’hui ressemble à la période à laquelle ils sont nés. + +Là encore, permettez-moi de me baser sur l’article français de Wikipédia qui est extrêmement bien écrit. + +La conceptualisation de la notion de logiciels libres date du début des années 80. Elle a pour origine une personne, Richard Stallman, programmeur dans le département de recherche en intelligence artificielle du MIT. + +- Histoire du logiciel libre : [[https://fr.wikipedia.org/wiki/Histoire_du_logiciel_libre][Histoire du logiciel libre (Wikipedia)]] + +M. Stallman réalise assez tôt qu’une partie des logiciels qui sont indispensables à son travail commencent à être verrouillés par leurs auteurs (principalement des entreprises). Par ailleurs, une grande partie des chercheurs en intelligence artificielle de son département sont embauchés par des entreprises qui capturent ainsi la propriété intellectuelle développée au MIT. Stallman s’engage donc à reproduire gratuitement et de manière partageable les fonctionnalités des machines et logiciels utilisés et progressivement verrouillés. + +En septembre 1983, Stallman propose la création d’un système qui garantit la liberté des utilisateurs, et qui donc protège contre tout verrouillage abusif. Il s’agit du projet GNU qui est un l’acronyme de Gnu is Not Unix, sachant qu’Unix est alors un des systèmes d’exploitation majoritairement utilisés par les entreprises et les universités. + +- Présentation du projet GNU : [[https://fr.wikipedia.org/wiki/Projet_GNU][Projet GNU (Wikipedia)]] + +À l’époque, l’ordinateur personnel n’existe presque pas. Les systèmes Unix sont tous en réseau avec une machine principale qui est de fait l’ordinateur, et des terminaux qui ne sont pas beaucoup plus que des écrans attachés à des claviers par lesquels on envoie des instructions à l’ordinateur central qui lui renvoie la réponse qui va alors s’afficher sur l’écran. + +La notion de partage est donc comprise dans le système. On partage le temps d’utilisation de l’ordinateur central, on partage le code envoyé à l’ordinateur, on partage les idées qui vont générer ce code. + +La création du projet GNU va être l’occasion de l’écriture formelle d’une licence d’utilisation qui va autoriser les utilisateurs à partager et à utiliser librement les logiciels diffusés dans son cadre. Cette licence s’appelle la GPL, ce qui veut dire General Public Licence. + +- Licence publique générale (GPL) : [[https://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_GNU][Licence publique générale GNU (Wikipedia)]] + +Les quatre libertés principales définies par la licence sont les suivantes : + +- la liberté d’utiliser le logiciel, pour quelque usage que ce soit (liberté 0) +- la liberté d’étudier le fonctionnement du programme, et de l’adapter à vos propres besoins (liberté 1). L’accès au code source est une condition pour tout ceci +- la liberté de redistribuer des copies de façon à pouvoir aider votre voisin (liberté 2) +- la liberté d’améliorer le programme, et de diffuser vos améliorations au public, de façon à ce que l’ensemble de la communauté en tire avantage (liberté 3). L’accès au code source est une condition pour tout ceci + +Et comme l’explicite avec humour l’association française April, de promotion et de défense du logiciel libre : + +« Avec un logiciel libre, vous avez le plat, la recette, le droit de redistribuer (ou de vendre) le plat, la recette, et même de la modifier. » + +- Le logiciel libre selon l’April : https://www.april.org/articles/intro/ll.html + +Les logiciels libres vont très vite avoir à se confronter avec les logiciels propriétaires ou plutôt leurs fabricants. On voit ainsi dans les années 90 et plus tard apparaître des opinions d’une extrême violence sur le caractère, ne rigolez pas, communiste, ou encore viral, de ses logiciels. + +- Licences virales et « copyleft » : [[https://fr.wikipedia.org/wiki/Copyleft#Licence_virale][« Copyleft » et licences virales (Wikipedia)]] + + +N’oubliez pas que nous sommes alors dans ces années de l’après-chute de l’URSS au moment où l’épidémie de SIDA fait des ravages dans les populations non protégées et où le néolibéralisme commence à attaquer de plein fouet les économies occidentales. Les qualificatifs de viral ou de communiste pour ces logiciels sont alors des qualificatifs qui sont d’une brutalité qu’on a du mal à imaginer aujourd’hui. + +- Linux is communism : https://www.theregister.com/2000/07/31/ms_ballmer_linux_is_communism/ +- Linux is a cancer : https://www.theregister.com/2001/06/02/ballmer_linux_is_a_cancer/ + +Des développeurs qui tentent de s’éloigner du projet politique sous-tendu par le concept de logiciel libre vont créer un concept similaire et pour l’essentiel juridiquement compatible, qu’ils vont promouvoir sous la forme non plus de projet libérateur, mais de paradigme de développement. Ils vont l’appeler « open source ». Son incarnation principale est aujourd’hui le navigateur Internet Firefox qui a été converti en logiciel libre à la sauce open source par ces développeurs qui voulaient lutter, justement, contre le monopole de Microsoft en matière de navigateur Internet dans les années 90. + +- Présentation du paradigme « open source » : [[https://fr.wikipedia.org/wiki/Open_source][Open Source (Wikipedia)]] +- Netscape-Mozilla-Firefox : [[https://fr.wikipedia.org/wiki/Mozilla_Application_Suite#Histoire_et_d%C3%A9veloppement][Mozilla Application Suite, Histoire et développement (Wikipedia)]] + +Ce paradigme va être critiqué très fortement par les promoteurs du logiciel libre, car il retire du concept l’idée de liberté pour la remplacer par un processus de production. C’est cependant cette nouvelle approche qui, cooptée par les grandes entreprises amateurs de logiciels libres va devenir l’approche dominante aujourd’hui, même si l’essentiel du travail accompli l’est grâce à la licence GPL et autres licences compatibles. + +- Licences libres, licences « open source » : [[https://en.wikipedia.org/wiki/Free-software_license][Licences libres et licences « Open Source » (Wikipedia/en)]] + +Et ce paradigme de développement a tellement pénétré le monde de l’informatique qu’il est aujourd’hui presque impossible de créer des logiciels mêmes propriétaires sans utiliser à un moment ou à un autre des logiciels libres. Je parle ici non seulement de langage de développement, qui sont pour l’essentiel développés sous forme de logiciels libres, mais également d’infrastructures Internet, en particulier les serveurs qui fonctionnent en très grande partie sous le système d’exploitation Linux, et aussi d’infrastructures de développement, ce qu’on appelle les environnements de développement intégrés, en anglais Integrated Develpment Environment, IDE, et des logiciels de contrôle de version, par exemple GIT. + +- Langages de programmation : [[https://fr.wikipedia.org/wiki/Langage_de_programmation][Langages de programmation (Wikipedia)]] +- Linux : [[https://fr.wikipedia.org/wiki/Linux][Linux (WIkipedia)]] +- Environnement de développement : [[https://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement][Environnement de développement (Wikipédia)]] +- git : [[https://fr.wikipedia.org/wiki/Git][Git (Wikipedia)]] + +Tout ceci fait qu’on peut dire sans crainte de se tromper que ce qui est né dans les années 80, ce mouvement libertaire qui a tenté d’offrir d’autres perspectives aux développeurs et aux utilisateurs, a aujourd’hui gagné non seulement parce que les logiciels libres ou open source forment la majorité de l’infrastructure informatique mondiale, et une grande partie des logiciels utilisés par le grand public, d’une manière ou d’une autre, mais également parce que les anciens pourfendeurs du logiciel libre, en premier lieu Microsoft, en arrivent à coopter des initiatives qui visent à la promotion du logiciel libre et en source ouverte. Je pense en particulier à l’achat récent par Microsoft de la plateforme de développement participatif GitHub ou de l’inclusion aux dernières versions de Windows de ce qu’ils appellent le Windows Subsystem for Linux. + +- GitHub : [[https://fr.wikipedia.org/wiki/GitHub][Github (Wikipedia)]] +- Windows Subsystem for Linux : [[https://fr.wikipedia.org/wiki/Windows_Subsystem_for_Linux][Windows Subsystem for Linux (Wikipedia)]] + +* Et la traduction dans tout ça : les formats et processus… + +** PO +Les questions de localisation et de traduction aidée par ordinateur existent depuis que les logiciels diffusables et leur documentation existent. Disons rapidement, depuis les années 80. Le monde des logiciels libres a rapidement développé des processus et des outils libres pour faciliter ces tâches. + +Je pense en particulier au système ~gettext~ qui a été développé par Sun Microsystem et existe depuis 1990. ~gettex~ permet la séparation du code et des chaînes de caractères à traduire et propose un format de chaînes de caractère à fournir au traducteur pour intégration des chaînes cibles. + +- gettext : [[https://en.wikipedia.org/wiki/Gettext][Gettext (Wikipedia)]] + +Ce format est le format PO, ou « Portable Object ». On le trouve aujourd’hui dans de très nombreux processus de localisation de logiciels. + +À partir de ~gettext~ se sont développé des systèmes de filtres ou d’extraction de chaînes non plus pour les fichiers sources des logiciels, mais pour leur documentation. Je pense en particulier à : + +- ~po4a~ (PO for All) : https://po4a.org + +- ~Translate Toolkit~ : https://toolkit.translatehouse.org + +qui sont tout deux nés au début des années 2000 et qui permettent à des traducteurs d’avoir accès à différents formats de fichiers à partir du format intermédiaire PO. + +PO est omniprésent sur les plateformes de localisation en ligne, telles que Weblate, qui sert en particulier à la localisation de la suite logicielle libre LibreOffice. + +** XLIFF +XLIFF est une norme de l’industrie qui reflète la réflexion du monde logiciel par le prisme de la norme XML. Qu’est-ce que cela veut dire ? + +- XLIFF : [[https://fr.wikipedia.org/wiki/XLIFF][XLIFF (Wikipedia)]] + +XML est une norme de description de format publiée en 1997, issue d’une norme bien plus complexe, SGML, publiée elle en 1986, elle-même issue d’un travail interne effectué par IBM dans les années 60. Pour information, IBM était jusqu’au début des années 90 l’équivalent d’Apple aujourd’hui. + +- XML : [[https://fr.wikipedia.org/wiki/Extensible_Markup_Language][XML (Wikipedia)]] + +XML simplifie considérablement les modèles de description de formats de données et va connaître un boom dans les années 90 et 2000 dans tous les domaines de l’informatique, et bien sûr dans le domaine de la localisation et de la traduction. + +XLIFF veut dire ~XML Localization Interchange File Format~. Il déclare clairement sa filiation à la norme XML. C’est un format que vous connaissez, ou que vous allez apprendre à connaître. Il est pris en charge par tous les outils d’aide à la traduction « propriétaires ». Aujourd’hui, la version 2.2 est en développement. + +Autour de la norme XLIFF se développent de nombreux processus, filtres et éditeurs. Trados est arrivé bien tard dans la ronde, menée alors par le même Sun Microsystem qui avait publié ~gettext~ et développé en interne un éditeur XLIFF. + +** Les autres normes définies en XML… +- TMX (Translation Memory Exchange) : [[https://en.wikipedia.org/wiki/Translation_Memory_eXchange][TMX (Wikipedia/en)]] +- SRX (Segmentation Rules Exchange) : [[https://en.wikipedia.org/wiki/Segmentation_Rules_eXchange][SRX (Wikipedia/en)]] +- TBX (Term-Base Exchange) : [[https://en.wikipedia.org/wiki/TermBase_eXchange][TBX (Wikipedia/en)]] +- ITS (International Tag Set) : [[https://en.wikipedia.org/wiki/Internationalization_Tag_Set][ITS (Wikipedia/en)]] + +Vous verrez apparaître ces noms au fur et à mesure que vous progresserez dans le monde de la traduction. + +* Et ensuite les outils… + +PO, XLIFF et les autres sont des formats de fichiers. Il faut non seulement créer ces fichiers de traduction à partir de fichiers sources (chaînes de l’interface utilisateur pour la localisation, fichiers de documentation pour la traduction, si l’on doit séparer les deux domaines), mais il faut également les éditer pour y ajouter les traductions en tenant compte des glossaires et traductions préexistantes, valider les contenus, les convertir pour retrouver les contenus originaux. + +Tout ceci se passe en partie sur l’ordinateur du traducteur. Et les outils libres qui existent aujourd’hui, s’ils sont peu nombreux, sont ici depuis longtemps et ont prouvé leur robustesse. + +Je ne cite ici que ceux dont j’ai l’utilité, libre à vous d’aller explorer l’Internet pour découvrir vos propres perles. + +** Okapi Framework : http://okapiframework.org +Le couteau suisse du traducteur, un peu complexe, mais créé en partie par les éditeurs ou initiateurs des formats dont nous avons parlé plus haut, en particulier Yves Savourel, ancien éditeur de la norme TMX. + +Le « framework » est une série de librairies logicielles à utiliser indépendamment, et donc de manière libre, puisqu’il s’agit de logiciel libre, et ces librairies sont également proposées sous forme de logiciels utilisables directement. On y trouve : +- *Rainbow* : un convertisseur de fichiers extrêmement puissant +- *Ratel* : un éditeur de règles SRX +- *CheckMate* : un vérificateur de « qualité » +- *Tikal* : un système en ligne de commande qui effectue certaines tâches de Rainbow + +** Maxprograms : https://maxprograms.com +Maxprograms est l’enfant de Rodolfo Raya, une des figures des normes de localisation, et en particulier SRX et XLIFF dont il édite la dernière version. Maxprograms propose une petite dizaine de logiciels multiplates-formes : +- *Swordfish* : éditeur XLIFF +- *TMXEditor* : éditeur TMX +- *Stingray* : aligneur et créateur de fichiers TMX +- *SRXEditor* : éditeur de fichier SRX + +ainsi que des logiciels qui gèrent le format DITA de documentation technique, un format également initié par IBM dans ses années de gloire. + +** OmegaT : https://omegat.org/fr/ +OmegaT est aujourd’hui le principal outil de TAO libre et multiplate-forme. Il existe depuis 2001 et est en développement constant. Il est développé presque exclusivement par des bénévoles, et je fais partie de l’équipe de développement depuis 2004. J’en parlerai bien plus dans le cours qui commence la semaine prochaine et ceux parmi vous qui n’y participeront pas sont invités à consulter son site Internet, à l’installer et à le tester. + +Vous pouvez bien sûr envoyer vous questions et commentaires au compte officiel Twitter : [[https://twitter.com/OmegaTOfficial][@OmegaTOfficial]] + +Le fait qu’il soit un logiciel libre fait qu’il permet le foisonnement du code et le développement de solutions croisées. + +Le premier exemple que je peux donner est le plug-in développé par Okapi Framework pour faire disposer à OmegaT de ses filtres de fichiers. + +Le second exemple, remarquable, est le développement interne effectué sur OmegaT par le Directorat Général de la Traduction de l’Union Européenne. Ce développement s’est concrétisé en la création de plug-ins utilisables directement dans OmegaT, mais également sous la forme de code directement intégré à OmegaT pour améliorer certaines de ses fonctionnalités. + +Je parle de code intégré et le caractère libre d’OmegaT, et le principe même du développement libre font que de nombreuses entreprises ont développé du code pour OmegaT qui correspondait à leurs besoins et l’ont intégré au code commun d’OmegaT pour le bénéfice de tous. Je pense par exemple à Kilgray, les créateurs de memoq ou à weLocalize. + +* Retour au point de départ : et l’intelligence artificielle dans tout ça ? +Je disais que le logiciel libre est né dans les années 80 suite à la fuite des cerveaux qui travaillaient alors dans le département d’intelligence artificielle du MIT. + +40 ans plus tard, l’intelligence artificielle a toujours pour but de remplacer l’intelligence humaine. Et si à l’époque on savait qu’il était peu probable que l’objectif soit atteint, on arrive depuis les années 10 du 21e siècle à obtenir des simulations qui sont suffisamment convaincantes pour que la traduction automatique soit devenue un outil réellement utilisable sans passer par les artifices d’une langue intermédiaire simplifiée comme on a pu le voir avec la création dès les années 30 d’un anglais technique simplifié systématisé au début des années 80 justement, et qui servait aussi de base aux multiples tentatives de traduction automatique de l’époque. + +Deepl a aujourd’hui pour l’essentiel balayé la concurrence, et même dans des paires de langues pour lesquelles la traduction automatique grand public à la Google Translate ne donnait que des résultats inutilisables, par exemple, la paire japonais-français. + +La langue, c’est aussi les langues codifiées que sont les langages de programmation, et l’acquisition par Microsoft de GitHub, dont je parlais plus haut, en 2018 pour une somme de 7,5 milliards de dollars avait également pour but d’utiliser un corpus de fichiers source en divers langages de programmation pour alimenter des systèmes de génération automatiques de code, supposés aider les programmeurs à être plus efficaces. + +Intelligence artificielle, logiciels, traduction, conversions et interprétation de données, ce qui gouverne nos vies aujourd’hui, des algorithmes de Facebook et Instagram aux moteurs de recherche qui nous bombardent de publicités, tout est construit sur des bases libres, mais tout est presque systématiquement privatisé. Les communs de l’intelligence qui sont au cœur de toute activité humaine sont mésusés et abusés pour produire un monde dans lequel vos performances en tant que traducteur seront évaluées à l’aune de votre rapidité à corriger la sortie d’un moteur de traduction automatique, plutôt qu’à être capable apprécier la poésie lingala. + +Les logiciels et les processus libres sous-tendus par les normes sont ainsi des fenêtres sur un monde où le partage existe encore et où chacun peut participer et contribuer, à la hauteur de ses compétences et de ses désirs au bien-être d’un autre, même s’il ne la rencontrera peut-être jamais. Mais dans tous les cas, les hausses faramineuses de la productivité qui sont liées à l’informatisation et à la rationalisation des processus de production ne sont plus, depuis les années 80, reflétées dans l’augmentation du niveau de vie et nous condamnent à être comme a pu le dire Pierre Bourdieu, des travailleurs intellectuels précaires, à la merci d’évolutions technologiques que nous ne contrôlons pas. À moins que nous nous décidions à reprendre le contrôle, au moins de nos outils.