很多人都不理解MySQL的授權方式,主要原因是沒有中文資料別無其他!我不想嘲笑誰,但是我認為有必要搞清楚這一重要的因素。國際官司我們已經吃虧太多了,我不想這變成笑柄。
當前,MySQL采用雙重授權(Dual Licensed),他們是GPL和MySQL AB制定的商業許可協議。如果你在一個遵循GPL的自由(開源)項目中使用MySQL,那麼你可以遵循GPL協議使用MySQL。否則,你需要購買MySQLAB制定的那個商業許可協議。這裡最重要的一點就是要想免費使用MySQL,你所開發的軟件必須是遵循GPL的自由(開源)軟件,雖然被批准的自由(開源)許可協議有很多個。
理清授權管轄的范圍
MySQL是一套客戶端/服務器(C/S)結構的系統。雙重許可機制對兩大塊同時進行約束,但是並不絕對。MySQL AB(MySQL的出品公司)考慮到便於人們使用,客戶端是完全遵循GPL許可。也就是說,在事實上MySQL的雙重許可機制這一雙重的特點是對服務器端而言的。我想,我恐怕會把一些人搞糊塗,這裡所說的客戶端指的是MySQL AB開發的那個命令行下的客戶端工具(MySQL.exe)。
不同操作系統下是否有特殊的限制?
在當前可以說沒有,如果有只是MySQL具體代碼實現上的功能差異,許可協議本身是沒有特定區分的。在早期MySQL確實對微軟/非微軟操作系統進行過特定的區分,在那時如果要獲得Windows平台最新的MySQL,你必須付費購買,現在已經不同了。
Windows版本是否受到限制?
剛才已經說過了,現在沒有這種區分,唯一的差異是不同操作系統下的具體實現造成的。當前,你可以隨意獲得最新的Windows版本分發。他們是沒有功能、時間限制的。當然,你應該遵循許可協議。
以教育為目的是否需要付費?
其實沒有這個區分,主要的取決還是軟件是否遵循GPL進行發布。當然,如果只是用來做課堂教學是不用購買商業許可協議,這種情況下MySQL遵循GPL許可協議。
我該買幾個許可證?
MySQL的許可證按照計算機台數計算,一台機器一個。至於一台機器多個操作系統的情況下該購買幾個許可證這種龌鹾問題別問我,我不知道!許可證和技術支持的關系?!技術支持和許可證是不同的東西。雖然很多的軟件會把它們搭配銷售,但是實際上應該有單獨簽署一份技術支持保障協議。具體的時限和價格我不清楚。
MySQL API的授權
MySQL客戶端API遵循GPL協議,其中所包含的GNU getopt 遵循LGPL,並且一些地方用到的regexp庫則遵循BSD許可協議。
更多的信息
強烈建議去看看手冊中MySQL許可協議的相關授權章節,裡邊寫的非常詳細。