Top
logo wordpress

Pourquoi choisir un logiciel libre ?

Aux prémices du monde informatique, le logiciel apparaissait comme une solution permettant de vendre le matériel informatique onéreux. L’évolution du monde informatique était basée sur les échanges de code sources et de logiciels qui étaient encore fréquent à l’époque ainsi que sur le partage d’informations. Cet échange était facilité par le flou concernant l’application des droits d’auteurs aux logiciels.

Cependant, deux évènements majeurs à la fin des années 1970 vont grandement limiter les échanges d’informations :

– L’application des droits d’auteurs sur les logiciels, qui sont désormais vendus et facturés séparément du matériel.
– La miniaturisation du matériel informatique et la baisse des coûts de productions permettant l’avènement de la micro-informatique et son accès au plus grand monde.

Les sociétés d’éditions de logiciels et les constructeurs informatiques avaient décidé de suivre une stratégie qui avait pour but de limiter l’accès aux codes sources du logiciels (et de sa copie). Cette stratégie explique les deux événements importants cités au-dessus. Tout ceci avait pour objectif de rendre dépendant les utilisateurs des services de ces sociétés.
Les années 70 ont donc grandement favorisées le développement du logiciel propriétaire, jusqu’au début du logiciel libre dans les années 80.

Informatique & logiciel libre

En 1984, Richard Stallman a créé le projet GNU.

Ce projet informatique avait pour principal objectif de créer un système d’exploitation dont l’ensemble des composants serait gratuit et accessible à tous.
Les bases de l’informatique libre ont été créées lors de la création de ce projet. Le projet GNU devait avoir pour but de concurrencer et empêcher les logiciels propriétaires de se répandre.Le système d’exploitation multitâche et multiutilisateur UNIX (crée en 1969) a été la principale inspiration du projet GNU.

Logiciel libre projet GNU

Le logiciel libre possède une licence libre et permet à tous les utilisateurs, un certain nombre de libertés. Il existe quatre libertés :

Définition des libertés accordées par un logiciel libre donnée par la FSF :

  • La liberté d’exécuter le programme, pour tous les usages.
  • La liberté d’étudier le fonctionnement du programme et de le modifier pour qu’il effectue vos tâches informatiques comme vous le souhaitez. L’accès au code source est une condition nécessaire.
  • La liberté de redistribuer des copies, donc d’aider votre voisin. * La liberté de distribuer aux autres des copies de vos versions modifiées. En faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements.
  • L’ensemble des logiciels libres sont open source car l’utilisateur peut avoir accès à l’ensemble des codes sources du logiciel. De nombreux logiciels libres sont partagés gratuitement.

L’entente communautaire est la base du développement d’un logiciel libre.

Cette entente est le fruit de la création d’une communauté qui contient des entreprises, des associations ou particuliers. Cette communauté peut proposer ses améliorations ou idées de modification du logiciel. Le logiciel est considéré comme étant libre à la seule condition où une licence qui protège les quatre libertés de la Free Software Foundation lui est appliquée.

La plus célèbre des licences libres est la licence GNU GPL (General Public) qui a vu le jour grâce à Richard Stallman en 1989 pour le projet GNU.
Le principe copyleft est l’élément central de cette licence. Cette notion impose qu’un travail soumis aux droits d’auteurs puisse être utilisé, modifié et copié sans restriction, et ce sous forme « héréditaire », sans le sens où un travail résultant de la modification d’un projet original soumis au copyleft est lui aussi soumis au copyleft.

Ainsi, le copyleft permet d’assurer la pérennité des logiciels libres sous licence GPL en ne permettant pas l’ajout de restriction à ce logiciel :

« C’est ainsi que les libertés cruciales qui définissent le logiciel libre sont garanties pour quiconque en possède une copie. Elles deviennent des droits inaliénables. » Richard Stallman.

