Lizenzen #
Matplotlib verwendet nur BSD-kompatiblen Code. Wenn Sie Code aus einem anderen Projekt einbringen, vergewissern Sie sich, dass er über eine PSF-, BSD-, MIT- oder kompatible Lizenz verfügt (Einzelheiten zu Einzellizenzen finden Sie auf der Lizenzseite der Open Source Initiative ) . Wenn dies nicht der Fall ist, können Sie den Autor kontaktieren und ihn um eine erneute Lizenzierung bitten. GPL- und LGPL-Code sind in der Hauptcodebasis nicht akzeptabel, obwohl wir eine alternative Möglichkeit zur Verteilung von L/GPL-Code über einen separaten Kanal in Betracht ziehen, möglicherweise ein Toolkit. Wenn Sie Code hinzufügen, stellen Sie sicher, dass Sie eine Kopie der Lizenz dieses Codes in das Lizenzverzeichnis aufnehmen, wenn die Lizenz des Codes erfordert, dass Sie die Lizenz damit verteilen. Nicht-BSD-kompatible Lizenzen sind in Matplotlib-Toolkits (z. B. Basemap) akzeptabel, aber stellen Sie sicher, dass Sie die von Ihnen verwendeten Lizenzen klar angeben.
Warum BSD-kompatibel? #
Die beiden dominierenden Lizenzvarianten in freier Wildbahn sind der GPL-Stil und der BSD-Stil. Es gibt unzählige andere Lizenzen, die der Wiederverwendung von Code spezifische Beschränkungen auferlegen, aber es gibt einen wichtigen Unterschied zwischen den GPL- und BSD-Varianten. Die bekannteste und vielleicht am weitesten verbreitete Lizenz ist die GPL, die Ihnen nicht nur die vollen Rechte am Quellcode einschließlich der Weitergabe gewährt, sondern auch eine zusätzliche Verpflichtung mit sich bringt. Wenn Sie GPL-Code in Ihrem eigenen Code verwenden oder damit verlinken, muss Ihr Produkt unter einer GPL-kompatiblen Lizenz veröffentlicht werden. dh Sie müssen den Quellcode an andere Personen weitergeben und ihnen das Recht einräumen, ihn ebenfalls weiterzuverbreiten. Viele der bekanntesten und am weitesten verbreiteten Open-Source-Projekte werden unter der GPL veröffentlicht, darunter Linux, gcc, emacs und sage.
Die zweite Hauptklasse sind die Lizenzen im BSD-Stil (zu denen MIT und die Python-PSF-Lizenz gehören). Diese erlauben Ihnen im Grunde, mit dem Code zu tun, was Sie wollen: Ignorieren, in Ihr eigenes Open-Source-Projekt einbinden, in Ihr proprietäres Produkt einbinden, verkaufen, was auch immer. Python selbst wird unter einer BSD-kompatiblen Lizenz veröffentlicht, in dem Sinne, dass, zitiert von der PSF-Lizenzseite:
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.
Berühmte Projekte, die unter einer Lizenz im BSD-Stil im permissiven Sinne des letzten Absatzes veröffentlicht wurden, sind das BSD-Betriebssystem, Python und TeX.
Es gibt mehrere Gründe, warum sich die frühen Matplotlib-Entwickler für eine BSD-kompatible Lizenz entschieden haben. Matplotlib ist eine Python-Erweiterung, und wir wählen eine Lizenz, die auf der Python-Lizenz basiert (BSD-kompatibel). Außerdem wollten wir so viele Benutzer und Entwickler wie möglich anziehen, und viele Softwareunternehmen werden keinen GPL-Code in Software verwenden, die sie verteilen möchten, selbst diejenigen, die sich stark für die Entwicklung von Open Source einsetzen, wie z. B. enthought, aus berechtigter Sorge, dass die Verwendung der GPL ihre Codebasis durch ihre virale Natur "infiziert". Tatsächlich wollen sie das Recht behalten, proprietären Code freizugeben. Unternehmen und Institutionen, die Matplotlib verwenden, leisten oft erhebliche Beiträge, weil sie die Ressourcen haben, um eine Arbeit zu erledigen, auch eine langweilige. Zwei der Matplotlib-Backends (FLTK und WX) wurden von privaten Unternehmen beigesteuert. Der letzte Grund für die Lizenzentscheidung ist die Kompatibilität mit den anderen Python-Erweiterungen für wissenschaftliches Rechnen: ipython, numpy, scipy, die integrierte Tool-Suite und Python selbst werden alle unter BSD-kompatiblen Lizenzen vertrieben.