PostgreSQL與MySQL開源協議對比

前言

作爲開源數據庫的傑出代表,主要來對比PostgreSQL與MySQL的版權。版權可以理解爲許可(License),直接與開源協議的描述相關,下面來看一下兩者的許可表述。

PostgreSQL許可

PostgreSQL許可是一種自由的開源許可,與BSD或MIT許可證類似。1994年之前的部分版權屬於加利福尼亞董事會;1996年-2020年,部分版權屬於PostgreSQL全球開發小組;全球開發小組主要成員分散在世界各地,其背後不受任何公司實體控制,這使其成爲一個真正的開放項目。

BSD開源協議是一個給於使用者很大自由的協議。可以自由的使用,修改源代碼,也可以將修改後的代碼作爲開源或者專有軟件再發布,被譽爲開源許可的“活雷鋒”。

BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由於允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發佈和銷售,因此是對商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因爲可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。
PostgreSQL許可描述:https://www.postgresql.org/about/licence/

MySQL許可

衆所周知,MySQL被Oracle所控制,MySQL同時使用了GPL和一種商業許可(稱爲雙重許可)。

GPL(General Public license)是公共許可,遵循了GPL的軟件是公共的。如果某軟件使用了GPL軟件,那麼該軟件也需要開源,如果不開源,就不能使用GPL軟件,這和是否把該軟件商用與否是沒關係的。

如果無法滿足GPL,就需要獲得商業許可,通過與Oracle公司聯繫,制定解決方案,受Oracle公司約束。

具體約束:
① 不允許對在MySQL上作出的修改申請專利;
② MySQL上的修改需要公開,且所有權歸Oracle所有;
③ 出於純學術目的、練習目的源碼修改也是符合GPL的;
④ Oracle的MySQL企業版或高級功能會涉及費用,並且Oracle公司不允許其它基於MySQL的閉源產品。
其它基於MySQL的數據庫也遵循並必須遵循GPL許可或GPL的修訂版GPL V2,譬如Mariadb。GPL 許可邏輯上與商業許可存在衝突,可以理解爲:商業許可是控制MySQL的公司留給自己的特權。
由於GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對於使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的就不適合集成/採用作爲類庫和二次開發的基礎。從GPL 到GPL V2 V3,另外還有LGPL,這個協議一直有在演變中,內容表述比較複雜,這會影響開源精神的發展與傳承並且容易產生分歧。

MySQL許可描述:https://www.mysql.com/about/legal/licensing/oem/
GPL V2原文描述:https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

總結

同爲開源軟件,PostgreSQL源碼使用自由友好、商業應用不受任何公司實體所控制,而MySQL則在一定程度上有所限制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章