Qu'est-ce qu'un logiciel open source? Open source et FOSS expliqués

À la base de chaque logiciel que vous utilisez, il y a un code source qui émet les commandes et gère les données qui permettent au logiciel de faire ce qu'il fait. La question de savoir qui devrait avoir le droit de regarder, modifier ou redistribuer ce code source a longtemps été l'une des divisions idéologiques fondamentales dans le monde de l'informatique.

Les partisans du logiciel open source, comme son nom l'indique, sont du côté de l'ouverture; ils estiment que les gens devraient avoir le droit d'accéder au code source du logiciel qu'ils utilisent. Comme nous le verrons, cependant, dans la pratique, il y a beaucoup de variété sous cette étiquette. Différents types de logiciels open source existent dans à peu près tous les créneaux auxquels vous pouvez penser - en fait, l'open source domine beaucoup d'entre eux.

Qu'est-ce qu'un logiciel open source, qu'est-ce qu'un logiciel libre - et sont-ils différents?

Une définition succincte du logiciel open source est qu'il s'agit d'un logiciel dont le code sous-jacent peut être examiné, modifié et redistribué. (Il y a une définition plus longue et plus officielle à laquelle nous reviendrons dans un instant.) Les parties «modifiées et redistribuées» sont vraiment essentielles à la philosophie open source. Malgré ce que le nom peut impliquer, le simple fait d'ouvrir votre code source pour que les gens puissent le regarder ne le rend pas open source.

À certains égards, le terme «logiciel open source» est un rétronyme: dans les premières décennies de l'informatique, le code source du logiciel était disponible comme une évidence et librement échangé entre les chercheurs et les scientifiques de l'industrie. Les ordinateurs étaient rares et espéraient être largement modifiés par leurs utilisateurs, de sorte que les gens avaient besoin d'accéder au code. À bien des égards, le logiciel était considéré comme un complément au matériel informatique; ce n'est qu'en 1974 qu'il a même été légalement établi que les logiciels étaient soumis au droit d'auteur. Mais à l'aube de l'ère des micro-ordinateurs à la fin des années 1970, l'industrie a commencé à adopter la position selon laquelle le logiciel était quelque chose qui avait une valeur monétaire en soi, et que l'accès au code sous-jacent pouvait et devrait être restreint afin de protéger les créateurs de logiciels. ' droits.La célèbre lettre ouverte de Bill Gates de 1976 aux amateurs se plaignant du piratage généralisé du premier produit de Microsoft, l'interprète Altair BASIC, est un document décisif de ce changement.

Alors que ces nouvelles idées ont été rapidement reprises par l'industrie du logiciel en croissance rapide, certaines personnes se sont opposées à elles. L'un des premiers opposants était Richard Stallman, qui a fondé la Free Software Foundation (FSF) en 1985. Le «libre» dans le logiciel libre est censé désigner la liberté des utilisateurs de modifier et de distribuer le code comme ils l'entendent; il n'y a pas de règle contre la facturation d'un logiciel libre dans ce sens. La distinction est souvent faite entre «libre comme dans la bière gratuite» et «libre comme dans la liberté d'expression», le logiciel libre étant dans ce dernier camp.

Pourtant, l'idée du logiciel libre rendait nerveux de nombreuses personnes du secteur privé, qui n'étaient, après tout, pas fans de donner des choses. En 1998, Christine Peterson a inventé l'expression «open source» en partie comme une tentative de rendre l'idée plus accessible aux nouveaux arrivants, en particulier ceux qui travaillent dans des entreprises à but lucratif. Bien que Stallman ait résisté au terme open source, affirmant qu'il se détourne des idées politiques et philosophiques originales du logiciel libre, il est devenu la phrase dominante décrivant ce concept. Le diagramme de Venn des logiciels libres et open source se chevauche suffisamment pour que parfois les deux soient combinés sous l'acronyme FOSS (logiciel libre et open source) . En général, tous les logiciels libres sont open source, bien qu'une petite partie des logiciels open source ait des conditions de licence qui signifient qu'il n'est pas gratuit (plus d'informations sur les licences open source dans un instant).

Le concept de logiciel libre et open source a donné lieu à une autre définition de rétronyme: «logiciel propriétaire », tout logiciel qui n'est pas open source.

Licences de logiciels open source