Des licences libres n’intégrant pas la notion de copyleft existent également, la plus connue étant la licence BSD (pour Berkeley Software Distribution) créée en 1998 permettant de réutiliser l’ensemble ou une partie d’un logiciel libre ou propriétaire. Cette licence ne protège pas le logiciel contre l’ajout des restrictions, et, contrairement à une licence GPL, la licence BSD permet de redistribuer un logiciel libre en tant que logiciel non libre en autorisant à tout modificateur le droit de changer la licence s’appliquant au logiciel. Cette licence est par exemple utilisée par le système de gestion de base de données PostgreSQL.
Les licences non libres permettent aux éditeurs de logiciel du monde propriétaires d’appliquer légalement des restrictions dans l’utilisation ou la modification de leur logiciel.

Ainsi, l’éditeur possède un contrôle total sur son logiciel. Pour limiter les possibilités de modification d’un logiciel libre, les éditeurs profitent de l’utilisation du compilateur, leur permettant de fournir un logiciel fonctionnel sans avoir à partager ses codes sources.

Le compilateur est un programme qui transforme le code source en langage de plus bas niveau uniquement interprétable par la machine. Ainsi, la vente du logiciel ne réside plus que dans l’autorisation à un droit d’utilisation du logiciel et non plus à la cession de la propriété de ce logiciel. L’auteur du logiciel possède ainsi le contrôle total sur la distribution, l’évolution, l’utilisation et le support de son logiciel. En l’absence de diffusion du code source, l’ensemble des spécificités du logiciel restent secrètes et offrent un avantage certain à l’éditeur sur l’ensemble de ses concurrents potentiels. Il existe cependant des techniques permettant une forme de décompilation du code mais elles sont complexes et les licences qui s’appliquent à la majorité des logiciels propriétaires interdisent formellement leur utilisation.

WordPress CMS libre

Informatique & logiciel propriétaire

La façon de penser de l’informatique propriétaire est radicalement opposée à celle de l’informatique libre. L’informatique propriétaire a vu le jour lors des années 1970 par l’application des droits d’auteur au logiciel ainsi que par la vente de ceux-ci de manière séparée du matériel informatique.

De plus le compilateur est apparu, permettant aux éditeurs de logiciels d’interdire l’accès au code source. De nombreuses restrictions sont donc apparues autour des différents logiciels propriétaires. De cette manière, il est devenu impossible (voir interdit !), d’analyser, d’améliorer, de partager ou de modifier les logiciels propriétaires, qui sont majoritairement payants.

Toutes ces mesures et ces restrictions permettent aux éditeurs de protéger leurs logiciels mais empêchent la possibilité d’améliorer ou d’adapter selon les besoins de l’utilisateur, qui devient peu à peu dépendant de l’éditeur.

Pour conclure, le logiciel propriétaire est donc un logiciel dont la protection est assurée par les droits d’auteur et auquel s’applique les restrictions suivantes :

Dans la plupart des cas : achat du logiciel

  • Acceptation obligatoire d’une licence pour utiliser le logiciel.
  • Restriction voir interdiction sur la copie et/ou l’usage du logiciel.
  • Le code source du logiciel n’est pas accessible. Il faut l’accord de l’éditeur pour y avoir accès et ainsi pouvoir le distribuer ou le modifier.
  • Le support et les mises à jour du logiciel sont réalisés uniquement par l’auteur.

Différences de philosophie

La philosophie entre logiciel libre et logiciel propriétaire est très différente. Le logiciel libre est créé dans le but de partager et de diffuser des informations. Le code source disponible par tous afin de permettre à n’importe qui d’apporter des conseils ou des modifications au logiciel. Pour l’informatique libre, son gros point fort est sa forte communauté et cette envie de partager et de s’entraider.
Ainsi, le monde libre et sa notion de partage nous rappelle les sciences et les mathématiques. En effet, le logiciel libre s’apparente à une formule mathématique qui serait utilisable par tous et dont chaque utilisateur aurait la possibilité de réaliser la démonstration. Voilà pourquoi l’ensemble du monde informatique qui était composé de recherches scientifiques se partageait les informations découvertes. L’informatique était vue comme une science.

