上周,Oracle收購MySQL五周年紀念日已過。這也意味著Oracle在歐盟委員會關於MySQL用戶的臭名昭著的“5年任期10項承諾”到期了。
自從我為另一數據庫技術供職後,就很少寫MySQL相關問題的博客了主要是沒那麼關注MySQL了,也沒啥好寫的)。但是在2009年,我密切關注歐盟調查Oracle與SUN的合並,我覺得這個話題我可以寫一個回顧。我寫回顧博客是因為......我沒啥事干了。還有,這些承諾在2015年已經意義不大了,所以這篇博客的東西跟MySQL當前狀態比,更多具有歷史性。
供參考:
承諾新聞稿: Oracle對客戶、開發商、用戶做出承諾
歐盟委員會最終決定合並: Case No COMP/M.5529 – ORACLE/ SUN MICROSYSTEMS
第一件事是:
既然現在 Oracle 可以對 MySQL 做任何想做的事,它現在是否會殺掉 MySQL?
僅僅認為我們應該把這件事弄清楚,以防你會聽到一些人在互聯網黑暗的角落裡說這樣的話。
這很容易回答:不會。為什麼?就像你所看到的,這些承諾只是當時的政治公關操作,永遠不會對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條。
Oracle是如何實現承諾的
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年以贏得我的尊重。