Qu'est-ce qu'un logiciel Open Source et pourquoi est-ce important?

Topic : Technologie   | Publié il y a 1 an

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, «logiciel libre» ne signifie pas simplement que vous pouvez le télécharger gratuitement.)

Qu'un programme soit open-source ou non ne concerne pas uniquement les développeurs, il importe également pour les utilisateurs. Les licences de logiciel à code source ouvert offrent aux utilisateurs des libertés qu’ils n’auraient pas autrement.

Qu'est-ce que l'Open Source ?

Open source décrit un logiciel où le code source est disponible pour que tout le monde puisse l'afficher, l'utiliser, le modifier, puis le partager. Rendre le code source accessible au public permet à d’autres d’en tirer parti et d’en tirer des enseignements, ce qui permet une large collaboration de la part de personnes du monde entier.

Il se trouve dans votre téléphone, votre voiture, votre télévision et vos ampoules connectées au wifi. Les composants Open Source permettent aux ingénieurs de s’appuyer sur les travaux d’une communauté mondiale de développeurs pour proposer de meilleurs produits plus rapidement et à moindre coût. Linux, le serveur Web Apache, Android, Firefox et WordPress sont des exemples de projets open source dont vous avez peut-être entendu parler.

L'opposé du logiciel Open Source est le logiciel Closed Source, qui est un logiciel qui détient le code source en toute sécurité et crypté. Cela signifie que l'utilisateur ne peut pas copier, modifier ou supprimer des parties du code sans conséquence.

Par exemple, Ubuntu Linux est un système d'exploitation Open Source. 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 pour créer 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 Libres vous imposent des restrictions.

Logiciel Open Source vs Logiciel Libre

Les applications open source sont généralement disponibles gratuitement - même si 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 l’eau». 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 d'un logiciel qui peut être contrôlée et modifiée par l'utilisateur. En d’autres termes, le camp des logiciels libres est axé sur les libertés des utilisateurs.

Le mouvement des logiciels Open Source a été créé pour se concentrer sur des raisons plus pragmatiques de choisir ce type de logiciel. Les partisans de l’open source souhaitaient mettre l’accent sur les avantages pratiques de l’utilisation de logiciels open source qui plairaient davantage aux 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 ne sont pas d’accord sur la messagerie.

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.

Licence publique générale ou GNU

  1. Copier le logiciel : Il n’ya pas de limite à l’endroit où vous pouvez copier ce code. Copiez-le sur votre propre serveur, sur le serveur de votre client, sur vos stations de travail locales, où et combien de fois.
  2. Distribution : Vous pouvez le distribuer dans votre disque dur ou votre pouce, vous pouvez distribuer le code sous cette licence avec un lien de téléchargement sur votre site web, vous pouvez imprimer le code sur papier, quelle que soit la forme de distribution de votre choix.
  3. Facturer des frais : vous pouvez facturer le logiciel à quelqu'un, mais n'oubliez pas de lui donner une copie de la GNU GPL, qui indiquerait qu'il peut obtenir le logiciel gratuitement ailleurs. Cela donne également une chance pour vous de leur dire pourquoi vous facturez pour cela.
  4. Changez la base de code : Si vous voulez créer un fork dans le projet et y apporter des modifications, vous pouvez. Supprimez ou ajoutez des fonctionnalités comme vous le souhaitez. La seule condition est que votre projet soit également publié sous GNU GPL.

Il est important de connaître la distinction entre les distributions source et binaire. Il existe certaines contraintes concernant la publication des applications les unes sous les autres. De plus, si un projet utilise une licence GNU GPL, il doit respecter certaines règles standard pour commenter des parties des exigences de licence dans le code lui-même.

Licence BSD

La licence BSD fait partie d’une famille de licences de logiciels libres dont la distribution est beaucoup moins restreinte que d’autres licences de logiciels libres. Deux versions importantes sont:

  1. La nouvelle licence BSD / La nouvelle licence BSD modifiée
  2. La licence BSD simplifiée / licence FreeBSD

Les deux ont été acceptés comme licences Open Source par Open Source Initiative.