Cette façon de penser est l’opposé de celle du monde propriétaire qui a décidé d’adopter une stratégie basée sur le secret.
En effet, dans le monde propriétaire pour plus de sécurité le code source est caché afin de ne pas être reproduit et ainsi ne pas être copier par la concurrence.
Le monde propriétaire justifie cela par le droit à la propriété intellectuelle, basant les revenus sur la vente des droits d’utilisation du logiciel.

Analyse du code source

Les approches sécuritaires des deux mondes

La sécurité dans le monde propriétaire

Dans le monde de l’informatique propriétaire, les éditeurs n’hésitent pas à dépenser de grosses sommes afin de sécuriser leur logiciel contre le piratage et la copie. Ainsi, de nombreux mécanismes de sécurité sont mis en place afin de garantir le meilleur niveau de protection possible. Plusieurs méthodes existent mais beaucoup d’éditeurs basent leur stratégie de sécurité en masquant le code.

La non divulgation du code source

La majorité des logiciels propriétaires sont développés avec des langages compilés. Le compilateur permet aux éditeurs de distribuer leur logiciel sans avoir à fournir le code source qui a été utilisé avant la compilation.

Sécurité par l’obscurité

Étant donné que les codes sources des logiciels propriétaires sont impossibles à voir par les utilisateurs, cela constitue une sécurité supplémentaire contre les hackers qui utilisent l’exploitation de faille de sécurité. En effet, il est plus difficile de repérer une faille sans pouvoir lire le code.
Les éditeurs de logiciels propriétaires mettent en place d’autres méthodes pour compléter cette sécurité par l’obscurité afin de mieux sécuriser leur logiciel :

Protection anti-debugging :

Cette méthode permet d’empêcher d’éventuels hackers de désassembler le code. Il existe plusieurs techniques de protection anti-debugging.

Chiffrement du programme :

Le chiffrement du programme (protection par code checksum) permet de vérifier que le code n’a subi aucune modification.

Exécution de code distant :

Cette technique vise à télécharger une partie du programme à chaque fois que celui est exécuté, il est cependant nécessaire de posséder un accès internet. L’exécution du code disant est une technique qui est basée sur le téléchargement d’une petite partie du programme à chaque utilisation. Le gros défaut de cette technique est qu’il est impératif d’être connecté à internet.

Obfuscation du code :

Cette technique vise ajouter des fonctions inutiles, des commentaires ou autres informations inutiles afin de rendre le code plus compliqué à comprendre afin de rendre la tâche plus difficile aux hackers.

La sécurité dans le monde libre

Tous les logiciels libres sont open source (contrairement aux logiciels propriétaires). Le fait que le code soit accessible à tous est justement la base de la sécurité dans le monde libre. La sécurité du logiciel libre est principalement basée sur le concept d’ouverture.
Le fait que le code source soit libre d’accès, peut permettre aux pirates informatiques de mieux trouver les failles du logiciel car ils ont accès à la totalité du code.

Cependant, la publication du code source permet également à toute personne le désirant, de rechercher les failles de sécurité et de les corriger.
Étant donné que le code est accessible publiquement, un nombre important de développeurs (ou non) peuvent le lire et l’analyser. Ainsi plus un logiciel est connu et donc consulté, plus ces failles de sécurité sont identifiées rapidement.
Les failles de sécurité sont généralement corrigées de manière plus rapide pour les logiciels libres que celles des logiciels propriétaires ou les éditeurs préfèrent souvent attendre la sortie d’une nouvelle version de leur logiciel pour corriger ces failles. Une nouvelle version étant souvent synonyme de nouvelle licence à payer, les éditeurs des logiciels sortent des « patchs » ou des « correctifs» payants pour engendrer des revenus.

Pour aller plus loin

Je vous conseille de visiter ces quelques liens pour en apprendre plus sur le logiciel libre :

Gnu.org 

Aful.org 

Framasoft.org

Je vous conseille également de visionner cette vidéo de Richard Stallman

Cet article a été mis à jour le 05/05/2016

 

Share
No Comments

Post a Comment