Qu'est-ce qu'un logiciel Open Source et pourquoi est-ce important?
Les geeks décrivent souvent les programmes comme étant des logiciels «open source» ou «logiciels libres». Si vous vous demandez exactement ce que signifient ces termes et pourquoi ils sont importants, lisez la suite. (Non, le «logiciel libre» ne signifie pas seulement que vous pouvez le télécharger gratuitement.)
Qu'un programme soit open-source ou non ne compte pas uniquement pour les développeurs, il compte également pour les utilisateurs. Les licences de logiciel à code source ouvert offrent aux utilisateurs des libertés qu’ils n’auraient pas autrement.
Crédit d'image: Quinn Dombrowski sur Flickr
La définition de l'open source
Si un programme est open-source, son code source est librement disponible pour ses utilisateurs. Ses utilisateurs - et tous les autres utilisateurs - ont la possibilité d’extraire ce code source, de le modifier et de distribuer leurs propres versions du programme. Les utilisateurs ont également la possibilité de distribuer autant de copies du programme original qu'ils le souhaitent. Tout le monde peut utiliser le programme pour n'importe quel but. il n'y a pas de frais de licence ou d'autres restrictions sur le logiciel. L'OSI a une définition plus détaillée du terme «open source» sur son site web.
Par exemple, Ubuntu Linux est un système d’exploitation à source ouverte. Vous pouvez télécharger Ubuntu, créer autant de copies que vous le souhaitez et les donner à vos amis. Vous pouvez installer Ubuntu sur un nombre illimité de vos ordinateurs. Vous pouvez créer des remixes du disque d'installation Ubuntu et les distribuer. Si vous étiez particulièrement motivé, vous pouvez télécharger le code source d'un programme dans Ubuntu et le modifier, en créant votre propre version personnalisée de ce programme - ou d'Ubuntu lui-même. Les licences Open Source vous permettent toutes de le faire, tandis que les licences Open Source vous imposent des restrictions..
L'opposé des logiciels à code source ouvert est le logiciel à code source fermé, qui possède une licence qui restreint les utilisateurs et empêche le code source de les utiliser..
Firefox, Chrome, OpenOffice, Linux et Android sont des exemples populaires de logiciels à code source ouvert, tandis que Microsoft Windows est probablement le logiciel de code source le plus populaire sur le marché..
Logiciel libre vs logiciel libre
Les applications open source sont généralement disponibles gratuitement - bien que rien n'empêche le développeur de facturer des copies du logiciel si elles permettent une redistribution ultérieure de l'application et de son code source..
Cependant, ce n’est pas ce à quoi «logiciel libre» fait référence. Le terme «libre» dans le logiciel libre signifie «libre comme liberté» et non «libre comme bière». Le camp du logiciel libre, dirigé par Richard Stallman et la Free Software Foundation, est axé sur l'éthique et la morale de l'utilisation de logiciels pouvant être contrôlée et modifiée par l'utilisateur. En d’autres termes, le camp du logiciel libre se concentre sur les libertés des utilisateurs.
Richard Stallman. Image de Fripog sur Flickr.
Le mouvement des logiciels à code source ouvert a été créé pour se concentrer sur des raisons plus pragmatiques de choisir ce type de logiciel. Les défenseurs des logiciels libres voulaient se concentrer sur les avantages pratiques de l’utilisation de logiciels libres qui intéresseraient davantage les entreprises que sur l’éthique et la morale..
En fin de compte, les défenseurs du logiciel libre et du logiciel libre développent le même type de logiciel, mais ils sont en désaccord sur le message..
Types de Licences
Il existe de nombreuses licences différentes utilisées par les projets open source, selon ce que les développeurs préfèrent pour leur programme..
La GPL, ou licence publique générale GNU, est largement utilisée par de nombreux projets open source, tels que Linux. En plus de toutes les définitions ci-dessus de l'open source, les termes de la GPL précisent que, si un utilisateur modifie un programme open source et distribue un travail dérivé, il doit également distribuer le code source correspondant. En d'autres termes, personne ne peut prendre du code open-source et en créer un programme à source fermée - il doit renvoyer ses modifications à la communauté. Microsoft a qualifié la GPL de «virus» pour cette raison, car elle oblige les programmes intégrant du code GPL à publier leur propre code source. Bien entendu, les développeurs d'un programme peuvent choisir de ne pas utiliser le code GPL si cela pose un problème..
Certaines autres licences, telles que la licence BSD, imposent moins de restrictions aux développeurs. Si un programme est sous licence BSD, tout le monde peut incorporer le code source du programme dans un autre programme. Ils n'ont pas à rendre leurs changements à la communauté. Certains pensent que cette licence est encore plus "gratuite" que la licence GPL, car elle donne aux développeurs la liberté d'incorporer le code dans leurs propres programmes à code source fermé, tandis que d'autres le considèrent comme moins "gratuit" car cela leur enlève des droits. des utilisateurs finaux du programme dérivé.
Avantages pour les utilisateurs
Ce ne sont pas toutes des choses sèches et sans importance qui importent uniquement pour les développeurs. L'avantage le plus évident des logiciels à code source ouvert est qu'ils peuvent être obtenus gratuitement. L'exemple d'Ubuntu Linux ci-dessus le montre clairement - contrairement à Windows, vous pouvez installer ou distribuer autant de copies d'Ubuntu que vous le souhaitez, sans aucune restriction. Cela peut être particulièrement utile pour les serveurs - si vous configurez un serveur, vous pouvez simplement installer Linux dessus. Si vous configurez un cluster de serveurs virtualisé, vous pouvez facilement dupliquer un seul serveur Ubuntu. Vous n'avez pas à vous soucier des licences et du nombre d'instances Linux que vous êtes autorisé à exécuter..
Un programme open source est également plus flexible. Par exemple, la nouvelle interface de Windows 8 a déçu de nombreux utilisateurs Windows de bureau de longue date. Windows étant une source fermée, aucun utilisateur Windows ne peut modifier l’interface Windows 7 et la faire fonctionner correctement sous Windows 8. Certains utilisateurs de Windows essaient, mais c’est un processus fastidieux de reverse engineering et de modification de fichiers binaires. )
Lorsqu'un poste de travail Linux tel qu'Ubuntu introduit une nouvelle interface de bureau dont certains utilisateurs ne sont pas les fans, les utilisateurs disposent de plus d'options. Par exemple, lors de la sortie de GNOME 3, de nombreux utilisateurs de postes de travail Linux étaient également désactivés. Certains ont repris le code dans l'ancienne version, GNOME 2, et l'ont modifié pour le faire fonctionner sur les dernières distributions Linux - il s'agit de MATE. Certains ont pris le code sous GNOME 3 et l’ont modifié pour le faire fonctionner de la manière qu’ils préféraient - c’est Cinnamon. Certains utilisateurs viennent de passer à des postes de travail alternatifs existants. Si Windows était à source ouverte, les utilisateurs de Windows 8 auraient davantage de choix et de flexibilité. Jetez un coup d’œil à CyanogenMod, une distribution populaire d’Android axée sur la communauté, qui ajoute des fonctionnalités et prend en charge de nouveaux appareils..
Les logiciels libres permettent également aux développeurs de «se tenir sur les épaules de géants» et de créer leur propre logiciel. Découvrez Android et Chrome OS, qui sont des systèmes d’exploitation basés sur Linux et d’autres logiciels à code source ouvert. Le noyau d’OS X d’Apple - et donc d’iOS - a également été construit sur du code source ouvert. Valve travaille avec acharnement sur le portage de sa plate-forme de jeu Steam sur Linux, ce qui leur permettrait de créer leur propre matériel et de contrôler leur propre destin d’une manière impossible avec Windows..
Ce n'est pas une description exhaustive - des livres entiers ont été écrits sur ce sujet - mais vous devriez maintenant avoir une meilleure idée de ce qu'est réellement un logiciel open source et de son utilité..