上周,Oracle收購MySQL五周年紀念日已過。這也意味著Oracle在歐盟委員會關於MySQL用戶的臭名昭著的“5年任期10項承諾”到期了。
自從我為另一數據庫技術供職後,就很少寫MySQL相關問題的博客了(主要是沒那麼關注MySQL了,也沒啥好寫的)。但是在2009年,我密切關注歐盟 調查Oracle與SUN的合並,我覺得這個話題我可以寫一個回顧。我寫回顧博客是因為......我沒啥事干了。還有,這些承諾在2015年已經意義不 大了,所以這篇博客的東西跟MySQL當前狀態比,更多具有歷史性。
供參考:
承諾新聞稿: Oracle對客戶、開發商、用戶做出承諾
歐盟委員會最終決定合並: Case No COMP/M.5529 – ORACLE/ SUN MICROSYSTEMS
第一件事是:
僅僅認為我們應該把這件事弄清楚,以防你會聽到一些人在互聯網黑暗的角落裡說這樣的話。
這很容易回答:不會。為什麼?就像你所看到的,這些承諾只是當時的政治公關操作,永遠不會對Oracle有約束力,而且你也看到Ocacle已經忽視了這 些承諾的一部分,盡管Oracle遵循這些它們是相當容易的。但是Oracle做的事情是繼續開發MySQL並發布出去,你可以容易的看到現在的 MySQL技術相比五年前已經更加成型了。顯然,通過了這個特殊時間點對Oracle未來對MySQL的活動沒有任何影響,正如過去的一段時間一樣。
在看每個承諾之前,讓我們簡要地總結他們是怎麼來的。
Oracle請求歐盟在2009年12月 10日到11日安排2天的聽證會,以便Oracle可以申訴。第一天,Oracle給出幾個目擊者大多來自大型Oracle客戶(有趣的是,他們中的許多 人從來沒有親自使用MySQL,而且都是大型Oracle數據庫客戶的首席技術執行官)。第二天,所謂的第三方證明或者反對這起收購案。
在12月11日的聽證會後,這十個承諾立即被提交歐盟委員會。很可能在聽證會之前這些承諾已經被甲骨文寫好了。沒有書面記錄證明,在12月11日之前這種 手段以及承諾的內容已經和Neelie Kroes的核心的團隊討論過,或者他們已經提交給歐盟作為一個“要麼接受要麼放棄”的傲慢提議。這兩點在我看來都是可能的,這是Oracle一貫的風 格。但是看 到一些評論和在12月11日聽證會上歐盟職員的肢體語言提示我,他們白天已經知道克羅斯的內閣已決定放棄。
這些承諾是12月14日,Oracle在發布的一篇新聞稿中做出的。同一天,Neelie Kroes發布了步調一致的聲明,指出那些承諾是積極的進展。
這是一個不同尋常甚至前所未有的處理合並調查的方法。正常的途徑是Oracle承諾一些具體的讓步措施,以求通過歐盟的檢查和批准(包括一些 來自其他的市場角色的評價:客戶和競爭對手)。比如一個正式的協議規定,如果5年內Oracle不遵守這些承諾,將會受到懲罰(比如罰款)。與此相反,這 樣的一個新聞稿當然是不具有法律約束力的。
然而這篇新聞稿確實有服務於政治目的的元素。它放出了公關煙霧,讓Neelie Kroes有個台階下,因為好像是她迫使Oracle做出這些承諾。然而,最終的勝利者是Oracle,沒有以任何形式的讓步就獲得了Sun 的所有產品,包括MySQL。這是一個典型的布魯塞爾解決方案,雙方都假裝他們得到了他們想要的東西。
在我提到這個承諾之前還要提一件事。事實上,最重要的承諾並不在這10個裡面。它不允許正常的應用程序使用MySQL。
在整個歐盟的調查,並承諾在條約中的一條,Oracle似乎對MySQL商業模式的基礎完全不了解。Oracle的爭論自從MySQL開源(更確切 的說是GPL)之後就存在了,所以並不在乎是誰擁有它。所以當歐盟解釋他們調查到的歐洲實際用戶根本不符合實際。事實上,他們是MySQL客戶的原因是因 為MySQL告訴他們,如果不購買商業許可證的話,將會起訴他們(Oracle好戰的法律團隊的名聲使這種情形會更加惡化了)。
直到今天我也沒想明白,這個深思熟慮的訊息是基於Oracle這邊(假設我們不提它它就不存在),還是由於對MySQL商業模式的無知。也許晚些時 候,如果這個錯誤的策略是經過深思熟慮的,那它會導致委員會迷惑Oracle對於MySQL的意圖。不管Oracle有沒有對他們撒謊,在為期6個月的調 查之後,他們仍然沒有搞清楚MySQL的商業模式,當然也可以解釋為他們抱著取消MySQL的業務的動機。
在一次聽證會上,各方坐下來解決了這個問題。Oracle的 Edvard Screven和 他們雇傭的GPL的法律權威人士Carlo Piana表示,Oracle的立場是一個應用程序只要通過正常的方式使用MySQL(比如用過標准的 JDBC連接)就不會受到任何MySQL的GPL許可證的限制。(注:這就取決每個人對GPL怎麼解釋的, 對第一個MySQL的擁有者來說第一時間做出一個具有法律約束力的聲明證實是最重要的,到那時就會處於MySQL對立的位置。)
正如上面說的,在聽證會上聲明之前,列出的這10個承諾已經在起草了(而且已經通過了Oracle內部的層層審核)。所以這個最重要的問題甚至不是在這個承諾新聞稿之內的。然而,卻記錄歐盟委員會的最終決定為第589條。
1. 存儲引擎API的持續可用性. Oracle應當定期維護和加強MySQL的可拔插存儲引擎架構, 讓用戶可以很靈活的從本地和第三方提供的存儲引起中選擇.
MySQL的可插拔存儲引擎架構指的是MySQL的現行做法: 提供公開可用的, 具有完備文檔的應用程序接口, 使得存儲引擎提供商可以為MySQL數據庫服務器編寫"插件". 文檔應與當前由Sun提供的文檔保持一致.
(請參閱評論#2)
2. 不主張承諾. 作為版權持有人, Oracle會改變Sun的現行策略, 不會聲稱或者威脅任何第三方提供商必須在GPL下發布其實現的存儲引擎, 因為它們實現的應用程序接口已經成為了MySQL可插拔存儲引擎架構的一部分.對於這些實現的應用程序接口已經成為了MySQL可拔插存儲引擎架構一部分的第三方提供商, Oracle不會要求其必須具有一份商業許可.
針對當前已具有Sun的商業許可的存儲提供商, Oracle會將此承諾放進承諾合同中去.
正如上面所解釋的,oracle 大多數已經被誤解的原因是普通的mysql用戶反對或者擔心收購。因此,大的焦點是關注 MySQL 存儲引擎的合作伙伴,誠然,誰可能會受到MySQL服務器代碼庫的GPL許可證的影響-因此大家仿佛都同意。另外,從市場競爭的角度來看,在當時有幾個第 三方引擎仿佛對於oracle數據庫商業的最高端是個潛在的挑戰者,諸如數據倉庫或者主動-主動群集。
因此,首先也是3承諾的相關存儲引擎供應商所要瞄准的問題。即使這是MySQL的業務極其微小的一部分,這些供應商的這些承諾仿佛相當顯著。實質 上,oracle授予了5年可能出現的任何GPL要求的例外,實質上,允許存儲引擎合作伙伴,即使停止支付oracle任何東西,如果他們希望這樣做。
據我所知, Oracle一直秉承自己的承諾. 某種程度上這些承諾也具有法律約束力. 盡管歐盟並非他們的一方, 他們會獨立發出書面請求 - 由於前面歐盟批准收購 - 給每個存儲引擎伙伴.
在另一方面, 如果我們環顧四周, 也可以觀察到這些表面上顯著的承諾到底是有多沒用. 問題的關鍵始終在於Oracle成為MySQL所有者這一事實已經足以扼殺新興存儲引擎市場, 即使Oracle並沒有弄死MySQL甚至還做出了那麼多顯著的承諾. 從我們視線中消失的存儲引擎包括: Kickfire, Primebase, InfiniDB. 我認為ScaleDB還沒有正式死亡, 它還在beta階段, 就像它2009年時候一樣. Infobright還活著, 不過我現在很少聽到它的消息了, 它依舊是那麼小. 唯一一個看起來還有一些活力的引擎是Tokutek, 它也同時支持MongoDB的生態. (我的理解是這會比MySQL的市場給它們的動力更大, 不過我並沒有實際的數據.)
3. 許可承諾. 一旦他們目前的MySQL的OEM協議終止了, Oracle會允許那些現在就擁有Sun的商業許可的存儲引擎廠商以相同的條款和條件延長他們的協議不超過2014年12月10日.針對當前已具有Sun的商業許可的存儲提供商, Oracle會將此承諾放進承諾合同中去.
如果第三方存儲引擎伙伴們想要繼續從Oracle購買商業許可, 他們可以和2009年相同的條件來購買下一個5年. 考慮到價格的增長趨勢 - 特別是你被Oracle收購了 - 這是一個顯著的承諾.
這個承諾背後有一個非常有趣的故事. 在做出這個承諾後, Oracle隨後發現其實Sun為了掩蓋它的研發成本已經付錢給某一個第三方存儲引擎了. 這樣就意味著, 不是要承諾繼續保留一定的價格水平付錢給Oracle, 而是看起來Oracle承諾要繼續為了一個它們絕對不感興趣的引擎研究付5年的錢, Oracle已經有了InnoDB, 最受歡迎的MySQL引擎.
Oracle的律師們已經很認真的注意到了這個承諾, 他們繼續付了一年的錢給這個完全不必要的研究. 不過, 當下一次在2011年續約的時候, Oracle的律師們很明顯的做了改變, 停止了這種無理由的花費行為.
下面你們會看到,我的建議是這些承諾總是他們在並沒有了解到實際的MySQL業務情況下臨時找人擬的。這種情況很容易證明,Oracle作出這一承 諾,沒有意識到MySQL及其存儲引擎合作伙伴之間的特殊關系。不過我對Oracle還存有些許敬意並且堅持認可其承諾會去實施,因為這些導致 Oracle又向合作伙伴支付了一年費用。另一方面,我當時想看Oracle繼續那些支付整整5年以贏得我的尊重。
這是一個判決麼?這其實是一個重大的承諾,並且隨後Oracle超過了像我這樣的人的預期, 但是如果固執地按照字面意思的話,他們實際上並沒有半分百遵循這一條。
4. 承諾在未來遵循GPL並增強MySQL。Oracle將不斷完善MySQL並發布新版本,包括版本6,且通過GPL協議獲取。在GPL協議下,如果不同時發布新的增強的社區版MySQL,Oracle將不再發布任何新的、修訂的企業版MySQL。Oracle將免費公開所有社區版MySQL的源碼。
就我自己而言,我從不懷疑Oracle不會繼續發布各種社區/GPL版本的MySQL。但是很多人還是擔心,畢竟Oracle從Sun得到的其他開源項目 都這樣或那樣地沒有繼續下去。因此,在這樣的背景下,這是一個重要的提交。加倍承諾公布源代碼,這不是GPL的需求——人們也常常忽略這個情況。
這是我喜歡的承諾,因為這包括了發布版本6的提交!這也是一個完全微不足道的提交,你無論發布任何版本,也就是把所需的版本號加上去罷了。
或許有更多任何別的承諾吧,這演示了一個oracle很少如何真正地關心這些承諾。雖然這是事實,oracle在過去五年之內已經持續制造了幾個大的 mysql版本。他們並沒有真正地刻意去發布版本6!發布了oracle 5.5,5.6和即將到來的5.7版本快照,此版本質量好,並且具有引人注目的一長串功能。但是,沒有人記得增加版本號6.0。
5.並非強制性支持。客戶並不將要求從oracle購買服務,以此來作為獲取MySQL商業許可的條件。
這是一個很奇怪的要求。一個開源公司的整個方向是銷售支持。很可能這解決了oracle自身商業模式的一些抱怨,他們每年從他們的客戶中提取很高的維護費-oracle稅金
我不知道Oracle是否會遵守承諾,或者是否甚至有顧客在沒有任何支持下被要求去購買許可。
6.MySQL的研究與開發的花費在上升。Oracle允諾將給予有效的專款資金用於MySQL的繼續開發(在GPL版本和商業版本)。在未來的三年時間 中,Oracle將在MySQL的全球業務中投入更多的精力去研究與開發,直到超過Sun公司被Oracle公司收購之前的近幾個財年(2千4百萬美元) 在MySQL中投入研究與開發的力度。
補充承諾#4.
據我所知,Oracle中,從事MySQL研究與開發的人數得到增長。特別是問答團隊中新加入的人帶來了變化。
7.MySQL顧客咨詢部,將不遲於周年紀念日後六個月關閉。Oracle將建立一個顧客咨詢部,並且為其提供資金,包括特別的關閉用戶組並且植入客戶,提供引導,反饋MySQL新產品中優先的和其他重要的問題給MySQL用戶。
(看解答 #8)
8. MySQL存儲引擎廠商咨委會的。在年會關閉後不超過六個月,Oracle將創建存儲引擎廠商咨委會基金,以提供指導對mysql開發的優先順序並向廠商反饋其他重要問題的。
這兩承諾再次向我證明了他們已經匆匆編寫,並沒有真正知道任何有關MySQL業務人員的參與。(這總是讓我困惑當時為什麼Oracle會花幾個月的時間與歐盟委員會周旋,卻沒有給予更多的精力影響與人們實際相關的MySQL上。)
當然,實際情況是在2009之前MySQL已經有客戶咨委會和一個存儲引擎咨委會。然而無知的Oracle提議創建新的咨委會卻進一步強調這些承諾只是公關噱頭,且由一些不在乎MySQL的人所編寫。
我只能假設客戶咨詢委員會在這5年是持續積極的,當然因為它是MySQL產品管理的基石。
對於存儲引擎咨詢委員會,我記憶中是這樣的:2010是大張旗鼓地舉行。在2011並沒有發出邀請函,直到Paul McCullagh公開詢問這事,同時Oracle也一起跑出了這個疑問。(其實我懷疑Paul只是想去加利福尼亞免費旅行一次,不是嗎?)
據我所知在2012和2013年沒有召開存儲引擎委員會,但後來在2014年, 也就是5年期截止不久前, 突然就召開了. 校正下:每一年我都會收到存儲引擎會議召開的通知, 但是宣傳比較少(譯者注:意思就是第一年大張旗鼓做了很多宣傳,結果後來只是簡單通知下,很容易讓人覺得這會議出現“水”、“開不起來”、“資金問題”、“內部矛盾”等狀況,所以就不去參加了)。 這兒有個2013開始的公開引用 但這次我不在了。
所以不管當初把這兩個承諾寫入的方式是多麼愚蠢,Oracle的確100%的做到了它承諾。時間將會告訴我們Oracle對消費者和存儲引擎的興趣是否會在第六年持續下去,盡管它已經完成了這五年的承諾。
9. MySQL參考手冊. Oracle將會繼續維護,升級和提供免費下載一個質量等同與目前Sun提供的MySQL參考手冊。
當Oracle拋出”MySQL是開源的,所以它無關緊 要“的論調時,一個針鋒相對的觀點是“不是任何東西都是開源的”。尤其手冊更不是。 Oracle並沒有承諾把它開源(這更令人吃驚)而是承諾保持手冊的原樣。從某種程度上說,這很令像我這樣“在另一邊”的人感到沮喪(作為數據庫市場上的 正式對手,盡管MariaDB在那時候還僅僅是launchpad上的一個fork,我認為我們幾乎不能放出幾個beta版!),因為這個承諾僅僅意味著 Oracle承諾繼續做我們不喜歡的事!新聞稿並沒有帶來期望的安慰。但是另一方面,MySQL手冊現在和過去保持私有當然不是Oracle的錯。對於這 個,我們還要感謝Oracle的接管。
oracle一直保持這一承諾。
10.保留客戶選擇支持。oracle將確保最終用戶和嵌入式客戶支付MySQL的支持訂閱就可以根據他們的愛好在每年或者多年的基礎上更新他們的訂閱。
這仿佛對我來說像另外一個奇怪的承諾,增加只是制作列表甚至一個十。但是對於已解決的歐盟委員會來說,可能出現了一些客戶的後顧之憂。
這些承諾的地理范圍應該是全球性的以及這些承諾將持續,直至交易完成五周年。
譯文:http://www.oschina.net/translate/oracles-10-commitments-mysql-5-year-review