遵守GPL協(xié)議的MySQL數(shù)據(jù)庫(kù) 甲骨文是否有權(quán)收費(fèi)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
網(wǎng)絡(luò)上多數(shù)朋友擔(dān)心甲骨文會(huì)對(duì)MySQL軟件采用收費(fèi)模式,多數(shù)朋友也不清楚MySQL開(kāi)源到底是什么模式,開(kāi)源=免費(fèi)嘛?是很多的疑問(wèn),MySQL是遵守雙重協(xié)議的,一個(gè)是GPL授權(quán)協(xié)議,一個(gè)是商用授權(quán)協(xié)議(注釋?zhuān)簽榻鉀Q其他企業(yè)用MySQL軟件牟利或引用了MySQL的源代碼而不想開(kāi)源),雖然www.mysqlops.com也有寫(xiě)關(guān)于MySQL版權(quán)的來(lái)龍去脈,但是這篇文章寫(xiě)更透徹與詳盡,特轉(zhuǎn)載ITPUB上的帖子,希望大家能夠更加清晰! 最近剛把MySQL和GPL的玩法搞明白,很是慚愧,居然花了這么久的時(shí)間才想通。不過(guò)聊以自慰的是,搞明白這個(gè)玩法的人真是不多,盡管有些人已經(jīng)搞了很多年。 看過(guò)GPL協(xié)議的人應(yīng)該都會(huì)覺(jué)得一頭霧水,究竟GPL在講些什么。我看過(guò)好幾遍,英文的原版、中文的各種譯文,都沒(méi)能真正理解,后來(lái)是從軟件行業(yè)的歷史等等方面綜合考慮,才算是理解了。先總結(jié)一下我對(duì)GPL的理解,我認(rèn)為GPL的精髓就是開(kāi)源,和是否商用,是否收費(fèi)完全沒(méi)有關(guān)系。GPL(General Public License),其實(shí)從字面上就可以理解為公共許可證,也就是說(shuō)遵循GPL的軟件是公共的,其實(shí)不存在什么版權(quán)問(wèn)題,或者說(shuō)公眾都有版權(quán),GPL提出了和版權(quán)(copyright)完全相反的概念(copyleft)。而我經(jīng)常聽(tīng)到的說(shuō)法是如果你的程序或系統(tǒng)引用了別的GPL軟件,并且向用戶(hù)收費(fèi),那么你就需要向引用的GPL軟件購(gòu)買(mǎi)版權(quán)。聽(tīng)上去很合理,如果你用我的軟件賺錢(qián),那你當(dāng)然應(yīng)該向我支付一定的費(fèi)用。但其實(shí)是錯(cuò)誤的,正確的概念是如果你用了我的 GPL軟件,那么必須你的軟件也要開(kāi)源,如果你不開(kāi)源,那么就不能使用我的軟件,你是否把你的軟件商用和我沒(méi)關(guān)系,如果你不能遵循GPL協(xié)議來(lái)開(kāi)源,那么你付再多的錢(qián)也不能用GPL的軟件,事實(shí)上很多GPL軟件是很多人共同完成的,每個(gè)人在前人的基礎(chǔ)上做出自己的貢獻(xiàn),如果收費(fèi)的話(huà)你把錢(qián)交給誰(shuí)?提出 GPL協(xié)議的GNU希望做到的是通過(guò)開(kāi)源來(lái)使軟件行業(yè)得到一個(gè)好的發(fā)展,試想如果你要做一個(gè)大型的軟件,不在前人的源碼基礎(chǔ)上開(kāi)發(fā),那必然會(huì)是曠日持久的,也會(huì)有很多重復(fù)勞動(dòng),顯然不利于軟件技術(shù)的發(fā)展。所以理解了GNU的精神,也就能理解GPL在說(shuō)些什么,其實(shí)就是開(kāi)源。在現(xiàn)實(shí)生活中,我們受益于 GPL的地方,其實(shí)很多,幾乎所有的操作系統(tǒng),除了windows,其他的幾乎都是基于linux開(kāi)源代碼改寫(xiě)的。 再來(lái)談MySQL,這是個(gè)開(kāi)源的數(shù)據(jù)庫(kù),做技術(shù)的應(yīng)該都知道。MySQL最早是瑞典的一家叫做MySQL AB的公司開(kāi)發(fā)的,它是以雙授權(quán)的方式來(lái)發(fā)布MySQL。一種授權(quán)就是GPL,另一種授權(quán)就是商業(yè)授權(quán)。也就是如果你不能滿(mǎn)足GPL,那么就走商業(yè)授權(quán)的路線(xiàn),向這個(gè)公司交錢(qián)。我覺(jué)得這公司有掛羊頭賣(mài)狗肉之嫌,想借著GPL快速傳播它的軟件,但又留著商業(yè)授權(quán)這個(gè)收費(fèi)的口。后來(lái)這家公司以10億美金的價(jià)格被Sun收購(gòu),接著Sun又被Oracle收購(gòu),MySQL成為了Oracle的東西?,F(xiàn)在Oracle把MySQL分為三種產(chǎn)品,標(biāo)準(zhǔn)版、企業(yè)版和集群版。不談其中具體的差異,但都是以年度訂閱(subscription)的方式來(lái)賣(mài)的。這個(gè)subscription引起了我的疑問(wèn),如果用戶(hù)購(gòu)買(mǎi)了一年,那么第二年用戶(hù)還要繼續(xù)付費(fèi)才能合法使用?這三種版本都包含了一年的服務(wù),那么如果第二年用戶(hù)只需要用軟件而不需要服務(wù),怎么辦?Oracle官方?jīng)]有一個(gè)說(shuō)得過(guò)去的說(shuō)法。后來(lái)我想通了,其實(shí)Oracle賣(mài)的不是軟件的版權(quán),也不是寂寞,而是技術(shù)服務(wù)。所有的GPL開(kāi)源軟件都不能賣(mài)版權(quán),因?yàn)槭枪舶鏅?quán),當(dāng)然不能賣(mài)了。所以像redhat這類(lèi)的開(kāi)源軟件都是用subscription的方式來(lái)賺錢(qián)的。賺錢(qián)其實(shí)是合法的,GPL協(xié)議里面寫(xiě)了“Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish)我們的GNU通用公共許可證決意保證你有發(fā)布自由軟件的自由(如果你愿意,你可以對(duì)此項(xiàng)服務(wù)收取一定的費(fèi)用)”。但現(xiàn)在大眾的誤區(qū)是覺(jué)得購(gòu)買(mǎi)的是軟件產(chǎn)品的版權(quán)而不是服務(wù)。其實(shí)你要用GPL軟件在絕大部分情況下都是合法的,不存在版權(quán)問(wèn)題,那么在什么情況下才算是非法的呢? 前文一直提到“用”GPL軟件的情況,這個(gè)“用”可能并不合適,GPL的原文“the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program保證你的共享和修改自由軟件的自由”??梢岳斫鉃槟闶褂瞄_(kāi)源軟件并不受GPL約束,只有在你基于開(kāi)源軟件,修改開(kāi)源軟件的源碼的時(shí)候才受 GPL約束。MySQL作為一個(gè)開(kāi)源數(shù)據(jù)庫(kù),幾乎所有的用戶(hù)都只是通過(guò)自己的程序去操作這個(gè)數(shù)據(jù)庫(kù),不涉及到改動(dòng)源碼的問(wèn)題,根本不用去考慮是否要遵循 GPL的問(wèn)題。只有在你修改MySQL源碼的情況下,才需要考慮GPL。 如果我根據(jù)MySQL的源碼開(kāi)發(fā)出了一個(gè)新的數(shù)據(jù)庫(kù),我覺(jué)得自己開(kāi)發(fā)的源碼非常的優(yōu)秀,想靠這個(gè)賣(mài)錢(qián),不想公開(kāi)源碼。那么這種情況就無(wú)法滿(mǎn)足GPL的規(guī)定,我沒(méi)法發(fā)布我的數(shù)據(jù)庫(kù)。好在MySQL有個(gè)非常流氓的雙授權(quán),我就可以購(gòu)買(mǎi)其商業(yè)授權(quán)來(lái)達(dá)到我的目的。為什么說(shuō)這是流氓行為?因?yàn)榧热籑ySQL是根據(jù)GPL開(kāi)源發(fā)布,多多少少有各路人馬貢獻(xiàn)自己的源碼才成為今天的MySQL,賣(mài)別人的勞動(dòng)成果來(lái)讓自己受益,這就是流氓的做法。 所以GPL就是一個(gè)為了保護(hù)軟件自由的一個(gè)協(xié)議,它強(qiáng)調(diào)的是開(kāi)源,與錢(qián)無(wú)關(guān)。MySQL是一個(gè)雙授權(quán)的軟件,Oracle現(xiàn)在賣(mài)的是年度的服務(wù)(編者加注:另外主要收入來(lái)源是銷(xiāo)售數(shù)據(jù)庫(kù)維護(hù)工具),如果你只是使用MySQL而不是改寫(xiě)MySQL,那么在這些情況下你應(yīng)該考慮購(gòu)買(mǎi)Oracle的商業(yè)版本,一是Oracle的商用版本提供的附加組件(監(jiān)控器、備份工具等)對(duì)你有價(jià)值,二是Oracle的年度技術(shù)支持是你需要的,三是各種潛規(guī)則。而不應(yīng)該是你想合法的使用MySQL才去購(gòu)買(mǎi)其商業(yè)版本。另外,如果你是基于MySQL的源碼開(kāi)發(fā)你自己的產(chǎn)品,那么你需要購(gòu)買(mǎi)的是商業(yè)授權(quán),而不是subscription這些商業(yè)版本。 前面正兒八經(jīng)的分析了GPL和MySQL的問(wèn)題,接下來(lái)要玩粗的了。狗日的Oracle原廠(chǎng)的人老是說(shuō)用了MySQL而不開(kāi)源就應(yīng)該向Oracle購(gòu)買(mǎi) MySQL商業(yè)版本。他媽的搞了這么多年MySQL還沒(méi)搞明白這個(gè)問(wèn)題?這種說(shuō)法根本不合邏輯也沒(méi)法操作,我的系統(tǒng)可以定義一個(gè)子系統(tǒng)叫做數(shù)據(jù)庫(kù)連接,里面的代碼就是連接數(shù)據(jù)庫(kù),我把這子系統(tǒng)公開(kāi)源碼就符合你的邏輯了吧,這么不嚴(yán)謹(jǐn)?shù)恼f(shuō)法漏洞太多了,還他媽叫著要告誰(shuí)誰(shuí)的,你告告試試,看看出丑的是誰(shuí)??赡苡腥擞X(jué)得他們其實(shí)是明白的,只是在欺騙客戶(hù)來(lái)牟利。不過(guò)真別高估了這幫人,他們真沒(méi)搞明白也是完全有可能的。別老覺(jué)得redhat做的多成功,賣(mài)的多好,MySQL一定也能像redhat一樣賣(mài)的好。redhat怎么做的我沒(méi)仔細(xì)研究過(guò)。不過(guò)肯定存在兩種可能,一是redhat提供了客戶(hù)需要的技術(shù)服務(wù),二是客戶(hù)也是被欺騙的。如果是第一種情況,那么說(shuō)明redhat原廠(chǎng)做的好,不管是自己原廠(chǎng)的技術(shù)服務(wù)還是代理的技術(shù)服務(wù),肯定是有一套很不錯(cuò)的服務(wù)體制,MySQL有嗎?如果是第二種情況,客戶(hù)總有一天會(huì)變聰明,被redhat騙了一次還會(huì)被MySQL再騙一次嗎?其實(shí)是可能的,比如各種運(yùn)營(yíng)商、政府部門(mén)等等機(jī)構(gòu)。 該文章在 2012/5/14 22:14:26 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |