Traduction : Pierre Libotte
Bienvenue à la septième édition du Brave GNU World de Georg. Ce mois-ci, je commencerai par enchaîner sur le sujet "Gnu et Java", déjà abordé le mois passé, et qui mérite cette fois les gros titres.
gcj
Tom Tromey de Cygnus [5] s'est adressé à moi afin d'attirer mon attention sur les avancées de gcj [6]. Il s'agit d'un Frontend Java pour le gcc [7], fusionné il y a peu avec egcs. Gcj permet de travailler tant sur les codes-source Java que sur les Bytecodes, et, outre les exécutables, il est possible de produire des fichiers de Classes.
Grâce à gcj, l'on peut traiter Java comme n'importe quel autre langage de programmation et la possibilité de compiler en améliore les performances. Puisqu'il n'y a aucune différence entre C++ et les objets Java sur le plan de l'implémentation, une intégration mutuelle parfaite est possible. Autres avantages: la portabilité extrême qu'autorise la base gcc et la mise à jour pour programmes compilés gcj du Debugger GNU gdb, déjà réalisée.
Bien sûr, il reste des points faibles: en premier, l'absence d'AWT et de Swing, ensuite l'impossibilité de travailler avec des classes comprimées ainsi que les extensions JDK 1.1. Le plus urgent est d'instaurer la compatibilité JDK 1.1 et 1.2, puis de mettre au point des Toolkits GUI. Mais on risque de ne pas devoir attendre très longtemps: on parle déjà d'un AWT basé sur GTK+.
Pour l'instant, cinq développeurs de Cygnus et trois volontaires travaillent sur gcj. Tom Tromey a d'ailleurs sur la contribution décisive des indépendants au projet; c'est ainsi que l'un d'entre eux a écrit l'interpréteur.
Le projet suivant s'inscrit lui aussi dans la sphère du développement, mais pourrait présenter un certain intérêt pour un utilisateur "normal" qui souhaiterait aller un peu plus loin.
GNU Pth
GNU Pth [8] de Ralf S. Engelschall est l'acronyme de GNU Portable Threads. Il s'agit d'une bibliothèque de multithreading non-préemptif et orienté priorités sur systèmes UNIX. Jusqu'ici, la majorité des implémentations péchait soit par une conformité POSIX Threads partielle, soit par leur caractère très spécifique à la plate-forme, souvent par les deux. Pour cette raison, de nombreux développeurs ont renoncé à l'utilisation de threads, afin d'assurer une meilleure portabilité.
L'indépendance vis-à-vis de la plate-forme est la priorité numéro un du développement de GNU Pth. On y arrive en renonçant totalement aux solutions assembleur ou à certaines spécificités de la plate-forme. En outre, le choix des fonctions a été volontairement limité à celles qui se trouvent sur tous les dérivés Unix; les fonctions des spécifications Unix95/98 ne sont même pas censées exister. Fournir un travail complet est la deuxième priorité. La plus grande partie des implémentations de threads - et donc aussi des Linuxthreads - n'est malheureusement qu'une mise en oeuvre incomplète de la norme POSIX Threads. L'implémentation par GNU Pth est désormais plus complète que l'implémentation native uthread de FreeBSD, et les normes Mémoire Partagée étendues, qu'aucune implémentation ne couvrait jusqu'ici, sont prévues dans GNU Pth.
Pour les développeurs parmi nous que les détails techniques intéressent, signalons encore rapidement que GNU Pth repose entièrement sur ANSI-C et procède à un mapping Userspace M:1 réel. Ceci signifie que le noyau ne voit qu'un processus normal, même si celui-ci se constitue de 100 threads.
Entretemps, GNU Pth dans sa version 1.1 a déjà réussi haut la main plusieurs tests: ainsi, pftpd, le serveur FTP Multithreaded de Peter Eriksson, a tourné sans problème, et une version Apache expérimentale (Apache/MPM) a supporté sans broncher une charge extrêmement lourde. Grâce à GNU Pth, Apache/MPM (MPM signifie d'ailleurs "multi process model") peut être mise en oeuvre sur n'importe quelle plate-forme, même si celle-ci ne supporte pas les threads POSIX en natif.
Embrayons sur la deuxième contribution cette année de Ralf S. Engelschall au projet GNU.
GNU Shtool
Le GNU Shell Tool [9] est une compilation en un outil shell unique de shellscripts compacts, stables et extrêmement portables.
Actuellement, ce sont surtout GNU Autoconf [10] ou GNU Automake qui sont utilisés pour l'installation ou la personnalisation automatiques d'ensembles de logiciels. C'est ici que, à l'installation, interviennent quelques scripts shell, dont la plupart servent à offrir certaines fonctions qui font défaut sur bien des plates-formes. Avec le temps, c'est une véritable forêt de scripts qui se constitue, dont certains se trouvent de surcroît en des endroits différents. Ce sont les problèmes de maintenance et d'éparpillement que cela engendre que GNU Shtool vise à éliminer. Il s'agit en fait d'une véritable "boîte noire" qui permet de s'acquitter de toute une série de tâches liées au shell en code-source sous forme d'arborescence. GNU Shtool est donc en quelque sorte complémentaire à GNU Libtool [11], qui facilite la création de bibliothèques partagées.
Je recommande particulièrement le projet suivant à tous ceux depuis longtemps en mal de logiciel cryptographique libre.
GnuPG
Cela fait déjà un bon moment que Werner Koch travaille au GNU Privacy Guard [12], un succédané libre de PGP présentant quelques avantages. Il est aidé dans ce projet par Michael Roth, Rémi Guyomarch, Matthew Skala et bien d'autres. Début septembre, le grand moment était arrivé: la version 1.0 sortit finalement.
Mais pourquoi passer au GPG? Tout d'abord, le GPG a vu le jour en Allemagne et n'est donc pas soumis aux restrictions américaines à l'exportation; les procédures d'envoi et de scanning longues et compliquées sont donc éliminées. GnuPG respecte la norme Open PGP (RFC2440) et se passe de tout algorithme breveté. En natif, GPG supporte les algorithmes de création de clés publiques DSA et ElGamal, et pour l'encrypatge symétrique, 3DES, CAST5, Blowfish et Twofish sont disponibles. Celui à qui cela ne suffirait pas pourra très aisément incorporer dynamiquement à GnuPG ses propres modules d'encryptage.
Le plus grand avantage de GnuPG est cependant d'être logiciel libre. Ceci ne signifie pas seulement que les entreprises peuvent y avoir accès gratuitement, mais aussi que l'on peut s'y fier bien davantage.
De plus, il existe déjà un grand nombre d'applications centrées sur GnuPG. Werner Koch lui-même travaille à une bibliothèque de cryptographie GNU et à la GNU Secure Transport Initiative, une alternative libre à SSH v2. Il vise en outre, pour la poursuite des travaux de développement de GPG, l'exportation de clés privées dans un daemon, qui pourra à son tour et au besoin être transféré dans une clé matérielle.
Brian Warner a écrit l'Entropy Gathering Daemon (EGD), qui permet de générer des nombres aléatoires de manière satisfaisante, même sur des systèmes du type HP ou Solaris. Avec pgpgpg de Michael Roth, existe un programme qui convertit les paramètres de ligne de commande PGP pour le GPG, ce qui permet d'utiliser d'anciens programmes avec GPG sans modification. Il oeuvre en outre à Privacy Guard Glue (PGG), une bibliothèque de haut niveau pour le GnuPG.
Une grande partie des programmes de courrier supporte déjà GPG, et des frontends pour GNOME, KDE et Tcl/Tk existent déjà; la reconversion ne devrait donc pas poser de gros problèmes. L'on peut par ailleurs raisonnablement espérer qu'ici, la politique ne nous mette pas des bâtons dans les roues: en effet, le Ministère fédéral allemand de l'Economie envisage de subventionner un projet de cryptographie basé sur GnuPG, car seul un logiciel libre peut lui apporter les garanties nécessaires en matière de sécurité.
Voyons maintenant un projet de la catégorie des gestionnaires de listes de diffusion.
Mailman
Mailman [13] est un gestionnaire de listes de diffusion qui, au départ, a été écrit en Python par John Viega. Depuis lors, le cercle des développeurs s'est élargi à la "Mailman Cabal", qui, outre John Viega, réunit Barry Warsaw, Harald Meland, Ken Manheimer et Scott Cotton.
Bien que, sur ce terrain, nous trouvions déjà de vieilles connaissances, Mailman vaut réellement la peine qu'on s'y attarde. Outre les fonctionnalités habituelles, Mailman peut être intégralement géré via une interface Web, il dispose d'une protection anti-spam et d'une passerelle "News". En outre, plusieurs administrateurs et modérateurs sont autorisés par liste, et les digests tant appréciés sont au besoin disponibles au format MIME. A tous les administrateurs tourmentés par les listes de diffusion, je ne puis que recommander d'aller y jeter un coup d'oeil.
Avant d'en terminer, encore un peu de cuisine interne.
This is the end...
Tout d'abord, les raisons d'utiliser l'appellation "GNU/Linux" semblent se multiplier: Amiga a annoncé la mise au point d'un nouveau système d'exploitation basé sur le noyau Linux qui, selon toute vraisemblance, ne sera pas libre. Indépendamment du fait que je considère cela comme un pas en arrière, cela signifie que notre système devra s'en démarquer nettement dans sa dénomination ; c'est pourquoi "GNU/Linux" me semble plus que jamais être le meilleur choix.
Ensuite, je voudrais vous remercier pour les réactions positives qu'a suscitée l'initiative "GNU C'est Nous" [4]. Ces deux dernières semaines, la page a dû être actualisée au moins une fois par jour, après l'arrivée de nouveaux fichiers graphiques. C'est bien ainsi que je l'entendais. :-) Un merci tout particulier cette fois à Stefan Kamphausen, auteur du logo ci-dessus.
J'en termine par un appel aux volontaires. En octobre aura lieu à Munich (Allemagne) une nouvelle édition de "Systems", à laquelle un grand "Linux-Park" sera présent. J'y donnerai moi-même une conférence sur le projet GNU le mercredi. Pour l'instant, on manque cependant encore de gens qui auraient l'envie et le temps d'y tenir pendant un jour ou deux un stand commun GNU/Debian/GNOME.
Les manifestations d'intérêt, ainsi que bien sûr et comme d'habitude, toute autre observation, question, suggestion ou idée sont les bienvenues à l'adresse électronique [1] mentionnée ci-dessous.
|
[1] Idées, suggestions, commentaires à Brave GNU World:
column@gnu.org
|
Retour au numéro précédent / Brave GNU World home page / Aller au numéro suivant
Retour à la page GNU.
Envoyez vos questions sur GNU et FSF à gnu@gnu.org. Il y a aussi d'autres manières de contacter la FSF.
Envoyez vos commentaires sur "Brave GNU World" à column@gnu.org, et les commentaires sur cette page à webmasters@www.gnu.org,les autres questions à gnu@gnu.org.
Copyright (C) 1999 Georg C. F. Greve, version allemande publiée dans Linux-Magazin
Permission vous est donnée de distribuer des copies exactes de cette page tant que cette note de permission et le copyright apparaissent clairement.
Mise à jour : $Date: 2002/02/13 17:52:13 $ $Author: r4f $