Licencias #

Matplotlib solo usa código compatible con BSD. Si trae código de otro proyecto, asegúrese de que tenga una licencia PSF, BSD, MIT o compatible (consulte la página de licencias de Open Source Initiative para obtener detalles sobre licencias individuales). Si no es así, puede considerar ponerse en contacto con el autor y pedirle que vuelva a obtener la licencia. Los códigos GPL y LGPL no son aceptables en la base de código principal, aunque estamos considerando una forma alternativa de distribuir el código L/GPL a través de un canal separado, posiblemente un conjunto de herramientas. Si incluye código, asegúrese de incluir una copia de la licencia de ese código en el directorio de licencias si la licencia del código requiere que distribuya la licencia con él. Las licencias no compatibles con BSD son aceptables en los kits de herramientas de Matplotlib (por ejemplo, mapa base), pero asegúrese de indicar claramente las licencias que está utilizando.

¿Por qué BSD compatible? #

Las dos variantes de licencia dominantes en la naturaleza son el estilo GPL y el estilo BSD. Existen innumerables otras licencias que imponen restricciones específicas sobre la reutilización de código, pero hay una diferencia importante a considerar en las variantes GPL y BSD. La licencia más conocida y quizás la más utilizada es la GPL, que además de otorgarle todos los derechos sobre el código fuente, incluida la redistribución, conlleva una obligación adicional. Si usa código GPL en su propio código, o se vincula con él, su producto debe publicarse bajo una licencia compatible con GPL. es decir, usted está obligado a dar el código fuente a otras personas y darles el derecho de redistribuirlo también. Muchos de los proyectos de código abierto más famosos y ampliamente utilizados se publican bajo la licencia GPL, incluidos linux, gcc, emacs y sage.

La segunda clase principal son las licencias de estilo BSD (que incluyen MIT y la licencia PSF de Python). Estos básicamente le permiten hacer lo que quiera con el código: ignorarlo, incluirlo en su propio proyecto de código abierto, incluirlo en su producto propietario, venderlo, lo que sea. python en sí se publica bajo una licencia compatible con BSD, en el sentido de que, citando la página de licencia de 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.

Proyectos famosos lanzados bajo una licencia estilo BSD en el sentido permisivo del último párrafo son el sistema operativo BSD, python y TeX.

Hay varias razones por las que los primeros desarrolladores de Matplotlib seleccionaron una licencia compatible con BSD. Matplotlib es una extensión de python y elegimos una licencia basada en la licencia de python (compatible con BSD). Además, queríamos atraer a la mayor cantidad posible de usuarios y desarrolladores, y muchas empresas de software no usarán el código GPL en el software que planean distribuir, incluso aquellas que están muy comprometidas con el desarrollo de código abierto, como enthought., debido a la preocupación legítima de que el uso de la GPL "infectará" su base de código por su naturaleza viral. En efecto, quieren conservar el derecho de publicar algún código propietario. Las empresas e instituciones que usan Matplotlib a menudo hacen contribuciones significativas porque tienen los recursos para hacer un trabajo, incluso uno aburrido. Dos de los backends de Matplotlib (FLTK y WX) fueron aportados por empresas privadas. La razón final detrás de la elección de la licencia es la compatibilidad con las otras extensiones de python para computación científica: ipython, numpy, scipy, el conjunto de herramientas enthought y python en sí mismo se distribuyen bajo licencias compatibles con BSD.