Tous les travaux payés absorbent et dégradent l'esprit Aristote

Logo Open Source

Open Source Software : logiciel libre.

Besoin

Diminuer les contraintes de diffusion, utilisation, modification d'un logiciel.

Analyse

Les logiciels libres (Open Source) ne signifient pas seulement un libre accès au code source. Ils sont accompagnés d'une licence offrant plus ou moins de liberté d'utilisation, de diffusion et de modification du logiciel.

La démarche OSS vise à fournir une réponse à un besoin au moindre coût, et de la meilleure qualité possible. Ceci est rendu possible par la dilution de l'effort de développement dans la communauté publique et par l'utilisation de standards (J2EE, Servlets/JSP, EJB, etc.) adoptés par tous. Le support est assuré par la communauté des contributeurs/utilisateurs elle-même, au travers de groupes de discussions (newsgroups) publics.

Exemples

Des exemples de produits OSS (principalement Java) sont :

Type de produit Module Produit Licence Commentaire
OS GNU (noyau Linux) GPL
Web Serveur HTTP server Apache
Client (Navigateur)

Amaya Navigateur/Editeur du W3C
Jazilla MPL
Mozilla Navigator MPL
Framework Struts Apache
Expresso Expresso, Apache style
Barracuda EPL
Tapestry LGPL
PHP
JetSpeed Apache Framework Java de portails, candidat au standard
Editeur Amaya Navigateur/Editeur du W3C
Mozilla Composer MPL
J2EE Serveur Orcas LGPL Intègre le conteneur EJB JonAS
Enhydra
JBoss LGPL
Conteneur EJB OpenEJB
JonAS
Conteneur / serveur Web Jetty Servlets/JSP et serveur Web
JServ Apache
Tomcat Apache
JMS JORAM
JTA JOTM
JDBC RmiJdbc Pilote type 3
Persistance SGBDR FireBird Version OSS de Borland Interbase
MySQL GPL
PostgreSQL BSD
SAP DB GPL
InstantDB Lutris
Framework OJB Apache ObjectBridge de Jakarta (Apache). ODMG, JDO.
TJDO Apache JDO
Torque Apache Apache DB
Hibernate LGPL
Castor BSD-like
ORB Jonathan GPL RMI ou CORBA
CORBA CCM OpenCCM
Workflow Framework OBE Apache
NGin
WFTK GPL
Gestion de la connaissance (KM) JSPWiki LGPL Wiki Wiki Web en Java
Compilation Framework ANTLR Domaine public Another Tool for Language Recognition, ex-PCCTS, équivalent Java de Lexx+Yacc
Rapports DataVision
Courrier / groupes de discussion Client Mozilla Mail & Newsgroups MPL
Serveur James Apache
Développement Gestion de projet GanttProject GPL Editeur de diagramme de Gantt
FUTURe GPL Planification (todo lists, diagrammes de Gantt, journaux, diagrammes PERT)
Track+ GPL WebApp de suivi de problèmes, tâches, appels de support, bugs, risques, besoins, etc.
XPlanner GPL Outil de planification et de suivi pour les équipes XP
Conception Argo UML BSD
IDE Eclipse CPL
NetBeans SPL ex-Forte for Java
JEdit GPL
Build (make) Ant Apache Semblable à Make, mais plus portable et extensible.
gnumake GPL make
Client SQL SQuirreL LGPL Client JDBC
Qualité JDepend BSD Audit de sources Java
PMD Audit de sources Java (variables inutilisées, blocs catch vides, paramètres inutilisés, "if" vides, imports dupliqués, méthodes privées inutilisées, singletons potentiels, noms de variables et de méthodes). Plugins pour JEdit, JBuilder, NetBeans/Sun ONE Studio, IntelliJ IDEA, Maven, Ant, Eclipse, Gel et Emacs. Tache Ant.
FindBugs LGPL
VCS jCVS GPL CVS
Compilateur Jikes IBM
gcc GPL C et C++
Optimiseurs (profilers) Contention Profiler
EJP
JMP
JRat
RevJava
Test JUnit IBM CPM Tests unitaires
JFunc CPL Tests fonctionnels/d'intégration
JMeter Apache Tests de charge/performance
XML NanoXML ZLib/LibPNG Parseur XML très léger (jusqu'à 6 Ko)
Sécurité Cryptographie

GNU Crypto

GNU

Legion of the Bouncy Castle

Domaine public JCE/JCA + librarie pour lire et écrire des objets codés ASN.1, générateurs de certificats X.509 v1 et v3 et PKCS12, S/MIME et CMS (PKCS7), OCSP (RFC 2560), OpenPGP (RFC 2440).
Installeurs IzPack
Trace (log) Log4J Apache
Lumberjack GPL
FTP Serveur Java FTP Server
Client JFTP
Astronomie Simulation Celestia GPL C++. Système solaire et voisinage en OpenGL. OpenUniverse a décidé de soutenir Celestia plutôt que de continuer un logiciel "concurrent".
Stellarium GPL C, C++. Plus spécialisé dans les vues réalistes depuis la Terre. Frenchy :)
Graphisme OpenGL JOGL BSD Implémentation de référence du portage Java de l'API OpenGL
Vectoriel Batik Apache Implémentation SVG
CSIRO SVG Toolkit Implémentation SVG
Graphiques JCCKit LGPL Compatible AWT (Java 1.1) et Java2D (Java 1.2+)
Edition/rendu de scènes 3D Art Of Illusion GPL Equivalent de logiciels du type 3DStudio
Bureautique Editeur texte JEdit GPL Orienté développeurs
Calcul Mathématiques Commons Math Apache Statistiques, distributions de probabilité, racines et interpolation, génération de données aléatoires, fonctions spéciales (Gamma, Beta), matrices et résolution de systèmes linéaires

