341 votes

Licence Apache, BSD et MIT

Il y a quelques années, ZDNet a publié un article J'ai interviewé Greg Stein sur le projet Google Code, discutant de plusieurs licences de logiciels et de la raison pour laquelle Google Code n'en accepte que quelques-unes. Cet article a été l'une de mes plus grandes influences lorsqu'il s'est agi de "comprendre" quelques-unes des licences les plus courantes.

En ce qui concerne la question que je vais poser, voici la citation la plus importante :

C'est l'une des raisons pour lesquelles Google choisit la licence Apache (2.0) par défaut pour les logiciels qu'il met en libre accès. Elle est permissive comme la BSD, mais (contrairement à la BSD) elle mentionne les droits de la loi sur le droit d'auteur et vous donne une licence pour ces droits. En d'autres termes, elle sait réellement ce qu'elle fait, contrairement à d'autres licences permissives.

Êtes-vous d'accord ? En raison de cet article, j'ai utilisé et recommandé la licence Apache plutôt que les licences BSD et MIT sans aucun doute ; mais cet article n'est pas nécessairement le dernier mot en la matière. Y a-t-il quelque chose meilleur (dans la même veine) que la licence Apache ?


J'aime ce que vous dites, Adam, c'est pourquoi j'ai accepté votre réponse. Cependant, il ne me semble pas particulièrement utile, en général, de continuer à promouvoir à la fois Apache et BSD (je suppose que nous supposons que le MIT n'est pas bon dans cette entreprise ?) puisqu'ils sont essentiellement identiques avec cette différence mineure que vous mentionnez et que tout le monde fait de toute façon.

Pour ce qui est de la comparaison entre 4 pages et 1 page, j'imagine que je préfère celle qui couvre mieux mes arrières ! :)

247voto

miguel.de.icaza Points 27138

La licence Apache présente quelques avantages supplémentaires par rapport aux licences de type BSD ou MIT X11.

Les licences Apache 2.0 contiennent une concession de brevet, ce qui signifie qu'au moins les auteurs du code vous donnent tous les droits dont vous avez besoin pour les brevets des auteurs qui se trouvent dans le code que vous utilisez.

193voto

Adam Davis Points 47683

Il faut garder à l'esprit que l'orateur, Greg Stein, est président de la Fondation Apache en plus d'être le principal ingénieur Open Source de Google.

La licence BSD est très, très, très simple, et a été créée en grande partie à une époque où le droit d'auteur sur les logiciels n'était pas un problème important, et le langage juridique n'est donc pas aussi bien rédigé qu'il pourrait l'être.

Mais il s'agit d'un anglais facilement lisible, qui devrait résister au tribunal tout aussi bien que n'importe quelle autre licence.

Cependant :

  • Apache : 4 pages, ~1,400 mots
  • BSD : moins d'une page, ~270 mots

La licence Apache, comme le souligne Greg, est un contrat de licence utilisateur "moderne" dans lequel chaque droit est spécifié et explicitement accordé, restreint, etc. Bien sûr, Google va la préférer - les avocats de Google n'autoriseront pas le langage simple de la licence BSD qui pourrait être ouvert à la moindre spéculation.

Cependant, il est très instructif de noter que Google reconnaît que les licences sont soit suffisamment différentes, soit que la licence BSD est suffisamment populaire, pour justifier l'inclusion des deux licences au lieu d'en définir une comme redondante.

Quant à savoir si vous, ou qui que ce soit d'autre, devez placer le code sous une licence donnée, cela dépend entièrement du détenteur du droit d'auteur (vous, si vous l'avez entièrement écrit).

J'utilise BSD parce que tous les codeurs que je connais comprennent immédiatement ce qu'est BSD et ce qu'il signifie, alors qu'Apache n'est pas aussi connu, et personne n'a envie de lire 4 pages de texte à simple interligne, en caractères 12pt (enfin, sauf les avocats - ils facturent à l'heure...;-)

Mais si vous lisez attentivement la section relative à la redistribution, vous constaterez que la licence Apache est légèrement plus restrictive - on vous demande de faire un peu plus de travail que dans le cas de la licence BSD lorsque vous modifiez la source, par exemple, et que vous la redistribuez. Ce n'est pas grand-chose - chaque programmeur devrait faire ces choses, mais je pense que cela laisse la place à des batailles juridiques qui ne devraient pas faire partie d'une licence véritablement libre.

23voto

antagomir Points 304

Selon l'article de Wikipédia "Licence Apache", "La Free Software Foundation considère que toutes les versions de la licence Apache (à partir de 2007) sont incompatibles avec les précédentes versions 1 et 2 de la GPL". [Voir les références 1-2 ci-dessous]

[1] GPLv3 Final Draft Rationale". Free Software Foundation. 31 mai 2007. (gplv3.fsf.org/rationale). Consulté le 14 juin 2007.

[2] Free Software Foundation (14 janvier 2008). "Licences". (www.fsf.org/licensing/licenses). Consulté le 30 janvier 2008.

Si l'Apache2 n'est pas compatible avec la GPL, je pense que c'est un point relativement fort pour les licences MIT ou BSD car elles sont compatibles avec la GPL ; ceci est crucial dans tout projet qui utilise du code sous licence GPL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X