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