La différence entre logiciels libres et logiciels libres

introduction

Un aspect du développement logiciel que beaucoup de gens ont tendance à oublier est la manière dont le logiciel devrait être concédé sous licence. Une licence de logiciel indique comment le code peut être utilisé et distribué par les preneurs de licence (les utilisateurs finaux), ce qui peut avoir un impact significatif sur la diffusion de la technologie. La plupart des logiciels modernes sont vendus sous une licence propriétaire qui permet à l’éditeur ou au créateur de conserver les droits de propriété intellectuelle du logiciel.

Cependant, il existe un autre point de vue, selon lequel cela confère aux éditeurs de logiciels un contrôle inutile. En empêchant les preneurs de licence de copier et de modifier le code source d’un logiciel, l’idée tient, car les éditeurs de logiciels propriétaires freinent l’innovation et freinent la croissance potentielle des nouvelles technologies. Cette position a inspiré la création de licences qui accordent aux utilisateurs le droit d’étudier, de modifier et de partager le code source du logiciel à leur guise. Les logiciels concédés sous cette licence sont généralement connus sous l’un des deux noms suivants: «logiciel libre» ou «logiciel libre».

Globalement, les deux termes désignent la même chose: logiciel avec peu de restrictions quant à son utilisation. Du point de vue de leurs partisans, les logiciels libres et à code source ouvert sont plus sûrs, plus efficaces et fonctionnent de manière plus fiable que leurs homologues propriétaires. Pourquoi avons-nous deux labels pour la même chose? La réponse implique un peu d’histoire et une compréhension des nuances qui forment deux mouvements distincts mais étroitement liés.

Un peu de fond

L’idée selon laquelle une personne travaillant avec un logiciel devrait être autorisée à visualiser, éditer et partager son code source sans conséquence légale n’est pas nouvelle. Avant les années 1970, les logiciels étaient généralement distribués avec leur code source. La raison en était que les logiciels étaient généralement spécifiques à un matériel et que les utilisateurs finaux devaient les modifier pour les exécuter sur leur machine ou pour ajouter des fonctionnalités spéciales.

La plupart des personnes qui ont utilisé des ordinateurs à cette époque l’ont fait dans un cadre strictement académique ou de recherche. Cela signifiait que les ressources informatiques étaient souvent partagées et que la modification de logiciels pour créer des flux de travail plus efficaces ou des solutions plus fiables était largement encouragée. Par exemple, le projet Genie de l’UC Berkeley a mis au point le système Berkeley Timesharing, un système d’exploitation à temps partagé construit à partir de zéro, en piratant le code source de l’ordinateur SDS 930 du laboratoire.

À mesure que les logiciels devenaient de plus en plus complexes et coûteux à produire, les éditeurs de logiciels cherchaient des moyens de mettre fin au partage effréné du code source afin de protéger leurs sources de revenus et d’empêcher les concurrents d’accéder à leur mise en oeuvre. Ils ont commencé à imposer des restrictions légales à leurs produits, notamment des droits d’auteur et des contrats de crédit-bail, et ont également commencé à distribuer leurs produits sous licence. À la fin des années 1970, la plupart des éditeurs de logiciels avaient cessé d’exporter des logiciels avec le code source inclus. Cela a amené de nombreux utilisateurs informatiques de longue date à exprimer leur mécontentement, et leur philosophie finira par constituer le fondement du mouvement du logiciel libre.

Les débuts du logiciel libre

Le mouvement du logiciel libre est en grande partie l’œuvre de Richard Stallman. Stallman a commencé ses études en informatique au début des années 70, avant l’essor des licences de logiciels propriétaires, et a travaillé au début des années 80 comme chercheur au laboratoire d’intelligence artificielle du MIT. Membre de la communauté universitaire des hackers depuis plus de dix ans, il était devenu frustré par la prolifération de logiciels propriétaires et en était venu à le considérer comme une violation du droit des utilisateurs d’innover et d’améliorer les logiciels existants.

En 1983, Stallman lança le projet GNU, qui visait à créer un système d’exploitation complet qui donnerait à ses utilisateurs la liberté de visualiser, de modifier et de partager son code source. Stallman a exposé sa motivation pour le projet dans le GNU Manifesto. Il y affirme sa conviction que les licences propriétaires bloquent le développement de logiciels axé sur la communauté, bloquant efficacement l’innovation et paralysant les progrès technologiques.

Cela, selon Stallman, fait peser un fardeau injuste sur les utilisateurs et les développeurs qui seraient autrement en mesure de modifier le code pour l’adapter à leurs propres besoins ou de le modifier pour remplir une nouvelle fonction. Ainsi, le projet GNU peut être considéré à la fois comme une réponse à la montée des logiciels propriétaires et comme un rappel de l’époque précédente du code source librement partagé et du développement de logiciels collaboratifs.

En 1985, Stallman s’est basé sur le projet GNU en fondant la Free Software Foundation (FSF), une organisation à but non lucratif vouée à la promotion du concept de logiciel libre auprès du grand public. Stallman développera également plus tard la GNU General Public License, une licence de logiciel qui garantit les droits des utilisateurs finaux d’exécuter, de visualiser et de partager le code source librement.

