Évaluation des logiciels GNU
Faire don d'un logiciel à GNU
Si vous voulez offrir au projet GNU un logiciel que vous avez écrit, merci beaucoup ! Vous trouverez sur cette page un questionnaire à remplir quand vous nous enverrez votre paquet. Ces renseignements nous permettrons de l'évaluer dans les meilleurs délais.
Prenez votre temps pour remplir ce questionnaire. Nous l'avons écrit en texte préformaté pour que vous puissiez le copier sur votre système et le remplir consciencieusement. Quand vous aurez fini, veuillez l'envoyer par courriel à <gnueval@gnu.org> (en texte brut).
GNU n'est pas une simple collection de programmes utiles, mais un système d'exploitation unifié, entièrement constitué de logiciel libre. Donc, pour garder au système GNU sa cohérence technique, nous nous assurons que ses composants s'adaptent bien les uns aux autres. Aussi les évaluateurs jugent-ils les programmes sur la manière dont ils s'intègrent dans le système GNU, aussi bien techniquement que philosophiquement, ainsi que sur leur qualité, leur utilité, et autres caractéristiques souhaitables. C'est Richard Stallman, le Chief GNUisance,1 qui prend la décision finale d'accepter ou non la contribution, sur la base du rapport d'évaluation.
Ceci a entre autres pour conséquence qu'en règle générale nous n'acceptons pas de nouveau logiciel faisant double emploi de manière significative avec un paquet GNU existant. En tant que système cohérent, il est meilleur pour GNU d'avoir un paquet pour une tâche donnée, et des gens du domaine concerné pour y contribuer et l'améliorer en travaillant ensemble, plutôt que de nombreux paquets faisant chacun une partie de la tâche, développés indépendamment les uns des autres. De même, un petit programme est souvent mieux à sa place comme partie d'un paquet existant que comme nouveau paquet indépendant (en fait, GNU possède actuellement un grand nombre de ces paquets redondants, en général pour des raisons historiques ; cela n'infirme pas le principe général).
Une autre conséquence de ce principe est que devenir mainteneur GNU est un processus relativement formel, puisque l'affiliation au projet GNU en tant que mainteneur signifie que vous devez accepter de travailler – dans les limites de la maintenance – à la défense du logiciel libre, mission de ce projet.
Aussi, outre le questionnaire, veuillez lire les procédures de GNU décrites dans les Informations à l'usage des mainteneurs de logiciels GNU, ainsi que les Standards de programmation GNU. Un résumé des procédures principales est donné plus loin, mais nous vous prions de regarder également les documents complets.
Si vous avez publié un logiciel libre mais ne souhaitez pas remplir le questionnaire, ou satisfaire aux conditions des paquets GNU officiels, nous vous encourageons à inscrire tout de même votre programme au Répertoire du logiciel libre. Nous voulons que ce répertoire couvre tous les logiciels libres publiés.
Merci encore de vous intéresser à GNU.
Que signifie pour un programme « être un paquet GNU » ?
Voici, expliqué par rms, ce que signifie pour un programme « être un paquet GNU » et quelles sont les responsabilités d'un mainteneur de paquet GNU.
Faire d'un programme un logiciel GNU veut dire que son développeur et le projet GNU conviennent que « le programme fait partie du projet GNU, qu'il est diffusé sous l'égide de GNU » – et l'indiquent dans le programme.
En général, le projet GNU choisit initialement comme mainteneurs les développeurs ou les personnes qui souhaitent prendre cette responsabilité au nom du projet GNU. S'ils démissionnent – nous espérons que cela n'arrivera pas – nous cherchons d'autres mainteneurs. Le programme reste un paquet GNU à moins que (ou jusqu'à ce que) le projet GNU décide de le déclasser.
En tant que logiciel GNU, les versions empaquetées du programme se trouvent
normalement sur ftp.gnu.org
Cependant, nous pouvons référencer
le site de votre choix pour ces versions empaquetées si nous jugeons qu'il
est sécurisé, s'il permet à tout le monde de se connecter de partout et s'il
fonctionne même si le navigateur de l'utilisateur refuse d'exécuter du code
JavaScript.
Cela veut dire également que le site web officiel du programme doit être
www.gnu.org
, plus précisément
/software/NOM_DU_PROGRAMME
. Chaque fois que vous donnez l'URL
de la page d'accueil du paquet, vous donnez cette adresse. Vous pouvez en
revanche utiliser un autre site pour des sujets secondaires, par exemple
pour les pages destinées aux personnes qui aident au développement du
programme, et pour la gestion de bases de données (nous pouvons
exceptionnellement mettre les pages web du programme ailleurs s'il y a
vraiment une raison impérieuse).
Cela veut dire que les développeurs s'engagent à veiller au bon fonctionnement de leur programme avec le reste du système GNU – et inversement, que le projet GNU encouragera les autres mainteneurs à veiller à la compatibilité de leurs programmes avec lui.
Que veut dire au juste qu'un programme fonctionne bien avec les autres ? C'est surtout affaire de pratique et cela dépend de ce que fait le programme. Mais il y a quelques principes généraux. Certaines parties des standards de programmation GNU affectent directement la cohérence du système complet. Entre autres les standards de configuration et de compilation, et les standards des options de ligne de commande. Il est important de faire en sorte que tous les programmes GNU suivent ces standards, là où ils s'appliquent.
Autre standard GNU important : les programmes GNU doivent comporter une documentation en format Texinfo. C'est le format standard de la documentation GNU, et il peut être converti automatiquement en divers autres formats. Vous pouvez utiliser DocBook ou tout autre format adéquat pour les sources de la documentation, tant que la conversion automatique en Texinfo donne de bons résultats.
Si un programme GNU veut pouvoir accepter des extensions, il doit si possible utiliser Guile comme langage d'extension. Pour certains programmes, il est justifié de faire autrement, mais, s'il vous plaît, utilisez Guile si c'est faisable.
Un programme GNU doit utiliser la dernière version de la licence recommandée par le projet GNU – pas n'importe quelle licence de logiciel libre. Pour la plupart des paquets, cela veut dire utiliser la GNU GPL, version 3 ou ultérieure.
Un programme GNU ne doit pas recommander l'utilisation d'un logiciel non libre, quel qu'il soit, et il ne doit pas renvoyer l'utilisateur à une quelconque documentation non libre pour un logiciel libre. La campagne en faveur d'une documentation libre pour les logiciels libres est une priorité du projet GNU ; nous devons montrer que nous prenons ce sujet au sérieux, et ne pas fragiliser notre position en recommandant de la documentation qui ne soit pas libre.
Il y a de temps en temps des problèmes de terminologie qui sont importants pour le succès global du projet GNU. Aussi, nous attendons des mainteneurs de programmes GNU qu'ils emploient la terminologie correcte. Par exemple, les fichiers de documentation et les commentaires d'un programme doivent parler de systèmes GNU/Linux, plutôt que d'appeler le système complet « Linux ». De même ils doivent utiliser l'expression « logiciel libre » plutôt que « open source ». Puisqu'un programme GNU est distribué sous les auspices de GNU, il ne doit en aucune manière contredire les positions du projet GNU.
Il n'est pas nécessaire de transférer le copyright d'un programme à la FSF pour que ce soit un logiciel GNU ; c'est une question à part. Si vous voulez transférer le copyright à la FSF, la FSF fera respecter la GPL si quelqu'un l'enfreint ; si vous gardez le copyright, ce sera votre choix de la faire respecter ou non.
En tant que mainteneur GNU du paquet, veuillez vous arranger pour rester en contact avec le projet GNU. Si nous rencontrons un problème relatif au paquet, nous avons besoin de vous en parler, et de discuter avec vous de la solution à y apporter. Quelquefois nous devrons vous demander de travailler avec d'autres mainteneurs à la solution d'un problème qui touche l'utilisation de plusieurs paquets à la fois. Il est probable que cela n'arrivera pas plus d'une fois par an mais, s'il vous plaît, arrangez-vous pour qu'on puisse vous contacter si cela se produit.
Cette courte liste de conseils aux mainteneurs de GNU donne une aperçu peut-être utile de quelques tâches à effectuer lorsque votre paquet fera partie de GNU.
Vous trouverez plus de détails dans les documents suivants :
- Information For Maintainers of GNU Software (Informations pour les mainteneurs de logiciels GNU)
- GNU Coding Standards (Normes de codage GNU)
Veuillez lire ces essais, qui expliquent les idées de base de GNU et du logiciel libre :
- Le projet GNU
- Qu'est-ce que le logiciel libre ?
- Catégories de logiciels libres et non libres
- Éviter les compromis ruineux
- Mots à éviter (ou à utiliser avec précaution), car connotés ou prêtant à confusion
- Linux et le système GNU
- FAQ sur GNU/Linux par Richard Stallman
- En quoi l'open source perd de vue l'éthique du logiciel libre
Questionnaire pour faire don d'un logiciel à GNU2
* General Information ** Do you agree to follow GNU policies? If your program is accepted to be part of the GNU system, it means that you become a GNU maintainer, which in turn means that you will need to follow GNU policies in regards to that GNU program. (Summarized above, see maintainers document for full descriptions.) ** Package name and version: ** Author Full Name <Email>: ** URL to package home page (if any): ** URL to source tarball: Please make a release tarball for purposes of evaluation, whether or not you publicly release it. If you don't have anywhere to upload it, send it as an attachment. ** Brief description of the package: * Code ** Dependencies: Please list the package's dependencies (source language, libraries, etc.). ** Configuration, building, installation: It might or might not use Autoconf/Automake, but it must meet GNU standards. Even packages that do not require compilation must follow these standards, so installers have a uniform way to define target directories, etc. Please see: http://www.gnu.org/prep/standards/html_node/Configuration.html http://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html ** Documentation: We require using Texinfo (http://www.gnu.org/software/texinfo/) for documentation, and recommend writing both reference and tutorial information in the same manual. Please see http://www.gnu.org/prep/standards/html_node/GNU-Manuals.html ** Internationalization: If your package has any user-visible strings, please make them translatable to other languages using GNU Gettext: http://www.gnu.org/software/gettext/ ** Accessibility: Please discuss any accessibility issues with your package, such as use of relevant APIs. ** Security: Please discuss any possible security issues with your package: cryptographic algorithms being used, sensitive data being stored, possible elevation of privileges, etc. * Licensing: Both the software itself *and all dependencies* (third-party libraries, etc.) must be free software in order to be included in GNU. In general, official GNU software should be released under the GNU GPL version 3 or any later version, and GNU documentation should be released under the GNU FDL version 1.3 or any later version. Please see http://www.gnu.org/philosophy/license-list.html for a practical guide to which licenses are free (for GNU's purposes) and which are not. Please give specific url's to any licenses involved that are not listed on that page. * Similar free software projects: Please explain what motivated you to write your package, and search at least the Free Software Directory (http://www.gnu.org/directory/) for projects similar to yours. If any exist, please also explain what the principal differences are. * Any other information, comments, or questions:
Comme dit plus haut, veuillez renvoyer le questionnaire à <gnueval@gnu.org> quand vous aurez fini de le remplir.
Autres manières d'aider le projet GNU
Il y a beaucoup d'autres manières d'aider GNU, certaines qui requièrent des compétences techniques, d'autres non.