Outre ces produits, des exemples d'utilisation de l'OS sont :

  • l'armée française, qui choisit Linux pour la publication de ses sources.
  • un fournisseur de la défense américaine qui indique que l'Open Source est largement utilisé et utile pour le DoD

Notes

  • moindre coût
    • de développement
      • par la réutilisation des évolutions apportées par les autres développeurs.
      • par la gratuité d'utilisation de beaucoup de logiciels OS. Cependant ce n'est pas toujours le cas, et quelques rares produits restent payants tout en publiant leur code source. Ils font alors payer d'autres éléments du produit (la documentation de JBoss par exemple ) ou des services sur les produits (conseil de Libelis par exemple).
    • de maintenance, le code étant maintenu par la communauté des développeurs.
  • meilleure fiabilité, en raison de la détection et la correction rapide des failles par la grande communauté publique des développeurs.
    • meilleure sécurité :
      • le garant d'une confidentialité n'est pas un code obscur mais la taille de la clé de cryptage. Aujourd'hui les messages les plus confidentiels sont échangés cryptés à l'aide l'algorithmes publics et connus de tous (RSA, etc.) avec une clé rendant le déchiffrage, non pas impossible, mais trop long à réaliser (128 bits ou plus). En fait bien au contraire donc, un code Open Source est plus sûr car la qualité de son algorithme est validée par la large communauté d'experts développeurs, et ses éventuelles failles seront d'autant plus rapidement corrigées (et non dissimulée par un société commerciale par exemple).
      • le code source étabt accessible, on peut contrôler qu'il n'effectue pas d'actions interdites (évite les chevaux de Troie).
  • moindre risque : l'accès au code source peut être un élément rassurant en terme de réactivité aux problèmes rencontrés et .d'évolutivité (à défaut d'un produit ou d'un support satisfaisant, on peut construire sa propre solution sur une base OSS existante).
  • Tous les logiciels OSS ne sont pas gratuits (cela dépend de leur licence).

Voir