我加入 MySQL 的 5 年时间
英文原文: 5 years of MySQL
加入 MySQL 社区之后,人们通常会在迎来一些高兴的周年纪念的时候写点博文。对那些很老的家伙来说的话,基本就是指加入 MySQL 工作的日子了。对我来说,那是 2008 年一月。因为月份没记对,我之后也没写什么东西,但是我决定抓住机会现在开始写点东西。
概要:这周开始,我就在 10gen 工作了,要在北欧销售 MongoDB。这个博文确实很长——即便如此,它也还是没包含最有意思的故事,我也不确定它会不会发表出来。写太长真是抱歉了,但是你也没必要一口气都读完的。这是我在 MySQL 的最后一篇博文了,所以留一点以后慢慢读吧!
2008 – Sun 收购案
在奥兰多,一个全公司的会议上,我加入了 MySQL AB,那正是 Sun 宣布被收购的前两天。星期三的早会上,我们还在想这是不是Mårten 用来开场的笑话。但是之后 Jonathan Schwartz 出现在直播屏幕上。显然这是真的。
在听完了几小时 Rich Green 和其他 Sun 的主管们的讲话之后,一个服务员的队伍开始走进来,手上端着 400+ 杯冰镇的伏特加酒以庆祝这次收购。 Kaj Arnö 开场唱了一首瑞典著名的祝酒歌 Helan går :
几周之前,Mårten Mickos 的一个好朋友问我觉得 Mårten 人怎么样。 我毫不犹豫地说,很显然他是我工作过的最好的 CEO。但是,他做得更多。在芬兰,我属于说瑞典语的小众群体,虽然我很晚才加入 MySQL,但在这,我感觉就像在家一样。那天后来,Mårten 和我一起喝了一杯喜力,还告诉我“喜力”是 Sun 收购案的项目代号。
即使人们不会说瑞典语,我觉得 Mårten 也对大家都一视同仁。就在上周,在 Percona Live 节目上,我和别人讨论怎么处理社区日常的烂事时还说,我的建议是想想 Mårten 会怎么做。当然,不是说他是神,但他是个好领导。
那有一个卡拉 OK 吧,我唱了一首《日升之屋》,我根本找不找调了,所以 Richard Mason 帮我从听众中解围出来。他现在在 Oracle,领导着世界范围内所有的 MySQL 和 Linux 销售业务。
当我从奥兰多回到家时,我儿子都 6 周大了。我把他抱在怀里,他还在睡觉,稍微睁开眼睛朝我笑了一下,然后又闭上了眼睛。这是他的第一个微笑。
回到我密切关注开源商业模型诞生的那一阵子,我熟悉 Sun 因拥有 Java, OpenOffice,甚至那个时候 Solaris 还是开源的. 那周后来,我有机会见到了 James Gosling 和 Ian Murdock,他们分别是 Java 和 Debian 创始人。所以 Sun 应该是酝酿着许多有意思的开源项目的公司,这个消息让我很兴奋。几个月后我参加了本季度财务情况的内部电话会议,我才意识到 90% 的营收来自于销售 Sparc 服务器, 基本上所有的那些有意思的开源项目都没有营收。那时候,我就已经明白应该不会有什么好结果…
我的工作是把 MySQL 卖给通讯公司。刚开始,主要就是指设备厂商和 MySQL 集群。连续签了两个 MySQL 集群的合同,这些早在去年就开始酝酿势头了,这也是 MySQL 历史上最大的两个合同,而且第二个是有史以来首个 7 位数的合同。我们仍在不懈努力,签了许多大大小小的 OEM 合同。
那可是我梦寐以求的工作,公司发给我薪水,让我到客户跟前去,帮助他们从专有的 Oracle 实时应用集群(有时是 Sybase)迁移到开源的 MySQL 集群。那个时候大家已经都在用开源的 Linux(当时的 Solaris 在电话公司非常流行,而且那会它还是开源的)JBoss 和 Tomcat,但那时的数据中心曾被大家普便认为是最不可能使用开源软件的。因为是 SUN 公司的职员(这是多么讽刺的一件事),我们在客户中有着很高的可信度。当时经济不景气,为了尽可能节俭,我们的压力非常大。当时我所知道的节俭最大的一个项目是从每年花 5 千万欧元的 Oracle 实时应用集群迁移到 MySQL 集群,节省了 90% 以上的钱。事实上他们省下了更多的钱,因为 MySql 集群不需要 SAN 网络存储,我想为此他们甚至又省下了 5 千万。
2009 年伊始,这种势头进一步增加。很多服务提供商和其他一些企业客户通过迁移到 MySQL 集群开始引进双供应商策略。我们出售了一个三年内将 50% 甚至以上的数据中心迁移到 MySQL 集群的方案。仅在一年前 MySql 才刚完成自己的第一个七位数交易,而现在每一笔销售都能达到这个数目。在向 MySql 集群迁移方面,开始我们敲定了数千台服务器的迁移,而最终只有其中的一些迁移计划将在 Oracle 收购之前取消。这当然改变了双供应商策略的故事……
2009 – Oracle 的收购和 Monty Program
虽然我们的团队通过努力使自己的销售业绩翻了一番,但是 SUN 公司总体上在走下坡路,我们都面临着被解雇的尴尬局面。所以我们所有人都得加倍努力来使公司远离破产的境地。
那时候 SUN 在拉斯维加斯为所有的技术领域的工程师们举办了一个大型的培训活动。培训基本上围绕 Solaris 和 java 展开,所以本质上来说,这是一次无关紧要的、免费的拉斯维加斯之行。我已经预订了酒店和航班(当然,是公司掏的钱),由于以前从来都没有去过拉斯维加斯,我难免有些兴奋。
但是事情突然出现了变化,Nokia 客户团队的高层领导催促我去芬兰参加一个非常重要的、为期一周的客户会议。开始我觉得像 Nokia, Ericsson, Orange 等等公司的这些人一直会有和首席技术官或者其他什么人的重要会议,而且他们会一直要求 MySQL 出人去参加因为 MySQL 基本上是 SUN 公司唯一拿得出手的产品。但是最后我们觉得参加会议会是一个非常英明的选择,所以我最终还是没有去拉斯维加斯,尽管已经支付。从某种意义上来说,在芬兰的一周非常的有意义,那些天我们非常忙碌。我从中看到了未来的前景,而且我们开始讨论另一个从 Oracle 到 MySQL 迁移项目。
之后有一个早晨,我们所有人都聚在一起参加另一个在 Santa Clara 大学举办的 MySQL 用户会议,这是 MySQL 有史以来最大的一次会议。早上一个电话吵醒了睡梦中的我,通知了 SUN 被 Oracle 收购的事情。就在不久前,我们才消化了 IBM 不会收购 SUN 的消息,而这次,我有点懵了……
从床上爬起来,我的第一个想法就是我应该去拉斯维加斯。事实上,我在芬兰的那一周里,我们的很多会议都被取消了。关于双供应商策略的主张仿佛一夜之间丢了魂,而客户们纷纷没了兴趣。
很快,我有了一个以首席运营官身份加入 MariaDB 团队的 Monty 计划的机会。当时这家公司才成立没几个月,所以团队建设、职责分配等等还不成熟。我不光要主持每周例行会议,还要启动程序来找回已被抢注的 montyprogram.com 的中文域名。
意想不到的是,为了获得欧盟委员会对 Oracle 和 Sun 合并的批准,我们纠结了好长时间。其间各种琐事,不值一提。我只想说,Oracle 的这种把困难最终转变成为他们的胜利的能力让我折服。在事实上完全处于下风的 Oracle 在一到两周内联系了他们在欧洲的 500 多个最大的用户(这个数量只是我保守的估计),让他们给欧盟委员会写信以支持 Oracle 的举动。这些用户包括了总部设在九个时区之外的、Redwood Shores 的副总裁们,他们纷纷在欧盟工作时间内响应号召。Oracle 甚至得到了 59 名美国参议员的联名信的支持(这一定花费了大量的竞选经费,我敢保证)。在一个非常短的时间内做得这些简直就是一个壮举,这是 Sun 或者 Nokia 这样的公司根本不可能做到的。
我们以一个瑞士协会的名义创建了开源的数据库联盟来把 MariaDB 作为一个纳入基金管理的开源项目。当时还是一家小型咨询公司的 Percona 派出了 Tom Basil 来敲定这笔对他们来说是非常不平凡的投资。我们付出了大量的艰辛来谈成这次投资,之后我们成为非常亲密的好朋友。不幸的是,Monty Program 的高层最后还是拒绝把 MariaDB 的资产融入协会。我花了两个多月,超过两万欧元的努力全部打了水漂。
但是付出总会有回报。当时证明为什么基金对于一个项目来说大有好处,我收集了一些由基金引导的成功的案例与一些供应商自己支持的开源项目案例对比的统计资料。虽然最后没能成功说服 Monty Program 高层,但我所收集的统计结果最后被广泛引用。我还将他们分享给全球三大云计算中心之一的 Rackspace 的副总裁,我不知道这些统计结果对于 OpenStack Foundation 计划的产生到底产生了什么影响,但是由 451 Group 上周发布的一份调查结果证明确实产生了相当的作用。
2010 年和 SkySQL
之前我一直是按小时拿工资的,后来我很快明白原来的 Monty Program 商业模式,即使在最好的情况下,也不能持久。通常那些要向 MySQL 迁移的客户并不真正需要开发人员,他们一般只需要顾问或者工程师的支持,还可能甚至只需要一些策略性的建议。而那时,Percona 公司还没有开通他们的付费业务,他们在欧洲甚至还没有像样的力量。
当我们的合资公司会议在伊斯坦布尔期间召开的时候,SkySQL 正式成立,而当时我正在休陪产假。这五年以来我最美好的记忆是最后终于踏上 SkySQL 团队欢迎我们的大巴的那一刻。我们花了一年多的时间努力来建立 MariaDB 和 SkySQL,有将近 50 多的友善的好朋友来和我们一起打拼。那种充满和谐和力量的气氛我永远都不会忘记。当时就像在观看 1989 年人们从倒塌的柏林墙上蜂拥而过的场景一样,我起了一身鸡皮疙瘩。好吧,这多少有点肉麻,但却是我真实的感受。
(这段 视频似乎是在会议室拍的,但是不知道为什么在那样亲密无间而又充满力量的环境下没人会主动举杯)
SkySQL 的董事长和首席执行官都是扑克爱好者。凌晨 5 点的时候我和 Ulf 两人我八他二地摊分了打扑克所赢的钱。所以我成了第一个从 SkySQL 拿到报酬的人。
Olivier Beutels 是第三个从 SkySQL 拿到报酬的人,只不过他所得到的是总统套房里长着长发的同伴,因为我没有一点兴趣在那个时候去 MP 酒店。Ulf 早上 9 点起床去陈述 SkySQL 的政策,在他之后我不得不临时以 Monty Program 首席运营官的身份去向 MariaDB 展示成立一个新的销售团队的路线图,因为我的首席运营官继任者碰到了交通阻塞无法按时到会。 伊斯坦布尔的交通糟糕的时候就是一坨狗屎,尤其是在你喝多了或者是睡过头了的时候……4 个月之后,我的头脑中已经有了两张面孔合并的模样(SkySQL 和 Monty Program),但是 Igor 温柔的纠正了我(译者注:这句话,额…Igor 应该是作者的刚出生的孩子吧)。
上周我被问到很多次对于 Monty Program 和 SkySQL 合并的看法。这是一个自然的结果。Monty 致力于一个五年的计划,现在我们已经进入了第四年。一直以来,SkySql 提供了 MP 的大多数收入,双方的董事会主要受同一个人的控制而且 MP 的高官们甚至持有 SkySQL 的股票。所以这对我来说,根本就不算什么新闻。
我想没人会问我对于 MariaDB 基金会的想法,但是我还是想说。十一月的这次小型的基金会通告——甚至在它真正意义上存在之前——让 MariaDB 更坚定了收购的决心。我真替 MariaDB 的开发人员感到高兴,而让我郁闷的是以前他们在产品上做了大量了不起的工作却并未能成功实施他们的“走向市场”的策略,这回所有的工作都将真正围绕人们的服务器展开。
一个基金会的成立当然要经过不断协商甚至是妥协。SkySQL 仍然持有对 MariaDB 这个商标的所有权,但是这个基金又不得不取得 mariadb.org 域名的所有权。我并不擅长于谈判、妥协,但基金有总比没有的好(就像 451 的统计数据显示的一样)。要知道,显然这个基金会和 Linux 基金会或者 OpenStack 的基金会没有可比性,但是这并不是我们的创造,之前 Wordpress 和 Ubuntu 的基金会是由同一个合作商来创建的,这和我们这个基金会是非常类似的。
对于 MariaDB 基金会,我的预测是,它会和 Ubuntu 基金会非常相似。它虽然不是 MySQL 的唯一的、甚至主导的的变种,但是它可以非常好地培养自己的充满活力的社区(Ubuntu 基金也只是 RedHat 基金会的一个变种,它现在已经成长壮大,充满活力)。上周我见过了 AccelerationDB 公司,该公司围绕 MariaDB 做了大量的投注性的策略调整而且也给基金会融入了很多资金,它将极有可能在 MariaDB 成长的强劲势头中获益匪浅。
我对 Monty 非常感谢,为了我去过 5 年所做的所有事情。作为 COO,我不得不去见很多 Mysql 社区中很多重要的人并且成为朋友,从 Tom Basill 到 Mark Callaghan. 我甚至和 Neelie Kroes 见了面并且和 Thomas Vinje 和 Edward Screven 一起撒过尿(so humor).
我也非常尊敬你,因为你最后创建了 MariaDB,就像你平时说的那样。并且相反的不会向压力投降。在我在 Monty Program 的得失这个问题上 Same 是对的,我只这儿有太多压力,但是你有力地捍卫了你的承诺,那是你在论述商业模式中说的,所有员工都见证了的。对我来说 MariaDB 和 Monty Program 永远不是关于钱的问题,直到今天我对我认定的东西有什么价值还是没有想法,但是我尊重你因为你捍卫了自己的原则。
还好,我基本上是满意的,毕竟我拥有了 SkySQL 的股票,对我来说,已经是个不错的结果了,基金会与 SkySQL 的合并计划终于宣布,我又将迎来新的挑战。
这些年来,每个人或多或少有一些压力,我和其它的 MYSQL 老人一样打算离开甲骨文,Giuseppe 和 Domas 发表文章称,甲骨文是一个伟大的公司,没人想着离开,几个月后,他们都辞职了。在一次 MYSQL 会议上,一个来自 MYSQL 技术支持团队的成员对 Bryan Alsdorf 高喊“叛徒”,真是伤感情,但也许是个玩笑。不过仅仅几周以后,这个工程师就从甲骨文辞职,加入了一个大型社交网络公司的 DBA 团队。
当然,我从不认为甲骨文会搞死 MYSQL,之所以这么说,因为我知道不管是基于商业目的还是其它的,甲骨文都没有理由这么做。在 MYSQL 迁移工作停止的同一天,甲骨文正式宣布他们没有任何理由要搞死 MYSQL,我将我以前做的关于 MYSQL 集群以及其它所有 MYSQL 工作都交接给了 Tomas Ulin,我相信他们会做的更好。
Volcano
在这 5 年里,我们克服了种种团难。也许正是这种患难与共才让我们的友谊如此持久和坚固。
这可不是什么收购戏剧或者社区的戏剧,2010 年因为 Eyjafjallajokull 火山的爆发,参加完在旧金山举行的 MySQL 会议之后,所有飞往欧洲去的航班全部被取消了,所有欧洲里的人都困那儿了。
当时其中我们中的几个还有怀孕的妻子在欧洲的家里。回到家六周之后,我的女儿出生了,她也非常热情。我们几个把刚出生的孩子组成了“火山婴儿俱乐部”。
一个星期后,经过 Mexico 和 Madrid 我回到家,Spain 是我第一个看到非常干净天空的国家,那会我就想明白一点,踏上一块合适的土地是非常重要的一件事。在 Mexico 待了 13 个小时我才发现在这里我压根就不需要鉴证就可以坐地铁去任一个集市。你永远都不会知道 MySQL 会带你去哪儿。
2011 年- MepSQL,Drizzle, 诺基亚和 Galera
在我放弃 Monty 项目后,我还有几个月的假期. 我曾一度对艺术持续集成状态和克里斯蒂安·尼尔森所构建的 MariaDB 的构建系统感到好奇,并且试着尝试它. 第一步,我按照要求用 buildbot 模块运行 AWS EC2 实例. (MariaDB 一直使用预置的硬件).
从那时我一直想达到一种可以使用相通的脚本来构建两个普通的 MySQL,Percona 服务器、MariaDB 和其它任何一种 MySQL 分支的状态. 一个对于所有 MySQL 分支的统一构建系统!
事实上,这并有没想象中的那么简单, 事实证明,尤其是 DEB 脚本与给定名称的项目联系起来非常困难,并且这样还会产生大量的参数化工作. 唯一能从这个项目解脱出来的方式就是打包和发布 Facebook 分支的 MySQL.
当我发现 MariaDB 和这个开源的数据库联盟并没有按我所设想的那样成为一个广泛的、统一的项目的时候,我开始致力于为我自己找到一个中立的空间来继续为所有的 MySQL 分支做更多的工作。我可不想把我的工作只提交给“MariaDB”或者只提交给“MySQL”,所以我给这个中立的,非供应商的区域起名为“mepsql”,这是由“websql”的倒置过来得到的。
就这样我创建了我自己的 MySQL 分支,并对 Stephen O’Grady 解释的关于这种 MySQl 分支的”Cambrian explosion”现象在博客里面发表了我自己的看法。后来 Drizzle 发布了一个 MySQl 的一个 GA 版本,于是我觉得 MySQl 的分支太多了而我的这个分支显得那么的不够严肃,所以为了不产生一些不必要的噪声,我默默地退出了 MepSQL。我想给所有的 Drizzle 团队的成员一次公平的机会。但是”High Performance MySQL”这本书的第三版还是简要地提到了 MepSQL。这让 Nokia 的那些 DBA 们非常自豪,因为他们发现自己原来在和一个很有名的人共事:-)
我在 MepSQL 上所下的功夫在 Nokia 面试的时候派上了大用场,面试官们问了一些 bash shell 的操作和一些 EC2 的知识,所以在那次面试中我表现得非常抢眼。
Nokia 之前已经和两个 MySQl 的供应商合作过,所以他们为我提供了一块“中立的领土”。他们并不关心我对于 MySQL 的想法,因为我不再和这些你争我斗的不同的 MySQL 分支有所关联,所以总有一天所有反对 MySQl 的声音都会消失。而我的博客,还是跟以前的内容一致。事实上我只见过三个踩我博客的人。也许现在大家的看法都要趋向一致,没人再反对了?
我加入 Nokia 之后虽然它并没有被收购,但确实发生了一次非常大的机构调整。在我和 Stephen Elop 之间我还有五个经理,他们中的三个都离职了,这让我们的团队出现了非常大的空缺。接下来的六个月里我们无事可干。我并不想怎样刻意地夸奖 Drizzle,但我确实要感谢它让我有了更多更加成熟的想法。我把我的个人笔记本带到了办公室并在上班的时间里深入地学习和研究了 Google 的开源的 JavaScript 引擎 V8,并对 HTTP JSON API 有了更加深刻的理解。同时我还作为 GSOC 的指导老师带了一个非常有前途的的学生,如果你要找一个不错的黑客,就联系我吧。
我是一个数据库顾问,所以之前我从来都没有像那段时间一样写过那么多的 C++ 代码。另外我还认真学习了 MongoDb 和 Couchbase 的 JSON 查询语言并用来作为 Drizzle 的 JSON API 原型。这对我的下一份工作还多少有点用处……
Nokia 聘用我是为了解决 MySQL 高可用性和数据备份与恢复的问题。在评估了例如 Pacemaker 等设备一周之后,我坚信了这样一点:基于故障转移的系统永远都不可靠。(今天我要澄清的是,采用独立的软件来处理复制和故障转移这是设计上的不完整。比如说 MySQL 的故障转移并不在内部进行,而是采用了 NDB 的协议,这也一直为人诟病。虽然我个人没有 MongoDB 备份的经验,但我相信它也是采用同样的故障转移机制。)
我是怎样发现 Galera 系统的呢?读了 Amazon Dynamo 协议之后我大受启发,在这个协议里,节点的故障不会产生任何影响,虽然在一个关系数据库里面这是不可能的,但 Galera 系统至少为我们提供了这样一些相似的属性。
在过去的 5 年里,我做了很多非常有意思的事,但就纯技术而言,我相信支持和帮助 Galera 系统获得了主流的采用是我为 MySQL 做的重大的技术突破之一。当然,由于开发人员都是芬兰的,这使得他们成为了另一个和我关系特别密切的团队。
Percona 和 MySQL 大会
除了帮助 SkySQL 开张,帮助一些其它的企业家开张也很不错。我所做的都是些小事,他们向我寻求建议时我会和他们分享我的想法,比如安排一两场客户演示会、在我们的博客里提及某人或者安排一场招聘会或合作洽谈会。
在这方面我和 Percona 关系不大。他们已经成长起来了,雇用了很多人才,可我和他们没有什么关系。非常好笑的是,我不止一次被怀疑是一位“Percona 人”。我想,这是因为我在做各种我认为对整个社区都有益的各种事情时,我的动机通常和 Percona 的商业动机不谋而合。
Percona 的确在一开始就认识到了, 他们支持对整个 MySQL 生态系统有促进作用公司,包括他们所谓的竞争性公司 SkySQL 和 Oracle,因为他们可以因此而获益。对有的人来讲,这跟他们的直觉正好相反,并会因此而感到迷惑不解。但实际上,这在商业上意义非凡:平均来讲,Percona 的成长速度比市场的成长速度要快,所以,对市场中的其它供应商的成长给予支持是有道理的。Baron 甚至在博客中公开地说,他认为 SkySQL 在欧洲干得不错,这非常好。因为 Percona 在欧洲很少露头。几年后,Percona 已经能够在技术团队和销售团队方面进行扩充了。现在 MySQL 的市场已经成长起来了而且仍然还在不断正在,他们利用了这中情况。要是没有 SkySQL 和 MariaDB,谁知道那些客户现在会在哪里?他们现在用的可能会使 PostgreSQL 或者甚至是 SQL Server。(当人们对 MySQL 的未来有所怀疑时,绝大多数都会选用这两个产品。)
一直以来,Percona 的成长都令人欢欣鼓舞,因为这正好证实了我所信奉的两个原则。
头一个就是我们从其它开源生态系统中了解到的规律,就是“更加开放”的可选方案通常最后都会胜出。例如 Red Hat 同 Suse 或者 OpenStack 和 Eucalyptus。 关于这个现象我最近单独写了一篇文章。MySQL AB 可能是对这个规律形成挑战的最重要的一个公司,Percona 的胜利总体上对开源来说非常重要。
更重要的是,Percona 作为更加开放的公司取得的胜利也为别的选择称为更加开放而不是封闭的公司打造出了一个市场氛围。当我同 Codership 一起销售 Galera 时这一点非常明显。在集群领域中,我们有半打的创业公司采用了 MySQL HA 解决方案进入的市场:Schooner, GenieDB, ScaleDB, Clustrix, Xeround。。。其中每个公司都拥有数千万的 VC 投资。其中一家公司甚至 OEM 了 Galera,所以它从技术上讲是同一种解决方案,要说区别只要一点,他们试了闭源的解决方案。这个市场反而被来自芬兰的 4 个身无分文的家伙占领了。他们是开源的,而且他们同 Percona 的合作关系意义深远 —— Vadim 的第一篇博客就象来自教皇的祝福!我愿意认为 Tokutek 将他们的产品开源后最终也会取得同样的成功。Vadim 已经首发了用 Tokutek 和 Percona 服务器编译的 alpha 版的产品。
另外的一个原则是我父母教给我让我信奉的: 能力(或者是“教育”,常话都是这么说的)是资本的一种形式。当我审视 Percona 的成功并将它和同一领域中的供应商进行比较时,可以很保险地说,如果要我在能力和 1 千万的 VC 投资两者间做出选择的话,我宁愿选择能力。Peter、Vadim 还有 Baron,你们干得好!(话虽如此,也要祝 Baron 好运,希望这次投资还能够支持他继续进行下一次的风险投资!)
因为要一起努力保持 MySQL 大会继续活跃,最后我和 PeterPeter, Vadim 以及 Baron 混得相当熟I了。话说这已经是 2009 年的事了,远在监管机构审批通过这次收购之前。Oracle 内部的“告密者”同我以及 Monty 计划的其他参与者进行了接触,告诉我们 Oracle 已无意继续举行 2010 年的大会了。我们把这个消息传达给了O’Reilly,O’Reilly 作出了相反的决定,他们将继续单独举办大会。Oracle 经过两年的犹豫不前,最终在 2010 和 2011 两年都没有参加大会。
Oracle 不再向他们的 MySQL 用户推广 MySQL 大会了,而那时 Percona 和 SkySQL 的力量还相当小,与会者因此变少了,最终O’Reilly 不得不直面再这么继续下去可不是个事了这个事实。在 2009 年,Percona 被 Sun/MySQL 排斥到大会之外了,这反而正好促使 Percona 开始组织他们自己的 Parcona 现场大会。到 2012 年,他们已经有了足够的信心,感觉他们自己可以将大会从O’Reilly 手中接管过来了。话说不利可能最终会变成有利,这正好就是个例证。
Percona 成为了大会最优秀的主办方。 他们竭力使大会成为一个对所有人都开放的兼收并蓄的大会。特别是在 2012 年,Oracle 起诉了 Google 并企图消灭 MySQL,许多人给 Percona 发来电子邮件说 Oracle 在作恶而且还有其它一些理由,请求他们不要邀请 Oracle 参加大会了。Baron 对这些请求回复到(我在私人邮件中看到过),他们的会议将欢迎所有人参加,因为他们自己知道被排斥的滋味,所以他们绝不会排斥任何人。2013 年,Oracle 对邀请做出了回应,而且他们在大会上的演讲颇受欢迎。那两年的大会也对 Percona 的竞争对手开放,甚至还对抱有个人恩怨的人开放,这些人知道他们到底是为了什么,曾经时不时试图对大会进行暗中破坏或抵制。甚至 Percona 还为免费的 SkySQL 日进行宣传,而 SkySQL 日的举办时间同主要的大会挨得很近。还得说,这在企业理念方面很有意义,但并不是每一个企业管理人员总能够理解这一点。真的是非常了不起,我们能够见证到 Percona 在这个领域中完全投将他们自己身于 100% 的开放性和包容性。
在这一点上我想我应该说一下,今年有件事做得有点过了。尽管我很钦佩 Percona 不计前嫌,能够继续回邀曾经攻击过他们的人,但我想,在与会者(甚至还包括非与会者)攻击其他与会者方面,应该规定一个度。我们绝不允许让开源大会变成一个让与会者们因为他们甚至都未曾谋面的人所发的轻率的推特消息或博客而不得不担心可能会丢掉工作(甚至更糟)。好在 Percona 在过去的两年中已经显示出了他们坚持包容性和宽容性的决心,现在他们具有足够强的地位,可以让他们确保,大会将继续保持成为一个他们竭力打造的具有包容性和建设性的大会。
奖品
伴随大会的还有一个传统就是一年一度的 MySQL 奖品。当 Oracle 不再支持 2010 年的大会后我们继承了这个传统。Colin 发现马来西亚有个地方卖的酒杯很不错,于是每年都从马来西亚进口一批这样的酒杯。我在 36 小时内在社区中安排了一个选拔获胜者的评判小组。Shlomi 是一位专题讨论小组成员(他是前一年的获胜者),他快马加鞭,基于 wordpress 建成了一个投票系统,该系统我们今天仍在使用。我走后,他们还会将这个传统继续下去。
我认为,由于是通过一个独立的评判小组来决定谁来获奖,所以这种奖励才有了良好的声誉。获奖者总是因为获得我们的奖品而感到十分自豪,能够让人如此快乐的感觉妙极了。即使是那些再多次获奖的人也认为获奖是件了不起的事情,因为他们说 —— 赢得这个奖项可不同寻常。
我一直主张,评判小组可随心所欲地根据他们心中的任何理由来奖励任何人。不过这里还有个例外,我成功说服了我自己,不能让我自己通过选票而获胜。我的解释是,一个人站在台上然后自己颁发给自己奖品的感觉太怪异了。但我有个小秘密:每次大会我都不是空手而归!2010 和 2012 两年中,我们在奖品购置方面都有点问题,每年都多出了一个杯子。我当然就把它们归为己有了。所以,我终究还是获了不少奖:
下一步
过去 5 年中一直都是以变革作为主题的。在 2009 年,Baron 做了他著名的主题演讲”MySQL has a community, but PostgreSQL is a community(MySQL 具有一个社区,但是 PostgreSQL 就是一个社区)”。
从我的观点看,这个就是一直以来导致所有问题的最根本的原因。问题并不在于 MySQL 被 Oracle 收购了,而在于 MySQL 本身太容易受收购的伤害了。(当时在工程化的过程中以及性能方面的问题也可以归咎于相同的缺乏多样性。)如果还有什么要说的,我们应该感谢 Oracle,她在这场变革中担当了催化剂的作用。我想,现在我们可以很有把握地说 MySQL is a community了。
在 MySQL 大会未来中萦绕着的不确定性是真正需要解决的最后一件事。大约在去年的这个时候,我在第一届 Percona 的世界性 MySQL 现场大会结束后回到了家中,当时感觉甚至这个问题也已经解决了,大会又重新回到了可靠的、有能力的人的手中了。
因为 Nokia 那时仍在继续裁员,虽然我的团队并未受到什么影响,但很自然地我也应该四处找找看有没有什么合适的机会。我决定,经过这么多年专心去做对 MySQL 社区有益的事情之后,现在正好是我寻找一些做点什么才会对我自己有益的时候了。
我当然同 MySQL 圈子里的多个不同的创业公司进行了洽谈,也拿到了一些相当不错的 offer。但是令我意想不到的是,有一个不请自到的 offer 要比其它的都好。虽然有点奇怪,但我决定接受了这个 offer,那就让我顺其自然吧。 我接受了来自 10gen 的 offer,将回去做售前咨询和销售。。。只是这次是 MongoDB。
上周的大会是我过去的这 5 年身在其中经历的所有事情的一个完美的高潮。我要再次同所有的朋友相聚,一起享受圣克拉拉的阳光以及可能是史上最好的一届大会。从整个历史的角度看,会议的气氛相当好 —— 我想,他们中的每个人也都对历史感到厌倦了,只想把那些烦扰抛到脑后。
周五 SkySQL 又安排了他们自己的”附加”日,我参加了他们的晚宴。由于 Kaj、Patrick (Backman) 和 Ulf 不再来了,他们知道他们没有了能够为他们当时还不出名的祝酒歌唱序曲的人了。 (En liten fågel satt en gång… )(译者注:瑞典语,大意是,很久以前有一只小鸟。。。)于是,Max Mether 就邀请我来领唱。在任何场合下我都从来没有干过这样的事 —— 序曲通常都是由合唱团的首席男高音来唱的,否则也应该又 party 里资格最高者来唱。虽然事不大,但对我来讲,感觉是莫大的荣幸,心中对此感慨万千。
就这样,我 5 年多的 MySQL 生涯就象刚开始时一样,伴着 Helan går的歌声,结束了。
(注意这块留白,马上就会奉上我唱歌的视频。)
按计划我是要在 SkySQL 日讲话的,但是我把机会让给了 Seppo,他讲了有关 MariaDB Galera 集群方面的话题。他们为了感谢还准备了一份礼物,礼物的上面还刻有我的名字,所以,我要把我得到的这个啤酒杯带回家,放到下图中右面的那个位置。
在奥兰多参加 MySQL AB 新员工培训课程的第一天,我在谁懂的语言(译者注:应该指的是人类的自然语言)最多的竞赛中“获胜”(我懂 4 种语言)。实际上,我和 Pasi Vuorela(他现在在 SkySQL 工作)打成了平手,但他把作为奖品的啤酒杯(左边那个)让给了我。我那时对在谁懂的编程语言最多的竞赛中打成平手后如何再取胜做好了充分的心理准备。。。
有一段时间我停用了这个杯子以及我所得到的其它带有 Sun 公司标志的物件。对我来讲,Oracle 的收购可不仅仅是换个东家那么简单,其实收购意味着 MySQL 和 Sun 在整个开源运动中彻底的败北。随后企业用户就会改弦易辙,在他们的双重供应商策略中皈依 Microsoft SQL。(那时 EnterpriseDB 还未出现在欧洲)。看到这个杯子就令我恶心。但那种情况并没有真的发生,人们还在使用 MySQL 以及其它一些开源数据库,所以,我又重新用起了我的这个啤酒杯。
两个啤酒杯,一个半空,一个半满。干杯!