Projet : publication sur le Logiciel Libre en Chimie

  1. Qu'est-ce qu'un logiciel libre ('free software') ?

Un logiciel libre est un logiciel dont on possède le code source, et dont la licence permet la libre rediffusion de ces sources éventuellement modifiées. Le simple accès au code source ne suffit pas pour qu'un logiciel puisse être dit “libre”, et la gratuité n'a rien à voir avec la liberté. Ainsi, un logiciel libre n'est pas un graticiel ou partagiciel (freeware ou shareware en anglais), et un logiciel dont le code source est disponible n'est pas forcément libre. Une défintion plus complète est décrite dans l'annexe 1.
Note : dans le terme anglais 'free software', le mot 'free' ne signifie pas gratuit, mais libre. L'ambiguïté est levée quand le terme est traduit en français.

  1. Quels intérêts pour la Science ?
    1. La validation scientifique
      Tout résultat publié doit être reproductible et produit de manière claire et précise. Comment vérifier le calcul d'une boîte noire, et en particulier, d'en valider le résultat ? L'utilisateur ne peut pas en connaître le fonctionnement. Il doit se fier à la parole du concepteur. N'est-ce pas là une attitude relevant de la croyance plutôt que de la rigueur scientifique ? Ainsi, pouvoir étudier le code source du programme permet de vérifier les outils utilisés, ainsi que la manière dont ils le sont. Alors, le résultat des calculs est issu d'un algorithme connu et certifié.
    2. Des outils enrichis en communs
      La recherche est le fruit de collaborations, et chaque résultat publié est issu de recherches effectuées par de nombreuses équipes de part le monde. Pourquoi n'en serait-il pas de même avec les outils informatiques que nous utilisons ? Cela amènerait à un développement plus rapide et efficace de chaque outil. Par exemple, il est rare qu'un groupe de recherche en chimie possède des personnes sachant développer sur toutes les plate-formes. L'ouverture du code permet à d'autres équipes de développer sur un système qu'elle maîtrise et de fournir un logiciel plurivalent.
    3. Accessible à tous
      La libre distribution du logiciel permet au plus grand nombre de profiter de l'outil. Cela permet au laboratoire consacrant la majeure partie de leur budget aux produits chimiques et vaisselles de laboratoire de pouvoir accéder à un outil puissant.
    4. Adaptable à tous
      Le code étant libre, il peut être modifié par quiconque afin de l'adapter au mieux au besoin d'un laboratoire.
    5. Protection du logiciel
      Contrairement à ce qu'on pourrait penser, adopter une licence libre c'est aussi protéger son logiciel. En effet, un logiciel sans licence est à la merci du plagiat et de la non-reconnaissance d'un travail.
    6. Pérénité du code
      En cas de faillite d'une société commercialisant un produit, ou de l'arrêt du développement d'un logiciel par un groupe ou un particulier, quiconque peut reprendre le projet et continuer à le développer ou le maintenir. Ceci permet de pouvoir ouvrir des fichiers crées dix ans auparavant.
    7. Des produits plus fiables
      Le logiciel libre bénéficie des efforts de l'ensemble des utilsateurs qui travaille dans le but de corriger les problèmes. Les utilisateurs ne se contentant pas seulement de signaler les bogues, peuvent aussi les corriger et envoyer leurs corrections. Les utilisateurs travaillent ensemble, communiquant par l'intermédiaire du courrier électronique, pour venir à bout des problèmes.
  2. Où trouver ces logiciels ?

http://fsffrance.org//science/science.fr.html
http://www.openscience.org
http://www.bioinformatics.org
http://sal.kachinatech.com
http://freshmeat.net
http://savannah.gnu.org
http://www.sourceforge.net

Malheureusement, tous les logiciels n'y sont pas listés. Beaucoup de logiciels sont encore développés sans être distribués. Le fait de faire connaître le logiciel libre permettra de les faire sortir de l'ombre.
- Comment mettre un logiciel sous licence libre?
  - Méthode générale\\  Pour mettre un logiciel libre sous licence libre, il faut d'abord déclarer qu'il est sous copyright, ensuite il faut ajouter les conditions de distribution, qui sont un outil légal donnant à chacun le droit d'utiliser, de modifier, et de redistribuer le code du programme, ou tous les programmes qui en sont dérivés. Ainsi, le code et ses libertés sont légalement indissociables.
  - L'en-tête du code source\\  Il est nécessaire que chaque fichier du code source contienne l'en-tête suivante :\\
    <Indiquer ici le nom du programme et ce qu'il fait>
    Copyright (C) yyyy  <Nom de l'auteur>
    This program is free software; you can redistribute it and/or modify
    it under the terms of the <Nom de la licence> as published by
    <Organisme ayant rédigé cette licence>
    This program is distributed in the hope that it will be useful, but 
    WITHOUT ANY WARRANTY; without even the implied warranty
    of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    See the licence for more details.
    You should have received a copy of the <Nom de la licence> along with
    this program; if not, contact <Adresse permettant d'obtenir le texte
    intégrale de la licence>.
  - Comment choisir une licence?\\  Le programme doit être distribué sous les termes d'une licence d'utilisation. Plusieurs licences libres existent, à vous de choisir celle que vous souhaiter appliquer. Le logiciel, ainsi que ses sources doivent être distribués avec le texte de licence d'utilisation, ou bien un lien permettant de la retrouver sur un autre média (Internet, ...)
