POSS Chap 9
Un article de Framalang Wiki.
[modifier] Chapter 9. Licenses, Copyrights, and Patents
[modifier] Terminology / Terminologie
free software
Software that can be freely shared and modified, including in source code form. The term was first coined by Richard Stallman, who codified it in the GNU General Public License (GPL), and who founded the Free Software Foundation (http://www.fsf.org/) to promote the concept.
Although « free software » covers almost exactly the same range of software as « Open Source », the FSF, among others, prefers the former term because it emphasizes the idea of freedom, and the concept of freely redistributable software as primarily a social movement rather than a technical one. The FSF acknowledges that the term is ambiguous—it could mean « free » as in « zero-cost », in stead of « free » as in « freedom »—but feels that it's still the best term, all things considered, and that the other possibilities in English have their own ambiguities. (Throughout this book, « free » is used in the « freedom » sense, not the « zero-cost » sense.)
Logiciel libre
Logiciel qui peut être librement partagé et modifié en y incluant son code source. Le terme a été à l'origine inventé par Richard Stallman qui l'a codifié pour donner la Licence Publique Générale (GNU - General Public License) et qui a fondé la Fondation pour le Logiciel Libre (Free Software Foundation, http://fsf.org/), afin d'en promouvoir le concept.
Bien que le logiciel libre couvre le même champ de logiciels que l' « Open Source », la FSF, entre autres, préfère le terme initial parce qu'il englobe l'idée de liberté et le concept de logiciel librement redistribuable et préfère l'idée d'un mouvement social à celui d'un mouvement technique. La FSF reconnaît que le terme est ambigu, il peut signifier « free » comme dans « zéro-coût », au lieu de « free » comme dans « liberté » , mais tout bien réfléchi, il semble que ce soit le meilleur terme et les autres possibilités en anglais ont chacune leur propre ambiguïté (Tout au long de ce livre, le terme « free » est utilisé au sens de « freedom » et non au sens de « zéro-coût »). [NdT : Notez qu'en français, on préfèrera le terme de « Logiciel Libre », pour éviter toute confusion, mais que le terme de free software est tout de même usité.]
Open Source software
Free software under another name. But the different name reflects an important philosophical difference: « Open Source » was coined by the Open Source Initiative (http://www.opensource.org/) as a deliberate alternative to « free software, » in order to make such software a more palatable choice for corporations, by presenting it as a development methodology rather than a political movement. They may also have wanted to overcome another stigma: that anything « free » must be low quality.
While any license that is free is also Open Source, and vice versa (with a few minor exceptions), people tend to pick one term and stick with it. In general, those who prefer « free software » are more likely to have a philosophical or moral stance on the issue, while those who prefer « Open Source » either don't view it as a matter of freedom, or are not interested in advertising the fact that they do. See the section called « Free » Versus « Open Source » in Chapter 1, Introduction for a more detailed history of this schism.
The Free Software Foundation has an excellent—utterly unobjective, but nuanced and quite fair—exegesis of the two terms, at http://www.fsf.org/licensing/essays/free-software-for-freedom.html. The Open Source Initiative's take on it is spread across two pages: http://www.opensource.org/advocacy/case_for_hackers.php#marketing and http://www.opensource.org/advocacy/free-notfree.php.
Logiciel Open Source
Logiciel Libre sous un autre nom. Mais ce nom différent reflète une différence philosophique : l' « Open Source » a été inventé par l'Open Source Initative (http://www.opensource.org/) comme une alternative délibérée au logiciel libre afin de rendre ce type de logiciel plus attractif pour les entreprises en le présentant comme une méthodologie de développement plutôt que comme un mouvement politique. Ils voulaient également tordre le cou à une autre idée préconçue : toute chose « free » (gratuite) doit être de mauvaise qualité.
Bien que toute licence libre soit également Open Source, et vice et versa (avec cependant quelques exceptions), la majorité des personnes a tendance à utiliser un terme plutôt qu'un autre et à le privilégier. En général, ceux qui préfèrent le « logiciel libre » embrassent plutôt l'aspect moral ou philosophique sous-jacent, tandis que ceux qui préfèrent le terme « Open Source » ne donnent pas de connotation idéologique à leur choix ou alors ne désirent pas mettre cet aspect en avant. Voir la section appelée « Libre contre Open Source » dans le Chapitre 1, Introduction pour plus de détails sur l'histoire de ce schisme.
La Free Software Foundation fait une excellente interprétation, totalement arbitraire, mais nuancée et juste, de ces deux termes ici : http://www.gnu.org/philosophy/free-software-for-freedom.fr.html. L'Open Source Initiative développe son point de vue sur ces deux pages : http://www.opensource.org/advocacy/case_for_hackers.php#marketing et http://www.opensource.org/advocacy/free-notfree.php.[modifier] FOSS, F/OSS, FLOSS
Where there are two of anything, there will soon be three, and that is exactly what is happening with terms for free software. The academic world, perhaps wanting precision and inclusiveness over elegance, seems to have settled on FOSS, or sometimes F/OSS, standing for « Free / Open Source Software ». Another variant gaining momentum is FLOSS, which stands for « Free / Libre Open Source Software » (libre is familiar in many languages and does not suffer from the ambiguities of « free »; see http://en.wikipedia.org/wiki/FLOSS for more).
All these terms mean essentially the same thing: software that can be modified and redistributed by everyone, sometimes—but not always—with the requirement that derivative works be freely redistributable under the same terms.
On dit « jamais deux sans trois » et c'est aussi vrai pour les termes relatifs au logiciel libre. Le monde académique, cherchant peut-être précision et exhaustivité plus qu'élégance, semble s'être accordé sur FOSS, ou parfois F/OSS, pour « Free / Open Source Software ». Une autre variante rejoignant la liste est FLOSS, pour « Free / Libre Open Source Software » (libre est familier dans beaucoup de langues et ne souffre pas des ambiguïtés de « free » ; voir http://fr.wikipedia.org/wiki/FLOSS pour plus de précisions).
Tous ces termes signifient essentiellement la même chose : un logiciel qui peut être modifié et redistribué par chacun, parfois, mais pas toujours, avec l'exigence que l'œuvre dérivée soit librement redistribuable sous les mêmes termes.[modifier] DFSG-compliant / Conforme au DFSG
Conforme au contrat social Debian (http://www.debian.org/social_contract).
C'est un test largement utilisé pour savoir si une licence donnée est vraiment Open Source (free, libre, etc.). La mission du projet Debian est de maintenir un système d'exploitation entièrement libre, afin qu'en l'installant personne ne puisse jamais douter de son droit de modifier et de redistribuer tout ou une partie du système. Le contrat social Debian est l'ensemble des exigences que la licence d'un programme doit remplir pour qu'il soit inclus dans Debian. Parce que le projet Debian a passé beaucoup de temps à réfléchir à la conception d'un tel test, la charte qu'ils ont conçue a prouvé sa robustesse (voir http://fr.wikipedia.org/wiki/DFSG) et à ma connaissance aucune objection sérieuse n'a été levée contre eux par la Free Software Foundation ou l'Open Source Initiative. Si vous savez qu'une licence est conforme à la charte, alors vous savez qu'elle garantie toutes les libertés importantes (comme la possibilité de faire des fourches, même contre les souhaits de l'auteur original) requises pour soutenir les dynamiques d'un projet Open Source. Toutes les licences discutées dans ce chapitre sont conformes à la charte Debian.[modifier] OSI-approved / Approuvé OSI
Approved by the Open Source Initiative. This is another widely-used test of whether a license permits all the necessary freedoms. The OSI's definition of Open Source software is based on the Debian Free Software Guidelines, and any license that meets one definition almost always meets the other. There have been a few exceptions over the years, but only involving niche licenses and none of any relevance here. Unlike the Debian Project, the OSI maintains a list of all licenses it has ever approved, at http://www.opensource.org/licenses/, so that being « OSI-approved » is an unambiguous state: a license either is or isn't on the list.
The Free Software Foundation also maintains a list of licenses at http://www.fsf.org/licensing/licenses/license-list.html. The FSF categorizes licenses not only by whether they are free, but whether they are compatible with the GNU General Public License. GPL compatibility is an important topic, covered in the section called « The GPL and License Compatibility » later in this chapter.Approuvé par l'Open Source Initiative. Il s'agit d'un autre test largement usité pour savoir si une licence confère toutes les libertés nécessaires aux utilisateurs. La définition de l'OSI pour le logiciel libre est basée sur le contrat social Debian et toute licence qui remplit l'une des définitions remplit presque toujours l'autre. Il y a eu quelques petites exceptions au cours des années, mais elles mettaient seulement en cause des licences marginales, aucune de celles vraiment importantes présentées ici. À la différence du Projet Debian, l'OSI maintient une liste des licences qu'il a approuvées à l'adresse http://www.opensource.org/licenses/ pour qu'être « approuvé OSI » soit sans équivoque : une licence est ou n'est pas dans la liste.
La Free Software Foundation entretient aussi une liste de licences à l'adresse http://www.gnu.org/licenses/license-list.fr.html. La FSF classe les licences en catégories, non seulement en fonction de leur caractère libre, mais aussi en fonction de leur compatibilité avec la licence GNU General Public License. La compatibilité avec la GPL est un sujet important, couvert dans la section intitulée « La licence GPL et la compatibilité des licences », plus tard dans ce chapitre.[modifier] proprietary, closed-source / propriétaire, source fermée
The opposite of « free » or « Open Source. » It means software distributed under traditional, royalty-based licensing terms, where users pay per copy, or under any other terms sufficiently restrictive to prevent Open Source dynamics from operating. Even software distributed at no charge can still be proprietary, if its license does not permit free redistribution and modification.
Generally « proprietary » and « closed-source » are synonyms. However, « closed-source » additionally implies that the source code cannot even be seen. Since the source code cannot be seen with most proprietary software, this is normally a distinction without a difference. However, occasionally someone releases proprietary software under a license that allows others to view the source code. Confusingly, they sometimes call this « Open Source » or « nearly Open Source, » etc., but that's misleading. The visibility of the source code is not the issue; the important question is what you're allowed to do with it. Thus, the difference between proprietary and closed-source is mostly irrelevant, and the two can be treated as synonyms.
Sometimes commercial is used as a synonym for « proprietary, » but properly speaking, the two are not the same thing. Free software can be commercial software. After all, free software can be sold, as long as the buyers are not restricted from giving away copies themselves. It can be commercialized in other ways as well, for example by selling support, services, and certification. There are multimillion dollar companies built on free software today, so it is clearly neither inherently anticommercial nor anti-corporate. On the other hand, it is anti-proprietary by its nature, and this is the key way in which it differs from traditional per-copy license models.
L'opposé de « libre » ou « Open Source ». Il renvoie au logiciel distribué sous des termes traditionnels, basé sur un schéma de redevance dans lequel l'utilisateur paie chaque copie, ou sous sous d'autres termes suffisamment restrictifs pour empêcher les dynamiques de l'Open Source d'opérer. Même un logiciel distribué gratuitement reste propriétaire si sa licence ne permet pas la libre redistribution et modification.
Généralement « propriétaire » et « fermé » sont synonymes. Cependant, « fermé » implique en outre que le code source ne peut pas être vu. A partir du moment où le code source ne peut pas être vu, ce qui est le cas de la plupart des logiciels propriétaires, la distinction n'a plus lieu d'être. Cependant, certains développeurs placent leurs logiciels sous une licence qui permet aux autres d'avoir accès au code source. Ils appellent ceci « Open Source » ou « proche Open Source », etc., mais ce n'est qu'une tromperie. La visibilité du code source ne fait pas tout ; l'important est ce que l'on vous autorise à faire avec. Ainsi, la différence entre propriétaire et « fermé » est souvent non pertinente et les deux termes peuvent être considérés comme synonymes.
Quelque fois, « commercial » est utilisé comme synonyme de « propriétaire », sauf qu'à proprement parler les deux ne sont pas identiques. Un logiciel libre peut être un logiciel commercial. Après tout, un logiciel peut être vendu, tant que les acheteurs peuvent toujours en distribuer eux-mêmes des copies. La commercialisation peut prendre plusieurs formes avec par exemple la vente de service, de support ou de certification. Aujourd'hui, des entreprises très rentables se sont construites autour du logiciel libre, le logiciel libre n'est donc clairement ni anti-commercial, ni anti-corporate. D'un autre côté, le logiciel libre est anti-propriétaire par nature et c'est le point essentiel sur lequel il diffère du modèle traditionnel d'une seule licence par copie.[modifier] public domain / domaine public
Having no copyright holder, meaning that there is no one who has the right to restrict copying of the work. Being in the public domain is not the same as having no author. Everything has an author, and even if a work's author or authors choose to put it in the public domain, that doesn't change the fact that they wrote it.
When a work is in the public domain, material from it can be incorporated into a copyrighted work, and thereafter that copy of the material is covered under the same copyright as the whole work. But this does not affect the availability of the original work, which remains in the public domain. Thus, releasing something into the public domain is technically one way to make it « free, » according to the guidelines of most free software certifying organizations. However, there are usually good reasons to use a license instead of just releasing into the public domain: even with free software, certain restrictions can be useful, not only to the copyright holder but even to recipients as well, as the next section makes clear.
&Oelig;uvre dont personne ne détient les droits, cela signifie que personne ne peut restreindre le droit de copier l'œuvre. « Domaine Public » n'est pas synonyme de « sans auteur ». Tout a un auteur et même si l'auteur ou les auteurs ont choisi de placer leurs travaux dans le Domaine Public cela ne change rien au fait qu'ils l'ont écrit.
Quand une œuvre est placée dans le Domaine Public, le code peut être incorporé dans un travail protégé par le droit d'auteur, par la suite une copie de cette œuvre sera placée sous le même droit d'auteur que l'ensemble de l'œuvre. Mais cela n'affecte en rien la disponibilité du travail originel qui reste toujours dans le Domaine Public. Ainsi, placer une œuvre dans le Domaine Public revient techniquement à la rendre libre, si l'on s'en réfère à la plupart des organisations certifiées logiciel libre. Cependant, il y a de bonnes raisons pour utiliser une licence plutôt que d'opter pour le Domaine Public : avec un logiciel libre, certaines restrictions peuvent être utiles, pas seulement au détenteur du droit d'auteur, mais également aux utilisateurs, comme la prochaine partie le précisera.[modifier] copyleft / gauche d'auteur
A license that uses copyright law to achieve a result opposite to traditional copyright. Depending on whom you ask, this means either licenses that permit the freedoms under discussion here, or, more narrowly, licenses that not only permit those freedoms but enforce them, by stipulating that the freedoms must travel with the work. The Free Software Foundation uses the second definition exclusively; elsewhere, it's a toss-up: a lot of people use the term the same way the FSF does, but others—including some who write for mainstream media—tend to use the first definition. It's not clear that everyone using the term is aware that there's a distinction to be made.
The canonical example of the narrower, stricter definition is the GNU General Public License, which stipulates that any derivative works must also be licensed under the GPL; see the section called « The GPL and License Compatibility » later in this chapter for more.
Une licence qui utilise le droit d'auteur légal pour atteindre un résultat opposé au droit d'auteur traditionnel. Suivant les personnes auxquelles vous vous adressez cela peut désigner une licence qui comprend les libertés présentées dans ce chapitre, ou plus rigoureusement, une licences qui ne permet pas seulement ces libertés mais les renforcera, en déclarant que les libertés doivent suivre l'œuvre. La Free Software Foundation utilise exclusivement la seconde définition ; d'autre part, c'est une alternative : beaucoup de personnes utilisent le terme de la même manière que le fait la FSF, mais d'autres, y compris ceux qui écrivent pour les médias à la mode, choisissent d'opter pour la première définition. Il n'est pas sûr que tous ceux qui utilisent ce terme soient conscients qu'il y a une distinction à faire entre ces deux définitions.
Le meilleur exemple, le plus strict et le plus proche de cette définition, est la GNU General Public License, qui stipule que tout travail dérivé doit également être placé sous cette même GNU GPL ; voir la section « La licence GPL et la compatibilité des licences » plus loin dans ce chapitre pour plus de détails.
[modifier] Aspects of Licenses
Although there are many different free software licenses available, in the important respects they all say the same things: that anyone can modify the code, that anyone can redistribute it both in original and modified form, and that the copyright holders and authors provide no warranties whatsoever (avoiding liability is especially important given that people might run modified versions without even knowing it).
The differences between licences boil down to a few oft-recurring issues:
compatibility with proprietary licenses
Some free licenses allow the covered code to be used in proprietary programs. This does not affect the licensing terms of the proprietary program: it is still as proprietary as ever, it just happens to contain some code from a non-proprietary source. The Apache License, X Consortium License, BSD-style license, and the MIT-style license are all examples of proprietary-compatible licenses.
compatibility with other free licenses
Most free licenses are compatible with each other, meaning that code under one license can be combined with code under another, and the result distributed under either license without violating the terms of the other. The major exception to this is the GNU General Public License, which requires that any work using GPLed code be itself distributed under the GPL, and without adding any further restrictions beyond what the GPL requires. The GPL is compatible with some free licenses, but not with others. This is discussed in more detail in the section called “The GPL and License Compatibility” later in this chapter.
enforcement of crediting
Some free licenses stipulate that any use of the covered code be accompanied by a notice, whose placement and display is usually specified, giving credit to the authors or copyright holders of the code. These licenses are often still proprietary-compatible: they do not necessarily demand that the derivative work be free, merely that credit be given to the free code.
protection of trademark
A variant of credit enforcement. Trademark-protecting licenses specify that the name of the original software (or its copyright holders, or their institution, etc.) may not be used by derivative works without prior written permission. Although credit enforcement insists that a certain name be used, and trademark protection insists that it not be used, they are both expressions of the same desire: that the original code's reputation be preserved and transmitted, but not tarnished by association.
protection of "artistic integrity"
Some licenses (the Artistic License, used for the most popular implementation of the Perl programming language, and Donald Knuth's TeX license, for example) require that modification and redistribution be done in a manner that distinguishes clearly between the pristine original version of the code and any modifications. They permit essentially the same freedoms as other free license, but impose certain requirements that make the integrity of the original code easy to verify. These licenses have not caught on much beyond the specific programs they were made for, and will not be discussed in this chapter; they are mentioned here only for the sake of completeness.
Most of these stipulations are not mutually exclusive, and some licenses include several. The common thread among them is that they place demands on the recipient in exchange for the recipient's right to use and/or redistribute the code. For example, some projects want their name and reputation to be transmitted along with the code, and this is worth imposing the extra burden of a credit or trademark clause ; depending on its onerousness, that burden may result in some users choosing a package with a less demanding license.
[modifier] Les aspects des Licences
Bien qu'il existe de nombreuses licences de logiciel libre différentes, elles se rejoignent toutes dans leurs principaux aspects : que n'importe qui puisse modifier le code, que n'importe qui puisse le redistribuer tant sous forme originale que modifiée et que les détenteurs des droits d'auteur et les auteurs ne fournissent de garantie d'aucune sorte (l'exonération de responsabilité est particulièrement importante, étant donné que les gens pourraient utiliser des versions modifiées sans même le savoir).
Les différences entre des licences se résument à quelques détails récurrents :
Compatibilité avec les licences propriétaire
Quelques licences libres permettent au code couvert d'être utilisé dans des programmes propriétaires. Cela n'affecte pas les termes de licence du programme propriétaire : il est toujours aussi propriétaire, contenant seulement une certaine proportion de code de source non propriétaire. La Licence Apache, la Licence Consortium X, la licence de type BSD et la licence de type MIT sont toutes des exemples de licences compatibles-propriétaires.
Compatibilité avec d'autres licences libres
La plupart des licences libres sont compatibles entre elles, cela signifie que le code soumis à l'une des licences peut être combiné avec le code soumis à une autre et que le résultat peut être distribué sous l'une ou l'autre des licences sans violer les termes de la seconde. L'exception majeure à ceci est la Licence Publique Générale (GPL) GNU, qui exige que n'importe quel logiciel utilisant du code sous GPL soit lui-même distribué sous licence GPL et ce sans ajouter de restrictions supplémentaire au-delà de celles que la GPL requiert. La GPL est compatible avec quelques-unes des licences libres, mais pas avec toutes. Ceci est discuté plus en détail dans la section appelée « la GPL et la compatibilité de licences » plus tard dans ce chapitre.
L'obligation de crédit
Quelques licences libres stipulent que toute utilisation du code couvert doit être accompagnée par une notice, dont l'emplacement et l'affichage sont d'habitude spécifiés, donnant crédit aux auteurs ou détenteurs des droits d'auteur sur le code. Ces licences sont souvent compatibles-propriétaire : elles n'exigent pas nécessairement que le travail dérivé soit libre, mais simplement que la paternité soit reconnue sur le code libre
La protection de marques déposées
Une variante d'exécution de crédit. Des licences protégeant les marques déposées spécifient que le nom du logiciel original (ou ses détenteurs de droit d'auteur, ou leur institution, etc.) ne peut être utilisé dans des travaux dérivés sans une permission écrite préalable. Bien que l'obligation de crédit contraint à l'usage d'un certain nom et que la protection de marque déposée contraint à son non-usage, elles expriment toutes deux le même désir : que la réputation de l'auteur du code original soit préservée et transmise, mais non ternie par l'association (d'idées).
La protection de l' « intégrité artistique »
Quelques licences (la Licence Artistique, utilisée pour la plus populaire implémentation du langage de programmation et la licence de Donald Knuth TeX, par exemple) exigent que la modification et la redistribution soient faites de manière à distinguer clairement la version originale du code de n'importe quelle version modifiée. Elles permettent essentiellement les mêmes libertés que les autres licences libres, mais imposent certaines exigences qui rendent l'intégrité du code original facile à vérifier. Ces licences ne sont pas devenues très populaires au-delà des programmes spécifiques pour lesquels elles furent écrites et ne seront pas discutées dans ce chapitre; elles sont mentionnées ici seulement dans une intention d'exhaustivité.
La plupart de ces conditions ne sont pas exclusives entre elles et quelques licences en incluent plusieurs. Le point commun entre ces licences est que ces stipulations sont la contrepartie des droits conférés au destinataire d'utiliser et/ou redistribuer le code. Par exemple, quelques projets veulent que leur nom et leur réputation soient transmis par le code, ce qui justifie la contrainte supplémentaire d'une clause de marque déposée ou de crédit ; si la contrainte est trop pesante, ce fardeau peut potentiellement détourner les utilisateurs vers un paquet utilisant une licence moins exigeante.
[modifier] The GPL and License Compatibility
By far the sharpest dividing line in licensing is that between proprietary-incompatible and proprietary-compatible licenses, that is, between the GNU General Public License and everything else. Because the primary goal of the GPL's authors is the promotion of free software, they deliberately crafted the license to make it impossible to mix GPLed code into proprietary programs. Specifically, among the GPL's requirements (see http://www.fsf.org/licensing/licenses/gpl.html for its full text) are these two:
1. Any derivative work—that is, any work containing a nontrivial amount of GPLed code—must itself be distributed under the GPL.
2. No additional restrictions may be placed on the redistribution of either the original work or a derivative work. (The exact language is: "You may not impose any further restrictions on the recipients' exercise of the rights granted herein.")
With these conditions, the GPL succeeds in making freedom contagious. Once a program is copyrighted under the GPL, its terms of redistribution are viral—they are passed on to anything else the code gets incorporated into, making it effectively impossible to use GPLed code in closed-source programs.
However, these same clauses also make the GPL incompatible with certain other free licenses. The usual way this happens is that the other license imposes a requirement—for example, a credit clause requiring the original authors to be mentioned in some way—that is incompatible with the GPL's "You may not impose any further restrictions..." language. From the point of view of the Free Software Foundation, these second-order consequences are desirable, or at least not regrettable. The GPL not only keeps your software free, but effectively makes your software an agent in pushing other software to enforce freedom as well.
The question of whether or not this is a good way to promote free software is one of the most persistent holy wars on the Internet (see the section called “Avoid Holy Wars” in Chapter 6, Communications), and we won't investigate it here. What's important for our purposes is that GPL compatibility is an important issue when choosing a license. The GPL is by far the most popular open source license; at http://freshmeat.net/stats/#license, it is at 68%, and the next highest license is at 6%. If you want your code to be able to be mixed freely with GPLed code—and there's a lot of GPLed code out there—then you should pick a GPL-compatible license. Most of the GPL-compatible open source licenses are also proprietary-compatible: that is, code under such a license can be used in a GPLed program, and it can be used in a proprietary program. Of course, the results of these mixings would not be compatible with each other, since one would be under the GPL and the other would be under a closed-source license. But that concern applies only to the derivative works, not to the code you distribute in the first place.
Fortunately, the Free Software Foundation maintains a list showing which licenses are compatible with the GPL and which are not, at http://www.gnu.org/licenses/license-list.html. All of the licenses discussed in this chapter are present on that list, on one side or the other.[modifier] Le GPL et la Compatibilité de Licence
La frontière la plus marquée entre les licences repose sur leur incompatibilité ou leur compatibilité avec les licences propriétaire, c'est-à-dire entre la GNU General Public License et tout le reste. Parce que l'objectif primaire des auteurs de la GPL est la promotion du logiciel libre, ils créèrent délibérément la licence de façon à ce qu'il soit impossible d'intégrer du code sous GPL au sein de programmes propriétaires. En particulier, parmi les conditions de la GPL (voir http://www.fsf.org/licensing/licenses/gpl.html pour son texte intégral), on retrouve ces deux dispositions :
1. N'importe quel logiciel dérivé, n'importe quel logiciel contenant une quantité non insignifiante de code sous GPL, doit être distribué lui-même sous GPL.
2. Aucune restriction additionnelle ne peut être placée sur la redistribution du logiciel original ou dérivé. [NdT : La formulation exacte est : « You may not impose any further restrictions on the recipients' exercise of the rights granted herein. »]
Avec ces conditions, la GPL parvient à fabriquer une liberté contagieuse. Une fois qu'un programme est licencié sous GPL, ses termes de redistribution sont viraux, ils se transmettent à toute autre contenu dans lequel le code est incorporé, rendant efficacement impossible d'utiliser du code sous GPL dans un programme fermé.
Cependant, ces mêmes clauses rendent aussi la GPL incompatible avec certaines autres licences libres. Le cas le plus courant où cela arrive est celui ou l'autre licence impose une exigence, par exemple une clause de crédit exigeant que les auteurs originaux soient mentionnés, qui est incompatible avec celles de la GPL stipulant que « Vous ne pouvez pas imposer de nouvelles restrictions... ». Du point de vue de la Free Software Foundation, ces effets secondaires sont désirables, ou tout du moins non regrettables. La GPL tient non seulement votre logiciel libre, mais transforme efficacement votre logiciel en un agent poussant les autres logiciels à devenir libres dans les mêmes mesures.
Quant à savoir s'il s'agit ou non d'une bonne façon de promouvoir le logiciel libre, c'est l'un des trolls les plus persistants sur Internet (voyez la section appelée « Éviter les trolls » dans le Chapitre 6, Communication) et nous ne l'examinerons pas ici. Ce qui est important ici est que la compatibilité avec la GPL est une question importante lors du choix de la licence. La GPL est de loin la licence open-source la plus populaire; sur http://freshmeat.net/stats/#license, elle est à 68 % et la licence suivante la plus haute est à 6 %. Si vous voulez que votre code puisse se mélanger librement avec du code sous GPL, et il y a beaucoup de code sous GPL, alors vous devriez choisir une licence GPL-compatible. La plupart des licences open-source compatible avec la GPL le sont aussi avec les licences propriétaires : ainsi, un code sous une telle licence peut être utilisé par un programme sous GPL tout comme il peut être utilisé par un programme propriétaire. Bien sûr, les résultats de ces mélanges ne seront pas compatibles entre eux, puisque l'un serait sous GPL quand l'autre serait sous une licence propriétaire. Mais ce souci s'applique uniquement aux travaux dérivés et non pas au code que vous distribuez en premier lieu.
Heureusement, la Free Software Foundation entretient une liste rassemblant les licences compatibles avec le GPL et celles qui ne le sont pas sur la page http://www.gnu.org/licenses/license-list.html. Toutes les licences discutées dans ce chapitre sont présentes dans cette liste, dans un catégorie ou l'autre.
NdT : J'ai l'impression de faire de la propagande FSF dans ce passage... Dommage, le chapitre avait bien débuté...
[modifier] Choosing a License / Le choix d'une Licence
When choosing a license to apply to your project, if at all possible use an existing license instead of making up a new one. There are two reasons why existing licenses are better:
• Familiarity. If you use one of the three or four most popular licenses, people won't feel they have to
read the legalese in order to use your code, because they'll have already done so for that license a
long time ago.
• Quality. Unless you have a team of lawyers at your disposal, you are unlikely to come up with a leg-
ally solid license. The licenses mentioned here are the products of much thought and experience; un-
less your project has truly unusual needs, it is unlikely you would do better.
To apply one of these licenses to your project, see the section called “How to Apply a License to Your Software” in Chapter 2, Getting Started.Quand vous choisissez une licence à appliquer à votre projet privilégiez l'utilisation d'une licence déjà existante plutôt que d'en créer une nouvelle si possible. Le choix d'une licence préexistante est conseillé pour deux raisons :
- Familiarité. Si vous optez pour l'une des trois ou quatre licences les plus populaires, les utilisateurs ne sentiront pas contraints de lire les dispositions légales avant d'utiliser le code, parce qu'ils l'ont déjà fait pour cette licence depuis longtemps.
- Qualité. A moins que vous n'ayez une équipe de juristes à votre disposition, il y a peu de chances que vous parveniez à réaliser une licence juridiquement solide. Les licences mentionnées dans ce livre sont les produits de l'expérience et de mures réflexions ; à moins que votre projet ait vraiment des besoins spécifiques c'est le meilleur choix que vous puissiez faire.
[modifier] The MIT / X Window System License / La Licence MIT/ X Window System
If your goal is that your code be accessible by the greatest possible number of developers and derivative works, and you do not mind the code being used in proprietary programs, choose the MIT / X Window System license (so named because it is the license under which the Massachusetts Institute of Technology released the original X Window System code). This license's basic message is "You are free to use this code however you want." It is compatible with the GNU GPL, and it is short, simple, and easy to understand:
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
(Tiré de http://www.opensource.org/licenses/mit-license.php.)
[modifier] The GNU General Public License / La GNU General Public License
[modifier] Is the GPL free or not free? / La GPL, libre ou pas ?
One consequence of choosing the GPL is the possibility—small, but not infinitely small—of finding yourself or your project embroiled in a dispute about whether or not the GPL is truly "free", given that it places some restrictions on what you can do with the code—namely, the restriction that the code cannot be distributed under any other license. For some people, the existence of this restriction means the GPL is "less free" than more permissive licenses such as the MIT/X license. Where this argument usually goes, of course, is that since "more free" must be better than "less free" (after all, who's not in favor of freedom?), it follows that those licenses are better than the GPL. This debate is another popular holy war (see the section called “Avoid Holy Wars” in Chapter 6, Communications). Avoid participating in it, at least in project forums. Don't attempt to prove that the GPL is less free, as free, or more free than other licenses. Instead, emphasize the specific reasons your project chose the GPL. If the recognizability of license was a reason, say that. If the enforcement of a free license on derivative works was also a reason, say that too, but refuse to be drawn into discussion about whether this makes the code more or less "free". Freedom is a complex topic, and there is little point talking about it if terminology is going to be used as a stalking horse for substance. Since this is a book and not a mailing list thread, however, I will admit that I've never understood the "GPL is not free" argument. The only restriction the GPL imposes is that it prevents people from imposing further restrictions. To say that this results in less freedom has always seemed to me like saying that outlawing slavery reduces freedom, because it prevents some people from owning slaves.
(Oh, and if you do get drawn into a debate about it, don't raise the stakes by making inflammatory analogies.)L'une des conséquences du choix de la GNU GPL est la possibilité, faible mais pas insignifiante, de vous trouver, vous ou votre projet, embringué dans un débat sur la véracité de la « liberté » de la GNU GPL, étant donné qu'elle impose quelques restrictions sur l'utilisation du code, à savoir qu'il ne peut être redistribué sous aucune autre licence. Pour certains, l'existence de cette restriction signifie que la GNU GPL est « moins libre » que des licences plus permissives telles que la licence MIT/X-Style. Cet argument en entraîne souvent un autre : « plus libre » est mieux que « moins libre » (après tout, qui n'est pas en faveur de la liberté ?), il en découle alors que ces licences sont meilleures que la GNU GPL. Ce débat est encore un autre « troll » populaire (voir la section appelée « Éviter les trolls », Chapitre 6, Communication). Évitez de nourrir le troll, au moins dans les forums. N'essayez pas de prouver que la GNU GPL est « moins libre », « aussi libre » ou « plus libre » que les autres licences. Mettez plutôt en exergue les raisons spécifiques à votre projet qui ont motivé votre choix. Si la reconnaissance d'une licence était l'un des critères de choix, dites-le. Si l'un de vos critères était l'obligation d'utiliser une licence libre pour un travail dérivé, dites-le également, mais refusez d'être embarqué dans une conversation à propos de ce qui fait que le code est « plus » ou « moins » libre. La liberté est un vaste sujet et vous n'avez rien à gagner si la terminologie est utilisée comme prétexte pour trouver matière à débattre.
Comme j'écris un livre ici et que nous ne sommes pas sur une liste de diffusion, je peux vous confier que je n'ai jamais compris l'argument « La GPL n'est pas libre ». La seule restriction que la GPL impose est de ne pas imposer de restrictions supplémentaires. Penser que cela mène à moins de liberté m'a toujours semblé pareil que de dire que l'abolition de l'esclavage réduit la liberté parce qu'alors les gens ne peuvent plus posséder d'esclaves (Oh, et si vous finissez par être entraîné dans un tel débat, ne rendez pas les choses pires encore en faisant des analogies dangereuses).
[modifier] What About The BSD License? Et à propos de la Licence BSD ?
A fair amount of Open Source software is distributed under a BSD license (or sometimes a BSD-style license). The original BSD license was used for the Berkeley Software Distribution, in which the University of California released important portions of a Unix implementation. This license (the exact text may be seen in section 2.2.2 of http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6) was similar in spirit to the MIT/X license, except for one clause:
All advertising materials mentioning features or use of this software must display the
following acknowledgement: This product includes software developed by the Uni-
versity of California, Lawrence Berkeley Laboratory.
The presence of that clause not only made the original BSD license GPL-incompatible, it also set a dangerous precedent: as other organizations put similar advertising clauses into their free software—substituting their own organization's name in place of "the University of California, Lawrence Berkeley Laboratory"—software redistributors faced an ever-increasing burden in what they were required to display. Fortunately, many of the projects that used this license became aware of the problem, and simply dropped the advertising clause. In 1999, even the University of California did so. The result is the revised BSD license, which is simply the original BSD license with the advertising clause removed. However, this history makes the phrase "BSD license" a bit ambiguous: does it refer to the original, or the revised version? This is why I prefer the MIT/X license, which is essentially equivalent, and which does not suffer from any ambiguity. However, there is perhaps one reason to prefer the revised BSD license to the MIT/X license, which is that the BSD includes this clause:
Neither the name of the <ORGANIZATION> nor the names of its contributors may be
used to endorse or promote products derived from this software without specific prior
written permission.
It's not clear that without such a clause, a recipient of the software would have had the right to use the licensor's name anyway, but the clause removes any possible doubt. For organizations worried about trademark control, therefore, the revised BSD license may be slightly preferable to MIT/X. In general,however, a liberal copyright license does not imply that recipients have any right to use or dilute your trademarks — copyright law and trademark law are two different beasts.
If you wish to use the revised BSD license, a template is available at http://www.opensource.org/licenses/bsd-license.php.Un assez grand nombre de logiciels Open Source sont distribués sous licence BSD (ou parfois une licence dérivée de la Licence BSD). La Licence BSD originale était employée pour le Berkeley Software Distribution, dans lequel l'Université de Californie a dévoilé des parties importantes d'une implémentation Unix. Cette licence (dont le texte exact se trouve à la section 2.2.2 à l'adresse http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6) était proche de l'esprit de la Licence MIT/X, sauf pour une clause :
All advertising materials mentioning features or use of this software must display the
following acknowledgement: This product includes software developed by the Uni-
versity of California, Lawrence Berkeley Laboratory.
Tout support publicitaire faisant mention ou utilisant ce logiciel doit faire apparaître
le message suivant : Ce produit inclut des logiciels développés par l'Université de Cali-
fornie, Laboratoire Lawrence Berkeley
La présence de cette clause rendait non seulement la Licence BSD originale incompatible avec la GPL, mais elle établissait également un dangereux précédent : alors que d'autres organisations ajoutaient des clauses de publicité à leur logiciels libres, remplaçant par le nom de leur propre organisation la mention « the University of California, Lawrence Berkeley Laboratory », les revendeurs de logiciels devaient afficher de plus en plus de mentions. Heureusement, de nombreux projets qui utilisaient cette licence se sont aperçus du problème et ont simplement abandonné la clause concernant la publicité. En 1999, même l'Université de Californie en a fait de même. Il en résulte la Licence BSD révisée, qui est simplement la Licence BSD originale sans la clause de publicité. Cette histoire rend malgré tout le terme « Licence BSD » ambigu : parle-t-on de la version originale ou de la version révisée ? C'est pourquoi je préfère la Licence MIT/X qui est en gros équivalente et qui ne souffre pas de cette ambiguïté. Mais il y a peut-être quand même une raison pour préférer la Licence BSD dans sa forme révisée par rapport à la Licence MIT/X, la Licence BSD inclut cette clause :
Neither the name of the <ORGANIZATION> nor the names of its contributors may be
used to endorse or promote products derived from this software without specific prior
written permission.
Ni le nom de <ORGANISATION> ni les noms des participants ne peuvent être employés pour
approuver ou promouvoir les produits dérivés de ce logiciel sans accord écrit préalable.
Sans cette clause il n'est pas clair si un bénéficiaire du logiciel aurait le droit ou pas d'utiliser le nom du propriétaire de la licence, mais la clause enlève tout doute possible. Pour les organisations qui se préoccupent du contrôle des droits d'auteur, la Licence BSD révisée serait donc légèrement plus adaptée que la Licence MIT/X. En général cependant, une licence de droit d'auteur libre n'implique pas que les bénéficiaires aient un quelconque droit d'utilisation ou de masquage de vos marques, les lois sur le droit d'auteur et sur la protection des marques sont deux choses différentes. Si vous désirez utiliser la Licence BSD révisée, un modèle est disponible à cette adresse : http://www.opensource.org/licenses/bsd-license.php.
[modifier] Copyright Assignment and Ownership / Attribution des droits d'auteur et propriété
There are three ways to handle copyright ownership of free code contributed to by many people. The first is to ignore the issue of copyright entirely (I don't recommend this). The second is to collect a contributor license agreement (CLA) from each person who works on the project, explicitly granting the project the right to use that person's code. This is usually enough for most projects, and the nice thing is that in some jurisdictions, CLAs can be sent in by email. The third way is to get actual copyright assignments from contributors, so that the project (i.e., some legal entity, usually a nonprofit) is the copyright owner for everything. This is the most legally airtight way, but it's also the most burdensome for contributors; only a few projects insist on it.
Note that even under centralized copyright ownership, the code remains free, because Open Source licenses do not give the copyright holder the right to retroactively proprietize all copies of the code. So even if the project, as a legal entity, were to suddenly turn around and started distributing all the code under a restrictive license, that wouldn't cause a problem for the public community. The other developers would simply start a fork based on the latest free copy of the code, and continue as if nothing had happened.Il existe trois approches de la détention des droits d'auteur sur un code libre, fruit du travail de plusieurs personnes. La première consiste à purement et simplement ignorer le problème du droit d'auteur (je vous le déconseille). La deuxième est de demander un Accord de Licence du Participant (ALP) à chaque personne travaillant sur le projet, accordant explicitement au projet le droit d'utiliser le code du participant. C'est en général suffisant pour la plupart des projets et le point positif est que dans certaines juridictions ces ALP peuvent être envoyés par courrier électronique. La troisième approche est d'obtenir des participants l'attribution complète des droits d'auteur afin que le projet (c'est-à-dire une entité légale, généralement à but non lucratif) soit le détenteur de tous les droits d'auteur. C'est la voie qui, légalement, est la plus sure, mais également la plus contraignante pour les participants, seuls quelques projets l'empruntent.
Notez que même si la propriété intellectuelle est centralisée le code demeure libre car les licences Open Source ne donnent pas au détenteur des droits la possibilité de rendre rétroactivement propriétaire toutes les copies du code. Donc même si le projet, en temps qu'entité légale, retourne soudainement sa veste et décide de distribuer le code sous une licence plus restrictive cela ne posera pas de problème à la communauté publique. Les autres développeurs n'auraient qu'à initier une fourche basée sur la dernière version libre du code et à continuer comme si rien ne s'était passé. Comme cette possibilité existe la plupart des participants coopèrent lorsqu'on leur demande de signer un ALP ou une attribution de droit d'auteur.[modifier] Doing Nothing / Ne rien faire
[modifier] Contributor License Agreements / Accord de Licence du Participant
This is a license agreement only; it does not transfer copyright ownership and does not change your rights to use your own Contributions for any other purpose. Here are some examples:
• Individual contributor CLAs:
• http://apache.org/licenses/icla.txt
• http://code.google.com/legal/individual-cla-v1.0.html
• Corporate contributor CLAs:
• http://apache.org/licenses/cla-corporate.txt
• http://code.google.com/legal/corporate-cla-v1.0.html
This is a license agreement only; it does not transfer copyright ownership and does not change your rights to use your own Contributions for any other purpose. Here are some examples:
• Individual contributor CLAs:
• http://apache.org/licenses/icla.txt
• http://code.google.com/legal/individual-cla-v1.0.html
• Corporate contributor CLAs:
• http://apache.org/licenses/cla-corporate.txt
• http://code.google.com/legal/corporate-cla-v1.0.html
ou en français :
Ceci n'est qu'un accord de licence, il n'y a pas de transfert de droit d'auteur et vous conservez le droit d'utiliser vos propres Contributions à toute autre fin. Voici quelques exemples :
• ALP pour les participants individuels :
• http://apache.org/licenses/icla.txt
• http://code.google.com/legal/individual-cla-v1.0.html
• ALP pour les entreprises participantes :
• http://apache.org/licenses/cla-corporate.txt
• http://code.google.com/legal/corporate-cla-v1.0.html
[modifier] Transfer of Copyright / Transfert du droit d'auteur
Copyright transfer means that the contributor assigns to the project copyright ownership on her contributions. Ideally, this is done on paper and either faxed or snail-mailed to the project. Some projects insist on full assignment because having a single legal entity own the copyright on the entire code base can be useful if the terms of the Open Source license ever need to be enforced in court. If no single entity has the right to do it, all the contributors might have to cooperate, but some might not have time or even be reachable when the issue arises. Different organizations apply different amounts of rigor to the task of collecting assignments. Some simply get an informal statement from a contributor on a public list mailing list—something to the effect
"I hereby assign copyright in this code to the project, to be licensed under the same terms as the rest of the code." At least one lawyer I've talked to says that's really enough, presumably because it happens in a context where copyright assignment is normal and expected anyway, and because it represents a bona fide effort on the project's part to ascertain the developer's true intentions. On the other hand, the Free Software Foundation goes to the opposite extreme: they require contributors to physically sign and mail in a piece of paper containing a formal statement of copyright assignment, sometimes for just one contribution, sometimes for current and future contributions. If the developer is employed, the FSF asks that the employer sign it too. The FSF's paranoia is understandable. If someone violates the terms of the GPL by incorporating some of their software into a proprietary program, the FSF will need to fight that in court, and they want their copyrights to be as airtight as possible when that happens. Since the FSF is copyright holder for a lot of popular software, they view this as a real possibility. Whether your organization needs to be similarly scrupulous is something only you can decide, in consultation with lawyers. In general, unless there's some specific reason why your project needs full copyright assignment, just go with CLAs; they're easier for everyone.
Most projects have a single legal entity own the copyright on the entire code base. This is done for vari-
ous reasons. If the terms of the copyright ever need to be defended or enforced in court, it's much easier
if a single entity has the right to do so; otherwise, all of the contributors would have to cooperate, and
some might not have time or even be reachable when the issue arises. Also, if the code is the target of a
copyright infringement suit, you wouldn't want the individual developers to be personally exposed to li-
ability.
Remember that centralized ownership of the copyright does not make the code any less free. Open
source licenses do not give the copyright holder the right to retroactively proprietize all copies of the
code. Even if the copyright-holding entity suddenly turned around and started distributing all the code
under a restrictive license, it wouldn't cause a problem for the public project. The other developers
would simply start a fork based on the latest free copy of the code, and continue as if nothing had
happened. Because they know they can do this, most developers do not object when asked to assign
copyright to some sponsoring organization.
Different organizations apply different amounts of rigor to the task of collecting copyright assignments.
For most, simply getting an informal statement from a contributor on the public list is
enough—something to the effect of "I hereby assign copyright in this code to the project, to be licensed
under the same terms as the rest of the code." At least one lawyer I've talked to says that's really enough,
presumably because it happens in a context where copyright assignment is normal and expected anyway,
and because it represents a bona fide effort on the project's part to ascertain the developer's true inten-
tions. On the other hand, the Free Software Foundation goes to the opposite extreme: they require con-
tributors to physically sign and mail in a piece of paper containing a formal statement of copyright assignment,
sometimes for just one contribution, sometimes for current and future contributions. If the developer is employed,
the FSF asks that the employer sign it too.The FSF's paranoia is understandable. If someone violates the terms of
the GPL by incorporating some of their software into a proprietary program, the FSF will need to fight that in court, and they want their
copyrights to be as airtight as possible when that happens. Since the FSF is copyright holder for a lot of
popular software, they view this as a real possibility. Whether your organization needs to be similarly
scrupulous is something only you can decide, in consultation with lawyers.
La plupart des projets donnent l'entièreté des droits d'auteurs à une seule entité légale sur tout le code. Il y a plusieurs raisons à cela. Si les termes du droit d'auteur doivent un jour être défendus ou faits entendre devant une court, il est beaucoup plus aisé si une seule entité en a le droit, autrement, tous les contributeurs devraient coopérer alors que certains pourraient ne pas avoir le temps ou pourraient même ne pas être joignables lorsque le problème se présente. De plus, si le code fait l'objet d'une poursuite pour violation du droit d'auteur, vous ne voudriez pas que l'un de vos développeurs soit personnellement poursuivit. Souvenez vous que la concentration de la propriété du droit d'auteur ne rend pas le code moins libre. Les licences Open Source ne donnent pas le droit au détenteur du droit d'auteur de rendre rétroactivement propriétaire toutes les copies du code. Même si l'entité possédant les droits d'auteur retournait soudainement sa veste et décidait de distribuer le code sous une licence plus restrictive, cela ne poserait pas de problème au projet public. Les autres développeurs n'auraient qu'à commencer une fourche basée sur la dernière version libre du code et qu'à continuer comme si rien ne s'était passé. Comme ils savent qu'ils ont cette possibilité, ça ne pose pas de problème pour la plupart des développeurs d'attribuer les droits d'auteur à une organisation fournissant le support financier.
Selon l'organisation, la rigueur avec laquelle elle collecte les attributions de droits d'auteur varie. Pour la plupart, obtenir une déclaration de l'un des contributeurs sur la liste publique est suffisant, quelque chose comme « Par la présente, j'attribue les droits d'auteur sur ce code au projet, il devra être publié sous la même licence que le reste du code. » Au moins un des avocats à qui j'ai parlé dit que c'est largement suffisant, certainement parce que cela se déroule dans un contexte où l'attribution du droit d'auteur est normal et attendu de toute façon et parce que cela représente un acte de bonne foi de la part du projet pour s'assurer des réelles intentions des développeurs. D'un autre côté, la Free Software Foundation a choisi la solution opposée : ils demandent que les participants signent et envoient par courrier une lettre contenant une déclaration officielle de l'attribution des droits d'auteur, parfois pour une seule contribution, parfois pour toutes leurs contributions présentes et à venir. Si le développeur est un employé, la FSF demande également que l'employeur signe. La paranoïa de la FSF est compréhensible. Si quelqu'un viole les termes de la GPL en ajoutant certains de leurs logiciels dans des programmes propriétaires, la FSF devra alors se battre devant une court et ils veulent donc que leurs droits d'auteur soient aussi solides que possible quand cela arrive. Comme la FSF est détentrice des droits d'auteur d'un grand nombre de logiciels populaires, cette éventualité est très réel pour eux. C'est à vous de décider, avec l'aide d'avocats, si votre organisation doit être aussi prudente.
[modifier] Dual Licensing Schemes / La double licence
Some projects try to fund themselves by using a dual licensing scheme, in which proprietary derivative
works may pay the copyright holder for the right to use the code, but the code still remains free for use
by Open Source projects. This tends to work better with code libraries than with standalone applications,
naturally. The exact terms differ from case to case. Often the license for the free side is the GNU GPL,
since it already bars others from incorporating the covered code into their proprietary product without
permission from the copyright holder, but sometimes it is a custom license that has the same effect. An
example of the former is the MySQL license, described at ht-
tp://www.mysql.com/company/legal/licensing/; an example of the latter is Sleepycat Software's licens-
ing strategy, described at http://www.sleepycat.com/download/licensinginfo.shtml.
You might be wondering: how can the copyright holder offer proprietary licensing for a mandatory fee if
the terms of the GNU GPL stipulate that the code must be available under less restrictive terms? The an-
swer is that the GPL's terms are something the copyright holder imposes on everyone else; the owner is
therefore free to decide not to apply those terms to itself. A good way to think of it is to imagine that the
copyright owner has an infinite number of copies of the software stored in a bucket. Each time it takes
one out of the bucket to send into the world, it can decide what license to put on it: GPL, proprietary, or
something else. Its right to do this is not tied to the GPL or any other Open Source license; it is simply a
power granted by copyright law.
The attractiveness of dual licensing is that, at its best, it provides a way for a free software project to get
a reliable income stream. Unfortunately, it can also interfere with the normal dynamics of Open Source
projects. The problem is that any volunteer who makes a code contribution is now contributing to two
distinct entities: the free version of the code and the proprietary version. While the contributor will be
comfortable contributing to the free version, since that's the norm in Open Source projects, she may feel
funny about contributing to someone else's semi-proprietary revenue stream. The awkwardness is ex-
acerbated by the fact that in dual licensing, the copyright owner really needs to gather formal, signed
copyright assignments from all contributors, in order to protect itself from a disgruntled contributor later
claiming a percentage of royalties from the proprietary stream. The process of collecting these assign-
ment papers means that contributors are starkly confronted with the fact that they are doing work that
makes money for someone else.
Not all volunteers will be bothered by this; after all, their contributions go into the Open Source edition
as well, and that may be where their main interest lies. Nevertheless, dual licensing is an instance of the
copyright holder assigning itself a special right that others in the project do not have, and is thus bound
to raise tensions at some point, at least with some volunteers.
What seems to happen in practice is that companies based on dual licensed software do not have truly
egalitarian development communities. They get small-scale bug fixes and cleanup patches from external
sources, but end up doing most of the hard work with internal resources. For example, Zack Urlocker,
vice president of marketing at MySQL, told me that the company generally ends up hiring the most act-
ive volunteers anyway. Thus, although the product itself is Open Source, licensed under the GPL, its de-
velopment is more or less controlled by the company, albeit with the (extremely unlikely) possibility
that someone truly dissatisfied with the company's handling of the software could fork the project. To
what degree this threat preëmptively shapes the company's policies I don't know, but at any rate,
MySQL does not seem to be having acceptance problems either in the Open Source world or beyond.Certains projets tentent de s'auto-financer en adoptant une double licence, c'est un système dans lequel toute société peut payer le détenteur des droits d'auteur pour obtenir son accord pour utiliser le code dans un programme propriétaire, mais le code reste libre pour les projets Open Source. Cela fonctionne mieux pour des librairies de code que pour des applications autonomes évidemment. Les termes exactes varient d'un cas à l'autre. La licence pour l'aspect libre est la GNU GPL, puisqu'elle empêche déjà n'importe qui d'ajouter le code protégé dans un produit propriétaire sans l'autorisation du détenteur des droits, mais parfois c'est une licence personnalisée ayant les mêmes effets. Ainsi la licence MySQL décrite à l'adresse http://www.mysql.com/company/legal/licensing/ utilise la licence GNU GPL et on peut citer comme exemple de licence personnalisée le système de licence de Sleepycat Software décrit à l'adresse http://www.sleepycat.com/download/licensinginfo.shtml.
Vous vous demandez sûrement comment le détenteur des droits peut proposer une licence propriétaire contre une rémunération si les termes de la GNU GPL stipulent que le code doit être mis à disposition sous des conditions moins restrictive. La réponse est que les termes de la GPL sont imposés par le détenteur des droits à tout le monde sauf aux logiciels propriétaires, l'auteur est libre de décider de ne pas appliquer les mêmes termes pour lui même. Une bonne représentation de cela est de s'imaginer que le détenteur des droits possède un nombre infini de copies du logiciel rangées dans un sceau. A chaque fois qu'il sort une copie du sceau pour la donner au monde il peut décider quelle licence il lui applique : GPL, propriétaire ou une autre encore. Son droit de faire cela n'est pas lié à la GPL ou à aucune autre licence Open Source, c'est simplement un pouvoir qui lui est accordé par les lois du droit d'auteur.
L'attrait de la double licence est que, dans le meilleur des cas, elle donne un moyen à un projet de logiciel libre d'avoir une source de revenue sure. Malheureusement, cela peut aussi interférer avec la dynamique normale d'un projet Open Source. Le problème est que chaque volontaire apportant sa contribution au code participe maintenant aux deux entités : à la fois à la version libre et à la version propriétaire du code. Alors que ça ne lui posera pas de problème de contribuer à la version libre, puisque c'est la norme dans les projets Open Source, il pourrait ne pas désirer contribuer aux revenus constants semi-propriétaires de quelqu'un d'autre. Ce côté étrange est exacerbé par le fait que pour une double licence, le détenteur des droits doit vraiment recevoir une déclaration officielle, signée de l'attribution des droits d'auteur par tous les participants afin de se protéger si plus tard un participant mécontent prétend à un pourcentage des droits des revenus propriétaires. Le processus de collecte des attributions signifie que les participants sont bien prévenus que le travail qu'ils produisent enrichira quelqu'un d'autre.
Tous les volontaires ne se soucieront pas de ça, après tout leur contribution participe également au développement de l'édition Open Source et c'est bien là leur intérêt. Néanmoins, la double licence est un exemple où le propriétaire des droits d'auteur se donne à lui même un droit particulier que les autres personnes dans le projet n'ont pas, ce qui conduira tôt ou tard à des tensions, au moins avec quelques volontaires.
En pratique il semble que les entreprises qui travaillent sur des logiciels à double licence n'ont pas une communauté de développement vraiment égalitaire. Ils profitent des correctifs de bogues mineurs ou des maintenances proposés par des sources externes, mais ils font le gros du travail en interne. Par exemple, Zack Urlocker, vice président du marketing chez MySQL, m'a dit que l'entreprise finit souvent pas employer les volontaires les plus actifs de toute façon. Ainsi, le produit en lui-même est Open Source, sous une licence GPL, son développement est plus ou moins contrôlé par une entreprise, même si la probabilité (extrêmement faible) que quelqu'un de vraiment insatisfait de la gestion du logiciel par l'entreprise fasse une fourche existe. Je ne sais pas à quel point cette menace entre en compte dans la politique de l'entreprise, mais en tout cas, MySQL ne semble pas avoir de problème d'acceptation, que ce soit dans le monde de l'Open Source ou ailleurs.
[modifier] Patents / Brevets
Software patents are the lightning rod issue of the moment in free software, because they pose the only real threat against which the free software community cannot defend itself. Copyright and trademark problems can always be gotten around. If part of your code looks like it may infringe on someone else's copyright, you can just rewrite that part. If it turns out someone has a trademark on your project's name, at the very worst you can just rename the project. Although changing names would be a temporary in- convenience, it wouldn't matter in the long run, since the code itself would still do what it always did. But a patent is a blanket injunction against implementing a certain idea. It doesn't matter who writes the code, nor even what programming language is used. Once someone has accused a free software project of infringing a patent, the project must either stop implementing that particular feature, or face an ex- pensive and time-consuming lawsuit. Since the instigators of such lawsuits are usually corporations with deep pockets—that's who has the resources and inclination to acquire patents in the first place