如果我根據商業許可分發我自己的客戶端應用程序,該應用程序與位於我的服務器上的MySQL Community Edition(GPLv2)進行交互,它需要我的客戶端應用程序使用GPL嗎?如何在沒有GPL的情況下安全地分發我的應用程序給我的客戶?據我瞭解,只有在嵌入MySQL的情況下,我才需要MySQL商業許可證。如果只是「連接到」,GPL是否需要我的應用程序?客戶端應用程序和MySQL GPL
回答
以下是我個人的看法,但不是在所有管轄的終極真理:
最安全的辦法是,你不是在所有自己分配 MySQL客戶端庫。如果你不分發它們,你不可能受其許可限制。
只需提供描述如何下載和安裝所需庫的詳細說明並讓用戶執行此操作。
UPDATE:
關於您提供通過網絡服務的數據庫:它沒有任何區別。
只要你不是分發任何GPL代碼,你是安全的。
如果MySQL使用GNU Affero許可證,它可能會變得更加複雜,但事實並非如此。
更新2:
如果谷歌爲「GPL動態鏈接」,讀幾篇文章,你會發現,關於動態鏈接的問題還不清楚,即使在美國。因此,除非您在您的管轄範圍內與甲骨文一起上法庭,否則這個問題沒有明確的答案。這對他們的銷售非常方便,他們喜歡你害怕。
我不在美國。我不知道你在哪裏。在我的管轄範圍內,聲稱只是爲一個沒有分發的圖書館創建一個兼容的接口,創建衍生作品將不會通過。我想指出的是,有很多與MySQL兼容的程序,並且您看不到任何麻煩。
+1到@snap對他很好的答案,我會添加其他具體的例子:
PHP的許可證是新BSD許可證,這是不符合GPL兼容的衍生物。所以PHP發行版不能包含MySQL客戶端庫;用戶必須單獨下載它。這樣,PHP和用戶都符合GPL許可證,因爲只有MySQL.com是分銷的MySQL軟件。
幾年前,MySQL開發了new client library specifically for PHP,它利用PHP內部進行資源管理,但可能更重要的是在PHP許可證下授權,這使得它可以與PHP發行版捆綁在一起。
這意味着如果您的項目是用PHP編寫的,您可以在商業項目中使用和分發MySQLnd客戶端庫 - 事實上,您應該這麼做的技術原因很好,因爲它已針對PHP進行了優化。
MySQLnd的+1。有傳言說C中新的LGPL客戶端庫正在開發中。這應該解決C API的所有鏈接不確定性。然後還有* libdrizzle * BSD許可證,但它沒有文檔和[它似乎不是很受歡迎](http://stackoverflow.com/questions/6220845/using-libdrizzle-as-an-async- MySQL的連接器)。 – snap
一個非常好的選擇是MariaDB客戶端庫,它是根據LGPL 2.0許可的。 請參閱https://downloads.mariadb.org/client-native/
- 1. 客戶端響應應用程序.Json
- 2. EJB遠程應用程序 - 客戶端
- 3. Web/J2EE和客戶端應用程序的端到端分析
- 4. Apigee客戶端應用程序客戶端身份驗證
- 5. WCF服務與網絡應用程序客戶端和Android客戶端通信
- 6. 應用程序客戶端和獨立客戶端之間的區別
- 7. Java opc客戶端應用程序
- 8. VB6 Outlook 2003客戶端應用程序
- 9. DB2應用程序開發客戶端
- 10. 爲IP客戶端應用程序
- 11. Android客戶端應用程序
- 12. Datasnap客戶端應用程序掛起
- 13. 客戶端應用程序更新
- 14. 應用程序客戶端EJB Eclipse Glassfish
- 15. SOAP客戶端應用程序異常
- 16. iOS客戶端應用程序設計
- 17. Azure應用程序客戶端機密
- 18. Subversion客戶端應用程序
- 19. 如何在客戶端應用程序
- 20. Java獨立客戶端應用程序
- 21. ASP.Net中的客戶端應用程序
- 22. Pusher應用程序客戶端事件
- 23. GlassFish應用程序客戶端容器
- 24. 更新客戶端應用程序
- 25. 安卓:從客戶端應用程序
- 26. 無法在客戶端應用程序
- 27. 客戶端的NodeJS應用程序
- 28. 客戶端應用程序Hololens
- 29. 保護客戶端Java應用程序
- 30. 爲客戶端發佈應用程序
我投票結束這個問題作爲題外話題,因爲它涉及許可或法律問題,而不是編程或軟件開發。 [見這裏](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)的詳細信息,並且[求助]更多。 – JasonMArcher