Logiciels Libres Quoi? Quand? Qui? Où? Comment? Pourquoi? (par ) Etude de cas : BASIS et l'interopérabilité (par Frédéric Riondet - ENSSIB)
Introduction «Framasoft.net est un site internet collaboratif à géométrie variable dont le sujet est le logiciel libre et son état d'esprit» Annuaire de 1 200 notices de logiciels libres Tutoriels libre-diffusion (100) Tribune libre (215) Association (FRAnçais et MAthématiques sur intranet) Communauté «Utilis'acteurs» Orientation Grand public Site en perpétuelle évolution
Logiciel libre C'est quoi?
Logiciel et recette de cuisine Programme et recette de cuisine Programme = recette exécutable = plat cuisiné Imaginez un monde... où les crêpes ne sont disponibles que toutes prêtes où la recette n'est pas disponible où il ne viendrait à personne l'idée d'avoir la recette Ce monde existe : le monde du logiciel depuis le début des années 80
Le monde des crêpes libres Liberté de lire, comprendre la recette des crêpes et de les cuisiner Liberté de donner à ses amis des crêpes fabriquées avec cette recette Liberté de modifier la recette des crêpes Liberté de distribuer la recette modifiée des crêpes
Quelles libertés? Quatre libertés : Liberté d'utilisation d'un programme Liberté d'étudier le fonctionnement d'un programme Liberté de modifier un programme Liberté de distribuer un programme
Logiciel propriétaire Liberté d'utilisation d'un programme : oui, sous conditions Liberté d'étudier un programme : non Liberté de modification d'un programme : non Liberté de distribution d'un programme : non = Location
Une philosophie bien connue Liberté, Égalité, Fraternité Liberté: d'utiliser, de faire des copies, des améliorations, de les diffuser Égalité : même droits pour tous Fraternité : coopération de tous, pour construire quelque chose ensemble Le logiciel libre n'est pas qu'une question de technique ou de licence
Principe fondateur : la coopération «Si tu as une pomme, que j ai une pomme, et que l on échange nos pommes, nous aurons chacun une pomme. Mais si tu as une idée, que j ai une idée et que l on échange nos idées, nous aurons chacun deux idées.», Georges Bernard Shaw
Evitons les abus de langages libre domaine public (utilisable sans contrainte) libre gratuit, freeware (graticiel) libre shareware (partagiciel) propriétaire commercial libre s'oppose à propriétaire libre code source
Désignations utilisées Logiciel Libre, Free Software Open Source Software Libre Software Software Libero (italien), Software Livre (portugais), Freie Software (allemand), etc. Free and Open Source Software (FOSS) Free, Libre and Open Source Software (FLOSS)
Logiciel libre Quand?
Historique Génèse : L'imprimante, le Finlandais et les manchots Evolutions : Le libre au-delà du logiciel (images, musique, wikipedia, etc = Free culture ) Copyleft, Creative Commons, Brevets, DRM
Logiciel libre Qui?
Qui? Développeurs De l'amateur au professionnel Entreprises et institutions Services Utilisateurs Vous!
Logiciel libre Où?
Où? Une journée sans logiciel libre Champs d'applications Où trouver des logiciels libres?
Logiciel libre Comment?
Comment? La jungle des licences
Logiciel libre Pourquoi utiliser des logiciels libres?
Qualités éthiques Liberté, égalité, fraternité Entraide, diffusion et partage de la connaissance Transparence Des outils disponibles pour tous Personne ne vous retire votre liberté Permettent aux pays en développement de se développer mieux Défense des diversités culturelles et linguistiques Développement basé sur un besoin et non un marché
Qualités éthiques et sociales Liberté, égalité, fraternité Entraide, diffusion et partage de la connaissance Transparence Des outils disponibles pour tous Personne ne vous retire votre liberté Permettent aux pays en développement de se développer mieux Défense des diversités culturelles et linguistiques Développement basé sur un besoin et non un marché
Qualités techniques Code ouvert : Pérennité des solutions : maîtrise du code source et de son évolution Sureté : code examiné à la loupe, bogues rapidement identifiés (non cachés) et corrigés, condition nécessaire à la sécurité Souplesse : adaptation à des besoins particuliers (en interne ou par des tiers) Faible coût, bénéficier du travail déjà fait Format ouvert Maîtrise et conservation de ses données (archivage) Echanges, collaboration (interopérabilité) Multi-plateforme, portabilité (indépendance)
L interopérabilité SQL Catalogue «BASIS» Le métamoteur doit interroger Basis, une base propriétaire : son langage d interrogation est le SQL. Il attend en retour une notice avec 15 champs (DC) au format XML Métamoteur Notice Dublin Core XML
? Langage propriétaire SQL Catalogue «BASIS» Problème 1 : Basis ne connaît pas le SQL. Son langage d interrogation et de manipulation des données est un langage propriétaire dérivé du SQL. Les deux logiciels ne se comprennent pas. Métamoteur Notice Dublin Core XML
Langage propriétaire API : Programme de traduction SQL Catalogue «BASIS» Solution proposée : un programme d interface entre applications (API). Dans notre cas, il s agit d un programme qui va traduire le SQL en langage proriétaire. L éditeur du logiciel «Basis» refuse de donner la syntaxe de son langage et demande à être le développeur exclusif du driver : il le fera payer et en conservera les droits pour pouvoir le revendre à d autres clients par la suite Métamoteur Notice Dublin Core XML
Langage propriétaire API : Programme de traduction SQL Catalogue «BASIS» Problème 2 : la notice «Basis» ne correspond pas du tout à une notice classique DC. Il va falloir faire le tris des informations qui se trouvent dans la notice «Basis» et la réorganiser. Certaines informations ne se trouvent pas dans la notice mais dans des espaces «particulier» de la base de donnée. Il faudra aller les chercher pour les afficher. Métamoteur Notice BASIS? Notice Dublin Core XML
Langage propriétaire API : Programme de traduction SQL Catalogue «BASIS» Problème 2 : Il faut donc créer un filtre pour ne retenir que les données correspondant au DC et réorganiser la notice «Basis». Les informations manquantes sont récupérées dans d autres tables de la base qui ne sont pas habituellement requêtées. La société qui édite le logiciel s impose pour développer ce filtre cas il ne veulent pas dévoiler l architecture de leur base. Il faudra aussi créer un programme de balisage XML Métamoteur Notice BASIS Filtre DC XML Notice Dublin Core XML
De nombreux connecteurs à développer : Problème 3 : ce connecteur n est pas le seul, il y en a bien d autres à développer, avec toujours les mêmes problèmes. Pour chaque connecteur, il faut payer des développement qui peuvent être très coûteux (parfois plusieurs semaines de développement) Métamoteur Base de Gestion Catalogue «BASIS» A-to-Z Résolveur de lien Le prix ne devient-il pas excessif par rapport au service rendu à l usager? Quelle est la pérennité d une telle intégration?
Les versions Le «versionning», une méthode pour pousser l usager à changer d outil Évolution de l environnement : Rend obsolète le logiciel Augmente le nombre d incompatibilité Arrêt de maintenance : Plus de mise à jour Bloque les réparations en cas de panne Le code source n est toujours pas dévoilé = Baisse l espérance de vie : Les connexions développées ne seront peut-être plus d actualité avec la prochaine version du logiciel Une nouvelle version du logiciel devra être tôt ou tard redéployée
Les Licences C est le droit d utiliser le logiciel : Pour de multiples raisons, le constructeur du logiciel peut décider de renégocier les licences ou demander d en acheter de nouvelles Augmenter le nombre d utilisateur Dupliquer les données Rendres les données accessibles différemment Changer de serveur Changer de situation géographique = On perd le droit d utiliser le logiciel selon ses besoins
Quelques applications Les SIGB & co : Koha, PMB, NotiX, Ejournals, TomAcq La GED : Maarch, Honolulu Les CMS : 700 environs (SPIP, Drupal, Typo3, Plone, Joomla ) Les +: PMB/SPIP
Ressources SIGB Compubib http://compubib.enssib.fr/ FreeBiblio http://www.freebiblio.info/ JC Blog http://www.houpier.fr/ Groupe de réflexion sur les SIGB libres http://www.sigb-libres.info/
Où les trouver? Ressources généralistes: Framasoft : http://www.framasoft.net/ Wikipedia : http://fr.wikipedia.org/wiki/portail:logiciels_libres Sourceforge : http://www.sourceforge.net/ Philosophie : ARIL : http://www.april.org/ AFUL : http://www.aful.org/ Formats-ouverts : http://formats-ouverts.org/ Libroscope : http://www.libroscope.org/ Free Software Foundation : http://www.fsf.org/
Quels logiciels? Navigateur web : Firefox Logiciel de courriel : Thunderbird Suite bureautique : OpenOffice.org Graphisme : Gimp, Blender Multimédia : VideoLan, Audacity GNU/Linux (Mandriva, Ubuntu, Debian, etc.)...
Crédits et licences Cette présentation est placée sous licence GFDL Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les termes de la Licence GNU Free Documentation License, Version 1.1 ou ultérieure publiée par la Free Software Foundation ; sans section inaltérable, sans texte de première page de couverture, et sans texte de dernière page de couverture. Le texte de la GNU Free Documentation Licence est disponible à l'url suivante : http://www.gnu.org/copyleft/fdl.html Crédits : «Logiciels libres : la liberté de choix est un enjeu de société» : Frédéric Couchet, Délégué général APRIL Licence GFDL - http://www.april.org/
Logiciel libre Questions? pyg@framasoft.net