La nouvelle licence BSD (connue sous le nom de «3-clause license») autorise une redistribution illimitée pour quelque fin que ce soit, de sorte que les droits d'auteur et les exclusions de garantie de la licence soient conservés. Cette licence a une exigence intéressante. Il contient une phrase limitant l’utilisation de noms de contributeurs pour l’endossement d’un travail dérivé sans autorisations spécifiques. En gros, cela signifie que si une personne a codé le code d’une personne célèbre et apporté des modifications pour créer un nouveau projet, elle ne peut pas utiliser le nom de cette personne pour l’approuver. La principale différence entre la nouvelle licence et la licence BSD simplifiée est que la licence BSD simplifiée omet cette clause.

LICENCE MIT

C’est la plus courte et peut-être la plus utilisée de toutes les licences open source populaires. Ses termes sont flous et plus ouverts que la plupart des autres. Le principal don de cette licence est :

Par la présente, une autorisation est accordée gratuitement à toute personne obtenant une copie de ce logiciel et des fichiers de documentation associés (le «Logiciel»), afin de traiter le logiciel sans restriction, y compris, sans limitation, les droits d'utilisation, de copie, de modification et de fusion, publiez, distribuez, concédez en sous-licence et / ou vendez des copies du logiciel, et autorisez les personnes à qui le logiciel est fourni à le faire, sous réserve des conditions suivantes :

L'avis de copyright ci-dessus et cet avis de permission doivent être inclus dans toutes les copies ou parties substantielles du logiciel.

Cela signifie que vous pouvez utiliser, copier et modifier le logiciel à votre guise. Personne ne peut vous empêcher de l'utiliser dans un autre projet. Vous pouvez donner le logiciel gratuitement ou le vendre. Aucune restriction sur la distribution, peu importe. N'importe qui peut faire ce que bon lui semble avec le code sous licence MIT, à condition qu'il soit accompagné de la licence.

LICENCE APACHE

Les droits de la licence Apache version 2.0 peuvent être appliqués à la fois aux droits d'auteur et aux brevets. Certaines des licences ne peuvent être appliquées qu'aux droits d'auteur et non aux brevets. Quelques détails de la licence Apache :

  1. Les droits ne se terminent jamais : une fois que les droits sous licence Apache ont été accordés, vous pouvez continuer à les utiliser pour toujours, il n’est pas nécessaire de les renouveler.
  2. Autorité mondiale des droits : Même si les droits sont accordés pour un pays, ils le sont automatiquement dans tous les pays.
  3. Droits sans redevance ni redevance : aucun frais, ni au début, ni par utilisation, ni sur aucune autre base applicable.
  4. Les droits sont irrévocables : personne ne peut jamais vous dire que votre dérivé du code concédé sous licence en vertu de cette licence ne peut plus être utilisé (une clause de la licence stipule que si vous poursuivez en justice une personne pour violation de brevet, votre licence est alors résiliée, mais cela ne s'applique qu'aux œuvres brevetées, et tant que vous ne poursuivez personne pour le poursuivre en justice, vous n'aurez pas à vous en inquiéter).

La redistribution du code comporte des exigences, principalement liées à la crédibilité de ceux qui ont travaillé sur le code et au maintien de la licence.

Mozilla Public License (MPL)

La Mozilla Public License a été introduite par la fondation Mozilla, mais est également appliquée à d’autres logiciels open source. La licence est facile à respecter.

Il offre un large éventail de droits d'utilisation, de modification et de redistribution du logiciel à une condition simple: vous devez rendre le code source des fichiers sous licence et de leurs modifications disponible sous la même licence.

Avantages pour les utilisateurs

Ce ne sont pas toutes des choses sèches et sans importance qui ne comptent que 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 un serveur particulièrement utile - 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 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 Windows essaient, mais c’est un processus fastidieux de reverse engineering et de modification de fichiers binaires. )

Lorsqu'un bureau Linux comme Ubuntu introduit une nouvelle interface de bureau dont certains utilisateurs ne sont pas 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 pris le code avec l'ancienne version, GNOME 2, et l'ont modifié pour le faire fonctionner sur les dernières distributions Linux - c'est MATE. Certains ont pris le code sur 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 à code source ouvert, les utilisateurs de Windows 8 auraient plus 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 à code source ouvert permettent également aux développeurs de «se tenir sur les épaules de géants» et de créer leur propre logiciel. Soyez témoin d'Android et de 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 open source. La société travaille furieusement sur le portage de sa plate-forme de jeu Steam sous Linux, car cela leur permettrait de créer leur propre matériel et de contrôler leur propre destin d’une manière qui n’est pas possible sous Windows.