MySQL-Lizenzierung und GPL
Soweit ich weiß, wenn ich ein desktop/server-app mit jeder GPL-code, wie MySQL habe ich zu release den source-code meiner software unter der GPL.
Wenn ich will, um die Entwicklung einer web-Anwendung mit MySQL, mein code wird der link gegen die MySQL-Bibliotheken. Muss ich release der sourcecode meiner webapp in dieser situation zu sein, in übereinstimmung mit der GPL?
InformationsquelleAutor der Frage George | 2009-03-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, dass Sie es nur-server - (und daher "private"), die Sie nicht haben, um Sie freizugeben, als der GPL.
Aber sobald es erreicht die öffentliche desktops, es kann nicht mehr sein als eine interne build, und damit source-code benötigt wird.
So können Sie:
InformationsquelleAutor der Antwort luiscubal
Müssen Sie entweder lassen Sie die source (unter GPL), oder bezahlen für eine proprietäre Lizenz für MySQL, so dass Sie gewinnen das Recht zum verteilen der MySQL-binaries, die unter einer Lizenz, die es mehr empfänglich zu, dass die proprietären Produkte verwenden. Es ist am besten, um diese Art von Fragen zu Ihrem Anwalt, aber.
ETA: Nur zur Klarstellung ein wenig; wenn Sie schreiben Ihre eigene Bibliothek, die spricht, um Sie MySQL, indem Sie Ihre wire-line-Protokoll, dann wirst du immer 100% im klaren. Ebenso, wenn Sie eine Bibliothek, die hat genau das getan, aber ist BSD lizensiert (als Beispiel), dann würden Sie sich auch im klaren, denn Sie reden nur, um MySQL über eine socket-Verbindung, und nicht eigentlich ein Aufruf an GPL-code. Ich bin nicht sofort Kenntnis von irgendwelchen BSD-lizenzierten Schnittstellen zur MySQL-Protokoll, aber es ist durchaus möglich, dass es eine ist irgendwo da draußen.
InformationsquelleAutor der Antwort Michael Trausch
Wenn Sie mit der web-Applikation selbst, und nicht, verteilen es als eine Anwendung, dann müssen Sie nicht haben, lassen Sie die Quelle. Wenn der Zugriff auf eine web-Anwendung ist nicht als Verbreitung.
Edit: bei Interesse könnte man auf die Affero General Public Licensedie erfordert, dass die Quelle zur Verfügung gestellt werden, um Netzwerk-Benutzer von AGPL-software (z.B. wäre es für web-Anwendungen).
InformationsquelleAutor der Antwort Boden
Müssen Sie nicht unbedingt verknüpfen, die gegen die MySQL-Bibliotheken, um die Verwendung von MySQL in der Anwendung. Alles, was Sie tun müssen, ist, um "sprechen" zu einem MySQL-server über das MySQL-Protokoll; in welchem Fall, Sie sind die Verbindung zum MySQL-server als client, d.h. als Benutzer, und dann brauchen Sie nicht zu veröffentlichen Ihre software unter der GNU GPL Lizenz.
Die Frage ist, wie kann Ihr Programm sprechen, das MySQL-Protokoll? Eine Möglichkeit ist die Verwendung der offiziellen MySQL-client-Bibliothek (connector), die ist unter der GPL steht. Wenn Sie dies tun, werden Sie statisch gelinkt werden Ihr Programm mit einer GPL-Bibliothek, und so müssen Sie veröffentlichen Ihre software unter der GPL.
Alternativ können Sie einen link gegen einen Dritten client Bibliothek, mit einer anderen Lizenz. Zum Beispiel können Sie die MariaDB Client Librarydie LGPL würde (und ist damit kompatibel mit proprietäre software) und bietet die gleiche API der original-MySQL-client-Bibliothek. Finden Sie die MariaDB Lizenzierung FAQdas gilt auch für MySQL, für mehr details und Beratung.
Kann es schwierig sein, zu verteilen, den MySQL-server zusammen mit Ihrer software: Sie könnte einfach verlangen, Ihre Kunden zu herunterladen und installieren Sie MySQL, indem Sie Ihre eigenen, oder die Entwicklung eines einfachen downloader verteilt werden, die mit Ihrer software.
InformationsquelleAutor der Antwort Luca
MySQL verwendet den dual-Lizenzierung. So, wie man es - wenn du bist frei, wir sind frei.
So, wenn Sie, soweit ich weiß, MySQL-JDBC-Connector nur - Sie sollten Lizenz oder GPL-code.
InformationsquelleAutor der Antwort emirc
Es sei denn, Sie ableiten und/oder Verbreitung der GPL-software, sollten Sie sicher sein.
Verlinkung gegen die MySQL-client-Bibliothek ist weder ein abgeleitetes Werk ist, noch die Verteilung.
UPDATE: Kommen, um darüber nachzudenken, wie Sie link (dynamische oder statische) vor den Bibliotheken wird einen Unterschied machen. Statische Links die Verteilung ist, aber wenn Sie mit einem link dynamisch und Ihre Kunden laden Sie die verbindungen selbst, das ist keine Verteilung, und Sie sollten sicher sein.
Oh, und IANAL.
InformationsquelleAutor der Antwort Can Berk Güder
Wie schon andere gesagt haben, wenn Sie nicht mit der Verteilung der app für andere ist es kein Problem.
In der Regel, Sie entwickeln würde, gegen eine standard-Datenbank-API und lassen den Benutzer entscheiden, welche Datenbank-Verbindung zu der app. In diesem Fall gibt es kein Problem. "Code" wäre nicht die Verknüpfung zu libmysqlclient, aber es könnte kombiniert werden mit einer Datenbank access-Modul, das tut link zu libmysqlclient.
Wenn Sie verteilen möchten, einen installer, der festlegt, Ihre Anwendung und libmysqlclient zusammen, dass es wohl nicht Zählung als "mere aggregation", so würde es erfordern, Sie verteilen Ihre app unter einer open source Lizenz. Dies muss jedoch nicht zwangsläufig GPL — siehe MySQL-FOSS License Exception.
Wenn Sie verteilen möchten, einen installer, der festlegt, Ihre Anwendung und der MySQL-server selbst, die Ausnahme nicht gelten, so sind Sie beschränkt auf die GPL nur.
Natürlich IANAL, und es wird sicherlich noch eine gewisse Unsicherheit über das, was zählt als Ableitung insbesondere mit Hinblick auf die dynamische Verknüpfung. Aber das oben ist mein Verständnis von MySQL AB, die traditionelle position auf Lizenzierung, und ich habe nicht gehört, jede änderung der post-Sun-übernahme.
InformationsquelleAutor der Antwort bobince
Leider ist es nicht annähernd so sauber geschnitten: Die GPL verbietet Verteilung ohne Angabe der Quelle jeden "abgeleitetes Produkt". Die Verteilung ist gesetzlich definiert als der Akt der übertragung der Quelle von einem computer zu einem oder mehreren Computern für den offiziellen Gebrauch.
Leider kann auch der Einsatz auf server-Clustern, QA-Boxen, dev-Boxen, usw. In der modernen dev-shop, Freigabe der code auf mehrere frontend - /backend-Boxen ist technisch Verteilung (in den Augen des Gesetzes).
Ist es egal, was die Free Software Foundation meint, es ist wichtig, was ein paar Richter denke, wenn jemand/ein Unternehmen ist verklagt zu tun genau das.
Ist das nur ein Grund mehr, warum die GPL primären Kunden in diesen Tagen sind Unternehmen, die wollen, halten die Konkurrenten aus forking Ihren code. Alle anderen sollten sich überlegen, weit weniger belastend-Lizenzen wie die MIT-oder Creative Commons-Lizenzen.
InformationsquelleAutor der Antwort Theodore R. Smith
Ersten, ich bin kein Jurist. Sprechen Sie mit einem vor der Einnahme jeder Beratung hier.
Darüber hinaus, wenn Sie nicht verbreiten Sie Ihre web-app, die Sie wahrscheinlich nicht brauchen, lassen Sie Ihre änderungen. Sie können immer noch Ihre web-app zur Verfügung, von anderen genutzt werden, wenn Sie als host die web-app.
InformationsquelleAutor der Antwort Scott Bevington
Wenn Ihre distribution enthält und installiert MySql in die gleiche Paket, es erfordert eine kommerzielle Lizenz.
Aber wenn man nur verteilen Sie Ihren code, mit einer bloßen "erfordert MySql" - Hinweis und ein Installations-Skript (erstellen/füllen der Tabellen), sollte es kein problem sein, AFAIK.
IANAL, natürlich.
InformationsquelleAutor der Antwort