10 questions à se poser avant de sélectionner un logiciel libre ou open source

closeCet article a été publié il y a 13 ans 2 mois 30 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Faire un choix entre plusieurs logiciels libres ou open source ne se fait pas sans se poser un certain nombre de questions. N’oubliez cependant pas préalablement à ces questions de vérifier que les logiciels répondent à votre besoin

1 : Est-ce que les termes de la licence du logiciel sont compatibles avec le modèle économique d’entreprise que j’ai choisi ?

Choisir d’utiliser des logiciels sous licence libre ne signifie pas que je peux faire ce que je veux avec ces derniers. Ils sont soumis à des règles qui définissent précisément les limites de leur utilisation. Ils impliquent notamment de respecter les quatre libertés qui sont celles d’utiliser, d’étudier, de redistribuer et d’améliorer.

Mais ces licences peuvent se révéler incompatibles avec certains modèles économiques d’entreprises. Par exemple, la licence GPL implique que les améliorations apportées au logiciel  et les travaux dérivés que vous pourriez être amené à réaliser soient distribués sous les mêmes termes.

La plupart du temps cela ne représente pas une difficulté sauf si vous souhaitez l’intégrer dans un logiciel qui sera lui distribué sous une licence propriétaire. Dans ce dernier cas, il faudra se tourner vers des licences plus « permissives » comme les licences BSD ou CeCILL par exemple. Certains éditeurs vendent également leurs logiciels sous une double licence : une licence libre de type GPL et une licence « commercial » autorisant l’intégration du même logiciel dans une solution propriétaire.

2. Quelle est l’importance de la communauté

Les communautés d’utilisateurs et de contributeurs sont une particularité des logiciels libres. La capacité pour les utilisateurs d’intervenir sur le code source du logiciel permet leur existence. Selon les origines du logiciel, ces communautés seront plus ou moins développées, plus ou moins actives.

Ce point est d’importance notamment dans le cas des logiciels libres édités par des sociétés commerciales. Une communauté trop faible ou inexistante peut-être vu comme un signal négatif. L’avenir et l’évolution dépendant uniquement de l’entreprise qui le produit. Si celle-ci connaît des difficultés ou est rachetée, c’est la pérennité de la solution qui peut -être menacé.

3. Est-ce que le logiciel est beaucoup utilisé ?

Une question qui n’est pas spécifique aux logiciels libres. Selon les besoins l’importance du nombre d’utilisateurs peut-être trompeuse. Parfois certains logiciels présentent des fonctionnalités très particulières qui ne concernent que peu d’utilisateurs. Ce qui cependant ne signifie pas qu’il n’a pas d’intérêt.

Il n’en reste cependant pas moins vrai que l’existence d’un nombre important d’utilisateurs sera un critère permettant de se rassurer quant à la qualité du logiciel et à sa pertinence par rapport à votre besoin. D’autant plus si vous trouvez parmi ces utilisateurs des entreprises du même secteur d’activité que le votre.

Il ne faut donc pas hésiter à parcourir les forums, s’inscrire aux listes de diffusion ou encore pour les plus geek au canaux IRC des équipes de développement.

4.Puis-je bénéficier d’une garantie ou d’un support ?

Pour une entreprise  l’existence d’un support offrant des garanties d’assistance en cas de dysfonctionnement d’un logiciel est quasiment indispensable. On pourra éventuellement s’en passer sur certains logiciels d’infrastructure et encore à condition d’en maîtriser au moins l’usage et la configuration. Ces supports existent en général y compris pour les logiciels libres issus de développement communautaire.

Ce sont souvent des sociétés de services en logiciels libres (SSLL) qui vont proposer ce type de service. Elles disposent en interne de personnes à même de diagnostiquer le problème, éventuellement de le corriger et surtout de remonter le problème à la communauté. Dans l’intervalle le prestataire pourra vous livrer une version qu’il aura corrigée du logiciel et faire remonter la correction à la communauté qui l’intégrera dans les version futures.

5. Existe-t-il un processus d’assurance qualité ?

On lit parfois que logiciel libre est égale à logiciel de qualité. L’affirmation est un peu rapide et malheureusement ce n’est pas toujours le cas. L’ouverture du code, si elle permet un audit facilité du logiciel et de la façon dont il a été développé ne veut pas dire que ce logiciel est issue d’un processus qualité visant à éliminer un maximum de défaut.

Cependant, la plupart des grands projets de logiciels libres ont un niveau de maturité élevé en terme de processus qualité.

6. Comment est la documentation ?

