Bonjour à tous, et bienvenue dans cette quatrième édition de Brave GNU World. Je commencerai ce mois-ci avec des réactions après le premier numéro.
des programmes GNU commerciaux ?
Après mon articles sur le changement de nom de la LGPL, j'ai reçu des plaintes parce que je favorisais la GPL au détriment de la LGPL. Je citerai par exemple Marcel Ruff:"Je pense que tous les programmes libres devraient être sous LGPL car le mélange de programmes gratuit/commerciaux est vital." Cet argument semble logique, mais sa prémisse est fausse. Je m'explique:
Quelle est exactement la différence entre LGPL et GPL? La General Public License donne à tout utilisateur le droit d'utiliser, modifier, et copier le logiciel comme il/elle le désire. Pour protéger ce droit, le code sous GPL ne peut jamais être utilisé dans un programme commercial. Ce n'est pas le cas avec la LGPL. Même si la licence ou le code ne peuvent jamais être changés, la LGPL permet explicitement l'utilisateur dans des programmes propriétaires. Propriétaire signifie que la personne ou la firme exige d'être la seule autorité quand au détenteur ou à l'utilisateur d'un logiciel. Mais Marcel faisait en fait référence aux logiciels commerciaux, qui sont des logiciels avec lesquels une société ou quelqu'un gagne de l'argent. Cela nous amène à la question de savoir si un logiciel commercial doit être propriétaire. Le projet GNU dit que non depuis longtemps. Depuis le succès de GNU/Linux, c'est prouvé.
Il y a de nombreuses raisons de distribuer des logiciels de manière libre, et les tentatives d'explications aux gestionnaires ont occupé pas mal de gens depuis quelques années. La tentative la plus connue est probablement le mouvement "Open Source".
Mais cet article ne traite pas des avantages du logiciel libre, mais bien de la question de savoir s'il faut préférrer la GPL ou la LGPL. Pour certain logiciel, la LGPL est certainement plus logique. Cependant, cela doit être décidé au coup par coup. En général, le projet gnu pense qu'il faut préférrer la GPL. Une des raisons, c'est de donner au logiciels libres une longueur d'avance sur les logiciels commerciaux. Cette longueur, combinées aux autres avantages des logiciels libres, peut faire pencher la balance pour une petite entreprise.
Voilà pour la partie théorique de ce mois. Mon sujet suivant sera certainement intéressant pour les producteurs de logiciels commerciaux, car choisir l'organisation optimale peut être crucial. Même dans des projets avec un seul développeur, une bonne structure peut faire gagner des heures de travail; pour des projects avec plusieurs développeurs, c'est essentiel. C'est la raison pour laquelle j'aimerai vous présenter
Aegis
Aegis [4] de Peter Miller est un projet qui tourne sur pratiquement tous les UNIX et comme il utilise GNU Autoconf, l'installation est rapide et facile. Comme d'autre projets semblables, Aegis a une archive centrale. Cette archive contient toutes les versions du projet depuis le début; on peut donc facilement revenir en arrière ou développer simultanément deux branches du projet.
L'archive n'est jamais changée directement. Les développeurs créent une arborescence du source en local. Les changements sont stockés dans des "Change Sets" qui reprennent tous les changement d'un cycle de travail. Le concept de base d'Aegis est de s'assurer que la version courante tourne et contient le moins de bogue possible; c'est la raison pour laquelle chaque "change set" contient au moins un test. Ces tests font partie de l'archive lorsque le "change set" y est incorporé. Cela permet de s'assurer que le nouveau code fonctionne toujours, en lui faisant passer les "anciens" tests. En vérifiant aussi les dépendances des fichiers sources dans l'archive, Aegis peut suggérer des programmes tests qui correspondent au nouveau "Change Set". Un "change set" n'est accepté que si les tests sont passés et que le code compile correctement. Pour faire partie définitivement de l'archive, le code doit être revu et validé au moins une fois.
Tout cela semble peut-être un peu compliqué, mais présente certains avantages. Avec les autres systèmes, un fichier est bloqué dès qu'un développeur annonce qu'il songe à éventuellement y changer quelque chose, ce qui pose parfois problème. Cela crée un goulet d'étranglement pour les fichiers les plus populaires, problème évité avec les "change set". Aegis incorpore également une partie de la vérification de la qualité du code directement dans le processus de développement sans le ralentir de manière notable. La validation paut être faite soit par chaque développeur, soit par une groupe de développeur, soit par un comité externe, soit par le chargé de projet, bref par ce qui convient le mieux au projet. Dans tous les cas, quelqu'un a autorisé le changement. Ce système s'assure également que le processus de développement produit directement des versions testées et qui fonctionnent. C'est extrêmement utile pour une société qui peut toujours donner au client une version actualisée.
Personnellement, j'ai bien aimé le fait que les versions locales ne doivent pas nécessairement être isolées de l'archive. Aegis supporte le "push and pull", ce qui fait qu'un changement dans l'archive a put être immédiatement reflété dans le répertoire de travail.
Sans rentrer dans les détails, je dirai simplement qu'Aegis supporte des archives multiples et distribuées, permet aux "Change Sets" de voyager via courriel ou HTTP et a été écrit en gardant à l'esprit tous les aspects de sécurité.
Mais j'aimerai aussi aborder deux projets qui devraient intéresser aussi les utilisateurs "normaux". Le développeur du GNU Enscript, Markku Rossi, m'a demandé de décrire le statut et l'évolution de son projet.
GNU Enscript
GNU Enscript est programme qui converti l'ASCII en PostScript, ANSI (séquences échappement), HTML, Overstrike (séquences d'échappement de nroff comme dans les pages man) ou RTF.
Même si cette partie du code est actuellement ré-écrite, GNU Enscript dispose du surlignage par langage depuis la version 1.5.1. C'est un peu comme le "font lock modes" (mode de blocage de la police) d'Emacs. Le type de fichier est reconnu, et certaines parties du texte (par exemple les commentaires en C) sont surlignées de la manière définie par l'utilisateur. La publication d'un code source sur le web peut se faire en le passant une seule fois dans enscript. S'il vous manque des polices ou des styles, la homepage GNU Enscript de Markku Rossi [5] est probablement l'endroit où aller: Enscript supporte pour le moment 42 langues et types de fichiers différents.
Le nouveau moteur de surlignage est nettement plus rapide et plus facile à programmer que l'ancien car il défini les règles, styles et langages dans des couches différentes qui peuvent être changées séparément sans affecter le reste du système. Si cela vous intéresse, la version beta utilise déjà le nouveau moteur.
Dans ce contexte, j'aimerai vous présenter un autre projet intéressant.
Ted
Ted [7] est un simple traitement de texte au format riche texte écrit par Mark de Does. Il permet à l'utilisateur de taper simplement un courriel ou une lettre en environnement wysiwyg. Comme le format RTF (texte riche) est le format natif, échanger des documents avec Microsoft Word ou Wordpad ne pose aucun problème. Ted peut également être utilisé comme visualisateur RTF pour Netscape. Le but du projet est de disposer d'une application d'utilisation facile pour un échange maximum avec la "Sphère Windows".
Même si l'auteur préfèrerait aujourd'hui GTK+, Ted est basé sur Motif; Pour le moment, la priorité est de faire fonctionner correctement la relation entre l'écran et l'imprimante pour les alphabets autres que Latin1. Toute aide à ce sujet est la bienvenue.
J'aimerai terminer ce numéro avec une idée personnelle. Récemment, en mettant sur pied une page web, je n'ai pas pu trouver une icône "Nous utilisons GNU". En fait, je me suis rendu compte que je n'en avais jamais vu. Si vous avez des idées de design, des questions, ou des commentaires ou des idées à propos de cette chronique, n'hésitez pas...[1].
Info |
[1] Envoyez vos questions, commentaires et idées à Brave GNU World <column@gnu.org>
|
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
Permission vous est donnée de distribuer des copies exactes de cette page tant que cette note de permission et le copyright apparaissent clairement.
Remise à jour: $Date: 2008/06/16 16:43:15 $ $Author: mattl $