Selon la FSF, pour qu’un logiciel soit considéré comme véritablement "libre", sa licence doit garantir quatre libertés essentielles à ses utilisateurs:

  • La liberté d’exécuter le programme comme bon vous semble, pour n’importe quel but.

  • La liberté d’étudier le fonctionnement du programme et de le modifier de sorte que votre ordinateur fonctionne à votre guise. L’accès au code source est une condition préalable à cela.

  • La liberté de redistribuer des copies afin d’aider votre voisin.

  • La liberté de distribuer des copies de vos versions modifiées à d’autres. En faisant cela, vous pouvez donner à toute la communauté une chance de bénéficier de vos changements. L’accès au code source est une condition préalable à cela.

La FSF considère que les logiciels qui ne répondent pas à chacun de ces critères sont non libres et donc contraires à l’éthique.

La montée de l’open source

Stallman avait choisi le label «logiciel libre» pour relater l’idée que les utilisateurs seraient libres de changer et de partager le code source à leur guise. Cela a conduit à une certaine confusion au fil des ans, car beaucoup de gens supposent que le «logiciel libre» désigne tout logiciel pouvant être obtenu à un coût nul (qui serait plus précisément étiqueté «freeware» ou «shareware»). La FSF explique le choix du nom avec la phrase suivante: «Pensez à la liberté comme à la liberté d’expression, pas à la bière gratuite».

Vers la fin des années 1990, toutefois, certains enthousiastes de GNU et de Linux craignaient de plus en plus que cette double signification ne ferait perdre à un grand nombre d’utilisateurs la philosophie du logiciel libre et ses avantages par rapport au code propriétaire. La FSF avait également acquis une réputation d’éthique dure vis-à-vis des logiciels propriétaires de toutes sortes. Certains partisans du logiciel libre ont craint que cette approche ne soit trop hostile aux intérêts commerciaux et ne freine en fin de compte la propagation du mouvement du logiciel libre.

La cathédrale et le bazar

En 1997, Eric S. Raymond, alors défenseur et développeur de logiciels libres, a écrit The Cathedral and the Bazaar, un essai largement cité qui compare deux modèles de développement différents utilisés dans divers projets de logiciels libres. «The Cathedral» fait référence à un modèle de développement descendant dans lequel un groupe exclusif de développeurs produit le code, illustré par le développement de GNU Emacs. "Le Bazar", quant à lui, fait référence à une méthode de développement public du code sur Internet, comme ce fut le cas pour le développement du noyau Linux.

L’argument central de l’essai est que le modèle Bazaar est intrinsèquement plus efficace pour rechercher et résoudre les bogues logiciels, car davantage de personnes sont en mesure de visualiser et d’expérimenter le code source. Ainsi, a déclaré Raymond, l’utilisation d’un processus de développement ascendant piloté par la communauté permet d’obtenir un logiciel plus sûr et plus fiable.

Partiellement en réponse aux idées présentées dans La cathédrale et le bazar, Netscape a publié le code source de son navigateur Web Communicator en tant que logiciel libre au début de 1998. (Le code source de Communicator constituera plus tard la base de Mozilla FireFox 1.0). Inspiré par le potentiel commercial perçu par Netscape dans cette version du code source, un groupe d’amateurs de logiciels libres (parmi lesquels Raymond, Linus Torvalds, Philip Zimmerman et bien d’autres) ont cherché à changer le nom du mouvement du logiciel libre et à détourner son attention des principes éthiques ou philosophiques. motifs. Le groupe a choisi “open source” comme label pour les logiciels librement partageables, dans l’espoir qu’ils reflètent mieux la valeur commerciale d’un modèle de développement collaboratif piloté par la communauté.

Peu de temps après, Raymond et Bruce Perens ont fondé la Open Source Initiative (OSI) afin d’encourager à la fois l’utilisation du nouveau terme et la diffusion des principes de l’open source. OSI a également développé la Open Source Definition - une liste de dix principes auxquels une licence de logiciel doit adhérer pour être considérée comme une source ouverte:

  1. * Redistribution gratuite * - La licence n’empêche aucune partie de vendre ou de céder le logiciel en tant que composant d’une plus grande distribution de logiciels contenant des programmes provenant de sources multiples.

  2. * Code source * - Le programme doit inclure le code source et doit permettre la distribution sous forme de code source ainsi que sous forme compilée.

  3. * Travaux dérivés * - La licence doit autoriser les modifications et les travaux dérivés, et leur permettre d’être distribués dans les mêmes conditions que la licence du logiciel d’origine.

  4. * Intégrité du code source de l’auteur * - La licence peut empêcher la distribution du code source sous forme modifiée uniquement si elle autorise la distribution de "fichiers de correctif" avec le code source afin de modifier le programme au moment de la création.

  5. * Pas de discrimination contre les personnes ou les groupes * - La licence ne doit pas discriminer contre toute personne ou groupe de personnes.

  6. * Pas de discrimination contre les domaines d’activité * - La licence ne doit empêcher quiconque de faire usage du programme dans un domaine d’activité spécifique.

  7. * Distribution de licence * - Les droits attachés au programme doivent s’appliquer à tous ceux à qui le programme est redistribué sans qu’il soit nécessaire d’exécuter une licence supplémentaire par ces parties.

  8. * La licence ne doit pas être spécifique à un produit * - Les droits attachés au programme ne doivent pas dépendre de la participation du programme à une distribution de logiciel particulière.

  9. * La licence ne doit pas restreindre d’autres logiciels * - La licence ne doit pas imposer de restrictions aux autres logiciels distribués avec le logiciel sous licence.

  10. * La licence doit être neutre sur le plan technologique * - Aucune disposition de la licence ne peut être basée sur une technologie ou un style d’interface individuel.