- Sources
  * Groupe de discussion sur le Logiciel Libre en Science : [[http://france.fsfeurope.org/science/|http://france.fsfeurope.gnu.org/science]]
  * Association pour la Promotion et la Recherche en Informatique Libre : [[http://www.april.org/|http://www.april.org]]
  * Les Directives Debian pour le logiciel libre : http://www.debian.org/social_contract#guidelines
  * Logiciels libres pour l'enseignement : [[http://logiciels-libres-cndp.ac-versailles.fr/|http://logiciels-libres-cndp.ac-versailles.fr]]
  * Les licences libres : http://www.gnu.org/licenses/license-list.fr.html
  * La licence GNU GPL (anlgais) : http://www.gnu.org/licenses/gpl.html
  * La licence Artistic (anglais) : http://language.perl.com/misc/Artistic.html
  * La licence BSD (anglais) : http://www.debian.org/misc/bsd.license
- Annexe 1
Un logiciel libre est un logiciel respectant les principes suivants :
  - Redistribution libre\\  La licence d'un logiciel libre ne doit pas empêcher un contractant de vendre ou donner le logiciel sous forme de composant d'un ensemble (distribution) constitué de programmes provenant de différentes sources. La licence ne doit requérir ni redevance ni rétribution sur une telle vente.
  - Code source\\  Le programme doit inclure le code source, et sa diffusion sous forme de code source et sous forme de programme compilé doit être autorisée. Quand une forme quelconque du produit est distribuée sans le code source, il doit être clairement indiqué par quel moyen il est possible d'obtenir le code source, pour une somme qui ne doit pas excéder un coût raisonnable de reproduction, ou en le chargeant gratuitement via Internet. Les formes intermédiaires de code source, telles que celles résultant d'un pré-processeur ou d'un traducteur, sont interdites.
  - Applications dérivées La licence doit permettre les modifications et les applications dérivées, et elle doit permettre à celles-ci d'être distribuées sous les mêmes termes que la licence du logiciel original.
  - Intégrité du code source de l'auteur\\  La licence peut défendre de distribuer le code source modifié **seulement** si elle autorise la distribution avec le code source de fichiers correctifs (//patch files//) destinés à modifier le programme au moment de la génération. La licence doit autoriser explicitement la distribution de logiciels générés à partir de code source modifié. Elle peut requérir que les applications dérivées portent un nom ou un numéro de version différent de ceux du logiciel original.
  - Aucune discrimination de personne ou de groupe\\  La licence ne doit discriminer aucune personne ou groupe de personnes.
  - Aucune discrimination de champ d'application\\  La licence ne doit pas défendre d'utiliser le logiciel dans un champ d'application particulier. Par exemple, elle ne doit pas défendre l'utilisation du logiciel dans une entreprise ou pour la recherche génétique.
  - Distribution de licence\\  Les droits attachés au programme doivent s'appliquer à tous ceux à qui il est distribué sans obligation pour aucune de ces parties de se conformer à une autre licence.
  - La licence ne doit pas être spécifique à un produit\\  Les droits attachés au programme ne doivent pas dépendre du fait que le programme fait partie d'un logiciel en particulier. Si le programme est séparé du logiciel dans lequel il est intégré, et utilisé ou distribué selon les termes de la licence, toutes les parties à qui le programme est redistribué doivent avoir les mêmes droits que ceux accordés avec le logiciel dans lequel il est intégré à l'origine.
  - La licence ne doit pas imposer de restrictions sur d'autres logiciels\\  La licence ne doit pas imposer de restrictions sur d'autres logiciels distribués avec le programme sous licence. Par exemple, la licence ne doit pas exiger que les autres programmes distribués sur le même support physique soient aussi des logiciels libres..
Dernière modification : 16/03/2003 16:28