Catégorie: "Open Source"

Open Source & Sociétés Commerciales

Petit tour d'horizon...

Qu'est-ce qu'un logiciel Open Source? Qu'est-ce qu'un logiciel Libre?

Dans un monde dominé par Microsoft, la plupart des logiciels sont propriétaires; même s'ils ne fonctionnent pas correctement (ce qui est fréquent!) il est nécessaire de payer (généralement assez cher!) pour les utiliser et on ne dispose d'aucun autre droit! En particulier: on n'a pas le droit d'en étudier la conception (reverse engineering), de les corriger, de les modifier, de les copier, ni les redistribuer.

A l'autre extrême on trouve les logiciels du domaine public, relativement rares. Ils n'ont aucune restriction. Vous pouvez faire ce que vous voulez avec (et n'importe qui d'autre peut en faire autant).

Les logiciels open source et les logiciels libres se situent entre ces deux extrêmes. Open source, signifie que vous pouvez au minimum obtenir le code source afin de l'étudier et éventuellement d'identifier les problèmes. Les logiciels vraiment libres vont au delà puisqu'ils permettent en plus de modifier le code source, de dupliquer le logiciel et de le redistribuer. En fait il existe plusieurs dizaines de licences avec des droits différents. On a coutume d'appeler cet ensemble de licences sous le nom de licences open-source.

Note pour ceux qui auraient un doute: un logiciel "shareware" n'a rien à voir avec un logiciel open source. Un logiciel shareware est un logiciel commercial dont la seule différence avec un logiciel de Microsoft était originellement qu'on pouvait systématiquement l'essayer avant de l'acheter. Mais depuis plusieurs années, même la plupart des produits Microsoft peut être essayée avant de l'acheter!

On peut aussi se référer au diagrame de Chao-Kuei ci dessous:

Software categories by Chao-Kuei

Juste une seule question de néophyte: que signifie "code source"?

Un logiciel est écrit dans un language compréhensible par les humains (du moins par les programmeurs). Ce qu'écrit le programmeur s'appelle le code source. Ce code source est ensuite compilé et on obtient un code objet ou code exécutable. Pour schématiser on pourrait dire que la compilation consiste à traduire le language du programmeur en language machine.

Quand vous achetez un logiciel sur un CD de Microsoft par exemple, vous n'obtenez que le code exécutable.

La chose importante à retenir, c'est qu'il est pratiquement impossible d'analyser, diagnostiquer, corriger, modifier, améliorer ou faire évoluer un logiciel sans disposer de son code source.

Lorsqu'une société privée participe dans un projet open source, n'y a-t-il pas un conflit d'intéret?

Réponse de Bruce Perens. Il cite les exemples d'IBM et Apple. Il ne s'agit pas d'un conflit d'intérêt mais d'un équilibre entre ce que la société donne à la communauté OS et ce qu'elle en reçoit et réciproquement entre ce que la communauté donne à la société et reçoit en retour. On peut toutefois distinguer des degrés de coopération divers allant de parasite à symbiotique (Red Hat) à bienfaiteur (NASA). La nécessité de maintenir une bonne image publique freine les sociétés à trop tirer sur la corde et à devenir des parasites.

Voir aussi: Open Source Case for Business (OSI)

Oui mais... dans le cas où la société commerciale vend avant tout du logiciel (pas comme IBM et Apple où le soft OS n'est qu'un accessoire au matériel), elle ne peut pas se permettre de rendre son logiciel gratuit!?

Non, dans ce cas, tout ne doit pas être gratuit. Par exemple, Sendmail Inc. vend des add-ons commerciaux au Sendmail libre. Digital Creations (Zope) vend du service autour du noyau Zope libre, notamment afin d'en réaliser des intégrations verticales; ces "customizations" ne sont pas ajoutés au noyau libre. Voir: décision de Zope de rendre son code open source.

Quelle licence Open Source choisir?

La license open source qui accompagne le logiciel définit les droits que le ou les auteurs accordent aux utilisateurs dudit logiciel.

La licence GNU General Public License (GPL) constitue la référence en la matière, tant en âge qu'en nombre de projets l'utilisant. Celà est dû à la popularité de Linux, dont le noyau, la majorité des composants et add-ons sont distribués sous license GPL. (Note: Linux n'est pas pour autant un projet de la GNU/FSF même si la FSF tente plus ou moins insidieusement de le faire croire...)

La license GPL est très restrictive sur le fait d'être non restrictive! Elle accorde en effet presque tous les droits possibles à son utilisateur à l'exception du droit de supprimer ces droits en cas de modification du logiciel. Celà à pour conséquence qu'un code GPL devra rester GPL lorsqu'il est modifié et ne peut être assemblé qu'avec d'autres composants sous licence compatible avec la licence GPL.

La licence GPL est ainsi controversée par de nombreux développeurs refusant aujourd'hui de l'utiliser à cause de ceteffet "viral" ou "infectieux".

La licence BSD au contraire, donne le droit de ne plus distribuer le code source d'un projet BSD dès lors qu'on y a apporté des modifications.

Critique de la licence GPL par Michael Maxwell en faveur de la licence BSD. Cette critique a un parti pris évident, mais permet de saisir l'étendue des divergences qu'il peut y avoir d'une license open source à une autre.

En fait GPL et BSD se situent à deux extrêmes. La GPL est à l'extrême "open" alors que la BSD permet de rebasculer très vite vers du "closed source".

En réalité, la plupart des développeurs préféreraient une solution intermédiaire entre ces deux extrêmes.

Par ailleurs, au delà même des licences Open-Source, toutes les licences logicielles sont régulièrement contestées sur des points de droit particuliers, du fait que les logiciels constituent un artefact dont on ne sait pas très bien s'il est artistique, scientifique ou industriel et auquel les textes de loi existants s'adaptent souvent assez mal. Voir entre autres Donald K. Rosenberg.

De ces divers problèmes sont nées un myriade de licences intermédiaires pour tenter de concilier les choses, avec plus ou moins de succès... et en créant de nouveaux problèmes puisque ces licences se retrouvent fréquemment incompatibles entre elles, empêchant ainsi d'utiliser du code d'un projet dans un autre s'ils n'ont pas tous les deux la même licence.

Voir par exemple le problème de la biblothèque Qt de TrollTech expliqué par Donald K. Rosenberg.

Le choix (ou la rédaction) d'une licence doit prendre en compte toutes ces données: non seulement les droits accordés aux utilisateurs mais aussi les interactions possibles avec d'autres composants logiciels.

Il est également important de choisir correctement la licence la plus adaptée dès le départ car il ne sera pas forcément possible de revenir en arrière par la suite.

A voir: liste des licences open source recensées (et approuvées) par l'OSI.

Open Source Initiative OSI - Welcome

Open Source Initiative (OSI) is a non-profit corporation dedicated to managing and promoting the Open Source Definition for the good of the community, specifically through the OSI Certified Open Source Software certification mark and program. You can read about successful software products that have these properties, and about our certification mark and program, which allow you to be confident that software really is "Open Source." We also make copies of approved open source licenses here.

General Public License, Explained

Merely about the "viral" aspect.

Logiciels libres et brevets logiciels, c'est Dallas! (ou Santa-Cruz je sais plus...)

On peste contre SCO qui menace les logiciels libres (à travers Linux).

On peste contre les brevets logiciels qui menacent les logiciels libres.

Et pourtant c'est en s'appuyant sur ses brevets logiciels que IBM contre attaque SCO afin de libérer Linux...

Plutôt ironique non?