Licences #

Matplotlib utilise uniquement du code compatible BSD. Si vous apportez du code d'un autre projet, assurez-vous qu'il dispose d'une licence PSF, BSD, MIT ou compatible (voir la page des licences Open Source Initiative pour plus de détails sur les licences individuelles). Si ce n'est pas le cas, vous pouvez envisager de contacter l'auteur et de lui demander de le renouveler. Les codes GPL et LGPL ne sont pas acceptables dans la base de code principale, bien que nous envisageons une autre manière de distribuer le code L/GPL via un canal séparé, éventuellement une boîte à outils. Si vous incluez du code, assurez-vous d'inclure une copie de la licence de ce code dans le répertoire des licences si la licence du code vous oblige à distribuer la licence avec celui-ci. Les licences non compatibles avec BSD sont acceptables dans les kits d'outils Matplotlib (par exemple, fond de carte), mais assurez-vous d'indiquer clairement les licences que vous utilisez.

Pourquoi compatible BSD ? #

Les deux variantes de licence dominantes dans la nature sont de style GPL et de style BSD. Il existe d'innombrables autres licences qui imposent des restrictions spécifiques sur la réutilisation du code, mais il existe une différence importante à prendre en compte dans les variantes GPL et BSD. La licence la plus connue et peut-être la plus largement utilisée est la GPL, qui en plus de vous accorder tous les droits sur le code source, y compris la redistribution, comporte une obligation supplémentaire. Si vous utilisez du code GPL dans votre propre code, ou si vous créez un lien avec celui-ci, votre produit doit être publié sous une licence compatible GPL. c'est-à-dire que vous devez donner le code source à d'autres personnes et leur donner le droit de le redistribuer également. La plupart des projets open source les plus célèbres et les plus utilisés sont publiés sous licence GPL, notamment linux, gcc, emacs et sage.

La deuxième grande classe sont les licences de style BSD (qui incluent MIT et la licence python PSF). Ceux-ci vous permettent essentiellement de faire ce que vous voulez avec le code : l'ignorer, l'inclure dans votre propre projet open source, l'inclure dans votre produit propriétaire, le vendre, peu importe. python lui-même est publié sous une licence compatible BSD, dans le sens où, citant la page de licence PSF :

There is no GPL-like "copyleft" restriction. Distributing
binary-only versions of Python, modified or not, is allowed. There
is no requirement to release any of your source code. You can also
write extension modules for Python and provide them only in binary
form.

Les projets célèbres publiés sous une licence de style BSD au sens permissif du dernier paragraphe sont le système d'exploitation BSD, python et TeX.

Il y a plusieurs raisons pour lesquelles les premiers développeurs Matplotlib ont choisi une licence compatible BSD. Matplotlib est une extension python, et nous choisissons une licence basée sur la licence python (compatible BSD). De plus, nous voulions attirer autant d'utilisateurs et de développeurs que possible, et de nombreux éditeurs de logiciels n'utiliseront pas le code GPL dans les logiciels qu'ils envisagent de distribuer, même ceux qui sont fortement engagés dans le développement open source, comme en Thought, par crainte légitime que l'utilisation de la GPL « infecte » leur base de code par sa nature virale. En effet, ils veulent conserver le droit de publier du code propriétaire. Les entreprises et les institutions qui utilisent Matplotlib apportent souvent des contributions importantes, car elles ont les ressources nécessaires pour faire un travail, même ennuyeux. Deux des backends Matplotlib (FLTK et WX) ont été fournis par des entreprises privées. La dernière raison derrière le choix de la licence est la compatibilité avec les autres extensions python pour le calcul scientifique : ipython, numpy, scipy, la suite d'outils pensée et python lui-même sont tous distribués sous des licences compatibles BSD.