Tous les droits et responsabilités impliqués dans les logiciels open source sont établis par les licences sous lesquelles le logiciel est distribué. Au fur et à mesure que la doctrine juridique selon laquelle le logiciel était soumis au droit d'auteur s'est établie, des licences de logiciel ont commencé à être rédigées pour fournir un contrat entre le titulaire du droit d'auteur et l'utilisateur, donnant à l'utilisateur la permission d'exécuter le logiciel sur un ordinateur personnel.

Les licences logicielles existaient à l'origine pour restreindre le comportement des utilisateurs et protéger les droits du fabricant du logiciel. Mais les partisans du logiciel libre se sont rendu compte qu'ils pouvaient inverser le but initial des licences: la licence d'un progiciel pouvait à la place exiger que le code sous-jacent soit disponible pour toute personne utilisant le logiciel, et que les utilisateurs avaient le droit de modifier et de redistribuer ce code. La première licence de logiciel open source (bien qu'elle soit antérieure au terme) est probablement l'avis d'autorisation de copie de GNU Emacs, publié en 1985 pour la version de l'éditeur de texte Emacs écrite par Stallman de la FSF.

Depuis lors, le nombre de licences libres et open source a proliféré, chacune définissant des conditions légèrement différentes pour l'utilisation du code sous licence; Wikipedia maintient un très bon graphique avec des détails sur les licences les plus importantes. Par définition, n'importe laquelle de ces licences open source accorde aux utilisateurs les trois libertés fondamentales de pouvoir lire, éditer et redistribuer le code source; le principal domaine dans lequel ils diffèrent concerne les termes qu'ils imposent à la redistribution:

  • Les licences permissives vous permettent de redistribuer n'importe quel code source comme bon vous semble. Vous pouvez, par exemple, prendre un code source publié sous une licence permissive, l'intégrer dans votre propre logiciel, puis le publier sous une licence propriétaire. La licence BSD est l'une des licences permissives les plus connues.
  • Les licences Copyleft nécessitent que tout code redistribué qui incorpore le code sous licence soit également publié sous une licence similaire. Les différentes versions de la licence publique GNU (GPL) de la FSF sont des licences copyleft, et leur objectif est d'obliger les développeurs à la payer en partageant les avantages qu'ils ont reçus de l'incorporation de code open source dans leur projet.

Il est intéressant de noter que les idées derrière ces licences se sont répandues au-delà du monde du logiciel. Le Creative Commons est une infrastructure juridique permettant d'appliquer des termes similaires à des œuvres artistiques écrites ou visuelles.

La définition Open Source et l'initiative Open Source

L'open source n'est de par sa nature même contrôlé par aucune entité ou organisation. En 1998, un groupe de développeurs de premier plan, dont Bruce Perens et Eric S. Raymond, ont fondé l'Open Source Initiative (OSI), une organisation à but non lucratif dédiée à la promotion de l'open source au sein de l'industrie du logiciel dans son ensemble. L'OSI a essayé et échoué de déposer le terme open source en 1999; néanmoins, leur définition officielle d'Open Source est, par consensus, le cadre que toutes les licences qui se disent open source suivent. En plus de la liberté d'examiner, de modifier et de redistribuer le code dont nous avons déjà parlé, la définition Open Source interdit les licences qui discriminent des groupes ou des personnes spécifiques, qui empêchent le code d'être utilisé dans un but ou un domaine d'activité spécifique, ou de s'exécuter sur un appareil ou un type d'appareil spécifique.

Développement open source et projets open source

Le développement à l'aide de code open source a lieu dans tous les types d'environnements, des universités aux grandes entreprises, et suit souvent les mêmes modèles que tout autre type de développement logiciel. Mais il existe un type spécifique de processus de développement communautaire ouvert associé à l'open source. Dans son essai influent «La cathédrale et le bazar», Eric S. Raymond a exposé sa vision de ce processus, où tout le monde peut accéder au code, et des mises à jour sont ajoutées à la base de code par un groupe largement distribué de développeurs qui plongent et sortent comme leur intérêt dicte.

Le développement open source de ce type est organisé autour de projets open source . Celles-ci fonctionnent parfois sur un seul logiciel et parfois sur tout un ensemble d'applications connexes. Le logiciel de contrôle de version maintient les contributions de chacun en ligne. GitHub est probablement le plus populaire.

