天天看點

開源掃盲:MySQL是否為完全免費軟體?

MySQL是世界上最受歡迎的開源資料庫。MySQL在中國也越來越受歡迎并被廣泛關注。但是中國部分使用者對于MySQL認識還存在一個誤區,當提起MySQL時,許多使用者第一反應是:“MySQL不是完全免費的軟體嗎?”。然而,通過仔細研讀MySQL所遵循的GPLv2協定,得到的結論是:MySQL是開源軟體,但開源并不意味着完全免費,開源的優勢可以使更多的人對代碼改進和完善,但開源軟體的使用應遵循該軟體提供的使用授權協定。

  參考MySQL官方網站的相關說明,我們可以找到這個問題的确切答案。

  http://www.mysql.com/about/legal/licensing/oem/

  Oracle/Sun公司以雙重許可的方式提供 MySQL資料庫伺服器和 MySQL用戶端庫,旨在滿足開發和分銷需求的商業分銷商(例如 OEMs,ISVs和 VARs)和開源項目兩種需求。

  對于OEMs,ISVs,VARs 和其他商業應用分銷商: OEMs,ISVs,VARs 和其他分銷商如果在分銷的商業授權軟體中結合了MySQL 資料庫,且不願意遵循GNU GPL V2 協定公開商業授權軟體源碼的,必須和Oracle/Sun 公司達成商業許可協定。

  對于開源項目和其他開放源碼的應用開發人員:對于遵循GPL 協定的自由開放源碼軟體(“FOSS”)開發者,想要分發這些包含MySQL 的FOSS 應用,Oracle/Sun 的MySQL GPL 開源軟體許可将是最好的選擇。對于遵循FOSS 協定而不是GPL 協定的軟體開發者和分銷商,Oracle/Sun公司提供一個GPL許可的MySQL用戶端庫,其中對FOSS做了例外處理,使其在特定情況下,使用這些MySQL 用戶端庫而不會使整個衍生軟體必須遵循GPL 協定。

  簡而言之,如果您開發的應用軟體用到MySQL,不用于銷售盈利,您可以免費使MySQL,但您同時也必須開放您的源代碼。反之您是用于銷售,您應該支付License費用。

  MySQL是開源自由軟體,當我們在談論自由軟體時,我們所指的是自由,而不是價格。開源自由軟體不同于一般意義上的免費軟體,很多商業軟體企業在激烈市場競争下,也紛紛推出了免費版本如微軟的SQL Server免費版本。

  MySQL創始人之一David Axmark針對該現象這樣指責道:“不要相信它們所謂的開源。開源和免費不是一個概念,開源最大的意義在于最底層源代碼都是完全開放的,所有的使用者都可以來看,都可以來尋找bug,然後加以修改。免費軟體做到了成本的降低,但永遠不可能通過這樣的方式提高品質,這就是我們和它們的差別。”

  開源和商業并不沖突,一方面,通過開源版本使MySQL資料庫擁有大量使用者,産品品質得到不斷的改進和發展;另一方面,開源使商業目的的使用者的前期研發投入為零,MySQL資料庫通過商業版的許可銷售和支援服務則可以獲得收入。這在某種程度上,可以成功解決開源軟體如何盈利的問題,促進開源軟體産品更長遠發展。

  伴随着開源軟體在中國的發展,諸多相關讨論提及法律問題,越來越多的讨論甚至争論轉向法律層面。在2010年開源中國高峰論壇上,IT168專訪自自由軟體基金會的法律專家Mishi Chowdhury女士時表示:“中國多數企業在利用、開發開源軟體時存在不規範行為,是以為企業埋下巨大的潛在風險”。本文旨在幫助使用者了解MySQL開源軟體所應遵循的使用授權相關的法律條款。