Les différences entre logiciels libres et logiciels libres

Pour la plupart des gens, la différence de sens entre «logiciel libre» et «logiciel à source ouverte» est négligeable et provient d’une légère différence d’approche ou de philosophie. Selon l’Open Source Initiative, les deux termes signifient la même chose et peuvent être utilisés indifféremment dans n’importe quel contexte. Ils préfèrent simplement l’étiquette «open source», car ils estiment qu’elle fournit une description plus claire du logiciel et l’intention de ses créateurs quant à son utilisation.

Pour le camp des "logiciels libres", cependant, "open source" ne traduit pas pleinement l’importance du mouvement et les problèmes sociaux potentiels à long terme causés par les logiciels propriétaires. La Free Software Foundation estime que l’OSI est trop soucieux de promouvoir les avantages pratiques des logiciels non propriétaires (y compris leur rentabilité et l’efficacité d’un modèle de développement piloté par la communauté), et pas suffisamment préoccupé par la question éthique de la restriction des droits des utilisateurs. changer et améliorer le code selon leurs propres termes.

Le fait qu’un logiciel donné soit ou non libre ou à code source libre dépend de la licence sous laquelle il est distribué et de son approbation par Open Source Initiative, la Free Software Foundation ou les deux. Il y a beaucoup de chevauchement entre les licences approuvées par quelle organisation, à quelques exceptions près. Par exemple, le contrat Open Source de la NASA est une licence approuvée par OSI que la FSF juge trop restrictive. Ainsi, la FSF décourage quiconque d’utiliser des logiciels distribués sous cette licence. De manière générale, cependant, il ya de bonnes chances que, s’il puisse être qualifié de logiciel libre, il corresponde également à la définition de logiciel à source ouverte.

Noms alternatifs

Au fil des ans, plusieurs autres noms pour ce type de logiciel ont été proposés pour mettre fin à ce débat. Le «logiciel libre et à code source ouvert», souvent abrégé en «FOSS», est l’un des plus largement utilisés et est considéré comme un neutre neutre entre les deux. Le terme «logiciel libre» («libre» dérivant de plusieurs langues romanes et signifiant approximativement «l’état de la liberté») a acquis un sens propre, si bien que l’acronyme «FLOSS» (qui signifie «libre / libre et logiciels à code source ouvert) est également devenu assez courant.

Il convient de noter que les logiciels libres et à source ouverte sont distincts des logiciels du domaine public. Les logiciels libres et à code source ouvert définissent leurs libertés par le biais de leurs licences, alors que les logiciels du domaine public peuvent adhérer à certaines des mêmes vertus mais le font en tombant en dehors du système de licences. Une différence importante entre les logiciels libres et les logiciels Open Source est que les travaux basés sur du code source libre ou Open Source doivent également être distribués avec une licence FOSS. Les logiciels publiés dans le domaine public ne sont pas soumis à cette exigence.

Un autre problème avec les logiciels du domaine public provient du fait que tous les pays du monde ne reconnaissent pas les contenus non protégés par des droits d’auteur. Cela rend impossible de faire une déclaration mondialement reconnue qu’un logiciel est dans le domaine public. Ainsi, ni la FSF ni l’OSI n’encouragent les développeurs à publier des logiciels dans le domaine public.

Conclusion

Les termes «logiciel libre» et «logiciel à code source ouvert» sont interchangeables dans la plupart des contextes, et le fait de préférer une solution à une autre revient généralement à une question de sémantique ou à une approche philosophique. Cependant, pour de nombreux programmeurs qui cherchent à développer des logiciels et à les rendre publics ou à des activistes qui souhaitent changer la façon dont les gens voient et interagissent avec la technologie, la différence peut être importante. Par conséquent, lors de la publication de nouveaux logiciels, il est essentiel de bien peser le pour et le contre des différentes licences, y compris les licences propriétaires, et de choisir celle qui convient le mieux à vos besoins.

Si vous souhaitez en savoir plus sur la licence logicielle qui convient le mieux à votre prochain projet, consultez License List de la Free Software Foundation]. et des licences non libres. De plus, la page Licenses & Standards de l’open source peut également présenter un intérêt.