Parfois lancés par une seule personne, les projets open source sont généralement de petites communautés Internet auto-organisées, et bien que n'importe qui puisse contribuer à n'importe quel projet, la plupart sont généralement travaillés par un groupe relativement restreint de développeurs. Parfois, un projet peut être parrainé par une entreprise à but lucratif qui envisage d'utiliser le logiciel qu'elle produit, allant même jusqu'à inscrire les développeurs les plus importants du projet sur la liste de paie.

Exemples open source

Les logiciels open source sont en fait omniprésents et créent une grande partie des fondations de l'Internet moderne. Le projet open source le plus célèbre est peut-être Linux, la variante Unix open source qui alimente des millions de serveurs. Parmi les autres projets importants et extrêmement cruciaux, citons le serveur Web Apache, la base de données MySQL et WordPress. De nombreux frameworks de développement sont publiés en open source, de Ruby on Rails au .Net Core de Microsoft.

L'open source a moins bien réussi à produire des logiciels informatiques à domicile destinés aux utilisateurs ordinaires. Malgré le coût élevé des logiciels propriétaires tels que Microsoft Word et Adobe Photoshop, les homologues open source comme OpenOffice et GIMP n'ont jamais réussi à trouver une niche au-delà des passionnés inconditionnels, en grande partie parce que la communauté open source a traditionnellement privilégié les fonctionnalités et la flexibilité à la facilité de utilisation. (Le verrouillage du format de fichier des fournisseurs propriétaires n'a pas aidé.) Même Linux, dont les partisans affirment depuis la fin des années 1990 que le système d'exploitation open source n'est qu'à un an de dominer le bureau, n'a jamais vraiment réussi à sauter espace consommateur. En général, l'open source est beaucoup plus utilisé pour l'infrastructure que pour les logiciels des utilisateurs finaux.Mais le passage des logiciels monolithiques que vous exécutez localement aux applications SaaS a été une aubaine vers l'open source, car les infrastructures basées sur le cloud sont largement basées sur des piles dominées par l'open source.

Vous vous souvenez de ce que nous avons dit à propos des entreprises à but lucratif soutenant l'open source? Souvent, ces projets sont produits sous une licence permissive, de sorte que ces entreprises peuvent placer le code open source au cœur de leurs offres propriétaires tout en conservant une base de code open source distincte en parallèle en tant que projet communautaire. Par exemple, le système d'exploitation mobile Android a Linux en son cœur; tous les systèmes d'exploitation mobiles et de bureau d'Apple sont basés sur Darwin, un système d'exploitation open source dérivé à l'origine de BSD Unix. Même Google Chrome est basé sur un navigateur open source appelé Chromium.

La communauté open source et le mouvement open source

L'open source est plus qu'un simple processus de développement; c'est une philosophie qui passionne les gens et c'est une communauté sociale à laquelle toute personne ayant des compétences en programmation peut se joindre. En fait, c'est toute une série de communautés, comme le dit la Linux Foundation. (L'existence d'organisations à but non lucratif telles que la Linux Foundation et l'OSI est un aspect important de cette communauté.) Florian Effenberger a un excellent essai sur la manière dont la communauté open source a enrichi sa vie.

Vous entendrez souvent les gens parler du mouvement open source ou du logiciel libre, qui a une connotation de politique et de plaidoyer. De nombreux membres de la communauté open source ont poussé à l'adoption généralisée des logiciels open source pour diverses raisons: ils pensent que l'open source produit un code intrinsèquement meilleur, ou ils pensent que l'accès au code source est un droit fondamental dont les utilisateurs d'ordinateurs devraient bénéficier ou une combinaison des deux. Cet aspect de la communauté semble un peu moins visible aujourd'hui, mais c'est peut-être parce que, à bien des égards, l'open source a gagné. En 2001, Steve Ballmer, alors PDG de Microsoft, a déclaré qu'en raison de sa licence open source, Linux était «un cancer qui s'attache au sens de la propriété intellectuelle à tout ce qu'il touche». Aujourd'hui, Microsoft est un grand utilisateur et producteur de logiciels open source.Voilà les deux dernières décennies de l'histoire de l'open source en un mot.

Téléchargement de logiciels open source

Vous voulez commencer à naviguer et à bricoler des projets open source? Consultez la page Projets et applications de opensource.com, l'onglet Explorer de GitHub ou la carte des logiciels du réseau de développement Open Source. Il y en a beaucoup pour les curieux de tous niveaux.