搜尋本站文章

2007-11-14

MySQL 的 GPL 之討論


MySQL 是採用雙授權的機制:商業授權 與 GNU 通用公共許可證(GPL,GNU General Public License)。也就是說,使用 MySQL 一定要有授權後才可以合法使用。

若是想要免費使用 MySQL ,我們必須要符合 GPL 的授權規範。關於 GPL 的相關資訊,可以參考 FSF(自由軟體基金會)的網站。
FSF - The Free Software Foundation http://www.fsf.org/
FSF Free Software Licensing and Compliance Lab http://www.fsf.org/licensing
Frequently Asked Questions about the GNU GPL http://www.fsf.org/licensing/licenses/gpl-faq.html

GNU 通用公共許可證(GNU General Public License)(英文通常以 GNU GPL 或是直接簡短的以GPL表示),是一個廣泛被使用的自由軟體許可證,最初由 Richard Matthew Stallman,RMS 為GNU計劃而撰寫。
目前最新的 GPL 版本是 3.0,是於 2007年6月29日發佈。GNU 寬通用公共許可證(GNU Lesser General Public License,一般簡稱 LGPL)這是是改 GPL 後的版本,其目的是為了適用於部分軟體的函式庫。

GPL 適用於以下的情境:
  • 依據 GPL 授權,將應用程式與 MySQL 兩者的原始碼一併散佈時。
  • 當 MySQL 系統對於您開發的應用程式,是非必要的時候,也是可以合法的使用 MySQL;即便您的軟體是要收費。這在 GPL 授權內,稱為 mere aggregation 規則 (http://www.gnu.org/licenses/gpl-faq.html)。
  • 當您的應用程式沒有使用到 MySQL 系統的任何部分。
  • 當您是 ISP(Internet Service Provider,網際網路服務供應商),提供客戶網站代管服務時,網站上使用的 MySQL 資料庫,一樣是可以免費使用。
  • 當透過 Web Server 連結 MySQL ,這也是不需要使用商業授權,也就是當: 網站並不是您散發的應用程式時;即便是使用該網站是商業營利目的。
進一步說明上述可以免費使用 MySQL 情境:
  • 要免費使用 MySQL ,就需要符合 GPL 的授權。
  • 您是軟體設計師,在設計於資料庫連線時,採用 ODBC 連結到 MySQL,使用 ANSI SQL 來存取 MySQL ,沒有使用任何到 MySQL 的程式物件(例如:預存程序、MySQL 才有支援的函數等等),也就是您的應用程式,可以連接任何資料庫。
  • 在公司內部開發的應用程式,使用 MySQL 做資料庫,但沒有散發應用程式。

列舉需要使用商業授權的情境:
您開發的商業應用程式,需要使到 MySQL 的相關功能。

以下是官方討論區的資料,免費使用,但必須公開原始碼:
http://forums.mysql.com/read.php?4,32779,32779#msg-32779
http://forums.mysql.com/read.php?4,43936,45742#msg-45742

符合 GPL ,可以免費使用:
http://forums.mysql.com/read.php?4,135132,135214#msg-135214
http://forums.mysql.com/read.php?4,148906,148906#msg-148906
http://forums.mysql.com/read.php?4,150560,150562#msg-150562
http://forums.mysql.com/read.php?4,150560,150711#msg-150711
http://forums.mysql.com/read.php?4,346,45743#msg-45743

MySQL 也有提供一種補強 GPL 授權的授權機制,適用於當軟體不完全符合 GPL 的授權,仍可以使用 MySQL 用戶函式庫。
FLOSS License Exception http://www.mysql.com/company/legal/licensing/foss-exception.html
FLOSS 是指: Free/Libre and Open Source Software
上述有特別列表可以免費使用 MySQL 的情境、軟體。

Best Regards
Derrick Chen 德瑞克