Celle-ci peut être peu développée. Les développeurs de logiciels libres se focalisent parfois sur le code au détriment de la documentation utilisateur. Ce qui amène certains projets à avoir des équipes dédiées à la documentation.

Les documentations sont souvent mises à disposition sous forme de pages HTML ou encore de wiki. Le wiki permet notamment de faciliter le travail collaboratif afin d’améliorer et compléter la documentation.

Certains éditeurs commerciaux ne fournissent une documentation détaillée qu’aux clients qui leur achètent du support. La documentation disponible par défaut est alors celle réalisée par la communauté. Cette documentation communautaire peut donc être un critère d’évaluation important selon sa complétude.

7. Le système peut-il être facilement modifié pour répondre à mes exigences ?

L’ouverture du code permet d’adapter le logiciel à ces besoins. Il faut alors porter attention à l’architecture du logiciel et à l’existence de « portes » permettant d’intégrer de nouvelles fonctionnalités sans devoir toucher au coeur du logiciel. Dans ce dernier cas et s’il n’est pas possible de faire autrement,  il faut s’assurer que ces modifications puissent être intégrées au logiciel par la suite afin de pouvoir suivre les évolutions futures de celui-ci. L’avantage de pouvoir reverser du code que l’on a développé pour un logiciel libre est de voir ce code maintenu ensuite par la communauté.

Ces développements peuvent être assurés par une société de services en logiciel libre. Il faut cependant vérifier l’existence de plusieurs prestataires possibles afin d’éviter de se retrouver lié à un unique fournisseur et par là même de se trouver privé d’un avantage important : l’indépendance.

8. Quelle est la gouvernance du projet et comment puis-je influencer la road map ?

Il existe différents modèles autour du logiciel libre et tous ne sont pas égaux sur ce point-là. Certains projets sont conduits par des éditeurs commerciaux qui peuvent adopter une attitude très fermée quant à la participation des utilisateurs dans le processus d’amélioration et d’évolution du logiciel.

On préfèrera donc les projets mettant en oeuvre une gouvernance impliquant l’ensemble des membres de la communauté (développeurs, rédacteur de documentation, testeur, utilisateurs, etc…) et agissant en toute transparence.

9. Le logiciel peut-il évoluer face aux exigences de mon entreprise ?

Une entreprise peut avoir à connaître des phases de croissance extrêmement rapide. Dans ce cas, il est important de s’assurer que le logiciel saura prendre en compte une montée en charge rapide et des volumes de données toujours plus importants.

A ce jour les « piles logiciels » les plus répandues comme LAMP (Linux/Apache/MySQL/PHP) ou Java EE (Java Enterprise Edition) sont particulièrement évolutives dans leur capacité à monter en charge.

10. Des mises à jour de sécurité sont-elles régulièrement diffusées ?

Comme toujours la réactivité face à une faille de sécurité est primordiale pour certaines applications critiques. Il est donc important de s’attarder un moment sur l’historique des versions du logiciel et d’étudier la façon et le rythme auquel sont publié les mises à jour dites de sécurité, voir si elles sont identifiées en tant que telle.

Certains projets ont même des équipes dédiées à cet aspect. C’est particulièrement important pour les logiciels d’infrastructure.

Conclusion

Comme souvent tous ces points ne sont pas forcément spécifiques aux logiciels libres, mais ils méritent tous d’être étudiés en détail. N’hésitez pas à laisser en commentaire vos remarques quant à ces questions ou à d’autres qu’il conviendrait de se poser.

[Source d’inspiration]

Crédit photo page d’accueil Certains droits réservés par milos milosevic

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

4 réponses

  1. pyg dit :

    Simple, court, efficace. Un excellent mémo 🙂
    Merci Philippe !

  2. David dit :

    Bravo pour cet excellent article… Merci 🙂

  3. manu dit :

    Très utile, merci !

    Je ne résiste tout de même pas à la tentation de réagir à la 3ème question : « Est-ce que le logiciel est beaucoup utilisé ? », et l’assertion : « Il n’en reste cependant pas moins vrai que l’existence d’un nombre important d’utilisateurs sera un critère permettant de se rassurer quant à la qualité du logiciel et à sa pertinence par rapport à votre besoin. »

    On pense tout de suite à Windows !! ;o)))

  1. 9 décembre 2010

    […] This post was mentioned on Twitter by Philippe Scoffoni and Gautier DOUBLET, FOSSwiki. FOSSwiki said: Chez Philippe : 10 #questions à se poser avant de sélectionner un #logiciel #libre ou #opensource http://bypsc.fr/0te http://bit.ly/hEERsw […]