崔宝秋国际开源经验在小米开花

年6月,北京,崔宝秋带着简单的行囊,落地首都机场,受到雷军的召唤,他准备加入小米。

告别家人,他在望京租了间房子,落了脚。

大学与雷军睡上下铺的崔宝秋,是上世纪90年代赴美留学的计算机博士、早期自由软件和开源软件的信徒、GNUEmacs的贡献者……在美读博和在IBM、雅虎、LinkdIn的工作经历,让他看到了开源在不同土壤落地的过程。重回北京,他除了想在小米干出一番事业外,脑海里还萌生了一个想法——让纯粹的开源在中国落地。

时间回到年,接入因特网不久的中国政府有意使用Linux,可Linux重要贡献者、开源运动旗手EricRaymond对此公开表达了消极甚至反对的态度,他因刚发表的新书《大教堂与集市》而名声大噪。此时,自由软件信徒崔宝秋正在纽约州立大学石溪分校念博士,他发邮件与EricRaymond争论,指出开源应无国界,并认为中国政府能够采用Linux的话,会大大推动Linux的发展,为社区带来大量的开发者。这封邮件上了Linux每周新闻(LinuxWklyNws)网站,参与讨论的还有RichardStallman——自由软件的精神领袖和GNU系统、自由软件基金会的创立者。

崔宝秋对自由软件的热爱很大程度上来自GNU,他喜欢GNU的程度甚至超过了Linux,毕竟Linux是在GNU这块土壤上成长起来的。他尤其喜欢GNUEmacs,一个强大的编辑器和编程环境。年,他就开始使用GNUEmacs,并快速成为高级用户,做了大量的个人定制开发。若干年后,他在EmacsOrgMod中贡献的DocBook格式导出工具被GNUEmacs正式接受,并在年把代码捐献给了自由软件基金会。

“回馈社区的过程很有意思。”正是遵循了开源精神,崔宝秋的代码进入到GNU里,让他实现了多年的梦想——让自己的代码跑在每个人的电脑上。

从自由软件的信徒到贡献者,崔宝秋愈发认识到开源对中国的重要性。尤其在基础软件领域,很多技术需要长期的积累和投入,是软件行业的金字塔底座,但主导权仍掌握在国外少数公司手里,开源则是帮助我们打破这个局面的最佳模式。“开源是卡不住的,它是自下而上的。”崔宝秋跃跃欲试,想把他在硅谷积累的经验一步步移植到中国。

加入小米后,他主导了小米的CBA(云计算——大数据——人工智能)技术变革路线,全面拥抱开源。他从零开始打造小米的HBas团队,培养出了一个又一个HBasCommittr,每位Committr的成长都有崔宝秋的呵护。“教这些年轻工程师如何快速融入社区,如何坚持自己正确的观点,说服社区中的意见领袖,把先进的代码回馈社区。同时,也要让国外的开源项目负责人真正了解中国工程师的技术水平。”说起这套开源打法,崔宝秋语调升高。

他鼓励小米工程师到硅谷参加国际开源技术会议,一字一句地教年轻程序员讲英文PPT,从写演讲脚本到英文单词的重音等。团队用一周做出来的代码优化,要花数周甚至数月来向开源社区证明这个算法的正确性,要说服社区的技术大拿和负责人,是一个极耗精力的过程。

最终,大量来自小米HBas团队的代码放进了HBas代码库里,其中包括一个将性能优化提升了近5倍的改进,这个改进让全球所有的用户受益。崔宝秋笑了,他带来的开源种子终于在中国生根,在小米开花。

爱上计算机

对一个东西的好坏评价,最重要是看它有没有创造性。

幼时的崔宝秋喜欢画画,梦想当个画家。他总爱拿着粉笔在地上、墙上画来画去,照着小画册临摹《西游记》和《三国演义》里的各种人物,成果时常得到大人的赞扬。

父亲在高中教数学,对他影响很大,到了学龄阶段,宝秋的爱好也慢慢转向了数学。在老家的阁楼里见到父亲读大学时的大部头数学书,他非常崇拜,开始仰慕数学专业,可父亲对他说:“今后考大学时,这个专业可以不考虑,重复性的事太多,很难有创造性。”

转眼间到了高中,他在订阅的《中学生》杂志上看到了Basic语言写的程序,觉得很新奇,“但也不知道是干什么用的。”县城里没有计算机,这个新事物对他来说有点奇妙。

年高考,出于对数学的热爱和对计算机的好奇,他选了武汉大学计算机科学系。

大学时代的崔宝秋

武大校园很美,尤其是樱花大道,崔宝秋的宿舍在樱园,一个房间四个人,每天尽享美景。

军训时,得知很多同学高中就开始接触计算机,有的参加过竞赛,好几个同学都在练盲打,崔宝秋有些不安:自己连键盘都没摸过。

人生第一次上机的时刻到了,他和同学来到机房,里面干干净净,像个高科技空间,每次进出都要换拖鞋。

在这里,他第一次见到了摩托罗拉处理器,一个显示器,一个终端陪他开启了专业之路。

崔宝秋很享受敲键盘的声音,且爱上了编程,凡是有写程序的专业课都很喜欢。操作之后打印出简单的程序,“那就是我的创造性成果”,“你可以让计算机做很多东西”。

同学们都在玩儿《生命游戏》,一个细胞的下一刻生死,取决于相邻八个方格中活着或死了的细胞数量,崔宝秋觉得很神奇,“我对计算机的第一好感是它让你有了创造力。”

因为爱好做出《绘星》

崔宝秋把BGI(BorlandGraphicsIntrfac)全都吃透了,里面的字体也被他逆向工程搞了出来。

武汉大学计算机科学系招了三个班,软件专业两个班,硬件专业一个班,每班25人,崔宝秋在软件2班。班里有个男生叫雷军,聪明又勤奋,为了学习,他戒掉了午睡的习惯。大二,崔宝秋和雷军分到同一个宿舍,两人上下铺,经常交流专业知识,“雷军在计算机领域的认知和探索,当时远远超过了我们这些同龄人。”

大二结束,雷军修完了大学所有学分,去北京中关村电子一条街闯江湖。一次回来,他在宿舍跟崔宝秋说:“宝秋,我在做加密软件‘黄玫瑰’,你帮我设计一个Logo吧。”

“好啊!”崔宝秋答应后就开始准备。

他想用计算机来设计,而不是用手画,就从零开始写了个绘图程序,电脑没有鼠标,他就写程序用键盘模拟鼠标,一点一点完成了Logo的设计。

写程序时,崔宝秋用到了Borland公司的TurboPascal,他很喜欢里面的BGI(BorlandGraphicsIntrfac)图形功能。

从小喜欢画画的崔宝秋对BGI自带的字体很感兴趣。他通过逆向工程弄明白了BGI矢量字体的数据结构,再从英文原版教科书中找到一个高速画直线的算法并把它编写了出来,就可以快速绘制出精美的字体。

接着要做动画效果,他用异或(XOR)运算操作让字体漂移、活动起来。一次偶然的机会,崔宝秋发现BGI绘制后的字体和自己的绘制算法异或叠加后不能完全清除,让他百思不得其解。

没有BGI的源代码,他只能通过反汇编找到BGI的图形接口,一步步跟踪下来,才发现BGI的画直线算法和自己的画直线算法有点不同,BGI的算法只有0多条汇编指令,非常精美。“原来BGI的画直线算法和教科书上的不一样。”就这样,崔宝秋用反汇编和逆向工程,解决了绘图软件中用异或操作消除直线的困扰。

不过BGI系统自带的字体太少,只有4种,而AutoCAD里的字体有几十种,且都是矢量字体,崔宝秋就把它们逆向弄了出来,转换为BGI矢量字体的格式,放进绘图程序里。此刻,崔宝秋如获至宝、喜出望外,随即在《计算机世界》杂志上发表了文章《将AutoCAD矢量字体转换为BGI矢量字体》。

雷军一直没来要Logo,而崔宝秋却做得很享受,他把这个绘图程序取名为“绘星”,不久便获得了省级计算机竞赛一等奖。这个绘图程序也很受同学们的喜欢,最夸张时,机房十几台电脑中有一半以上都在运行着他的程序。

后来,他把这组字库给了在电子一条街打拼的师兄,“他有没有拿去卖我不清楚,但这个东西还是挺值钱的。”

《绘星》用来编辑图片、图形,能兼容很多绘图软件的东西,还是很超前。崔宝秋用了很多办法,满足了新需求。

成功完成计算机自动作曲项目

痴迷编程的崔宝秋,在学校过着“宿舍——教室——机房”三点一线的生活,并享受其中。

在诸多老师中,崔宝秋很喜欢教信息安全的张焕国老师,他是北方人,和蔼可亲、又高又帅。张老师经常和学生聊软件加解密、防病毒等有趣的话题,崔宝秋很爱和他交流。

崔宝秋(右一)与张焕国老师(中)合影

张老师也很惜才,在崔宝秋毕业前跟他说:“你的本科论文可以做一个计算机自动作曲项目,很有意思。武汉音乐学院作曲系的一位研究生在做这方面的论文,你们可以合作完成。”“那边的计算机是苹果系统,上面全是图形,你可以去看看。”

崔宝秋好奇地去了武汉音乐学院,见到苹果的Macintosh计算机,上面不仅有图形、图像,还可以播放音乐,他深受吸引,不懂音乐,更不懂五线谱,可为了这个这项目,崔宝秋开始学习掌握五线谱。

武汉音乐学院的研究生哥哥很有文艺范儿,才气过人,“他听一遍曲子就能记住并弹出来。”研究生哥哥在计算机方面的知识需要崔宝秋帮他提升,崔宝秋耐心地教他if—thn—ls指令,两人一起推进项目研究。

崔宝秋想,依托软件来作曲,怎么产生曲子数据文件呢?他又想到了逆向工程。

他用最短路径破解了苹果电脑上音乐软件的乐曲编码,知道了五线谱音乐是如何存放的,“这样我就可以写东西了”,“给我两小节五线谱,讨论各种逻辑算法后,就可以自动产生若干节音乐。”让旋律不断重复,而且能有些规律性的变化。

崔宝秋根据编码数据生成音乐格式,开始演奏,电脑连接着MIDI设备,叮叮当当的音乐声就出来了,研究生哥哥兴奋得不得了。这对崔宝秋来说只是一个基本程序,可在他看来却是作曲领域的一个很大的创新。他们要模拟不同风格的曲子,经过两人的钻研探索,圆满完成研究任务。

年,崔宝秋被保送读本校的研究生,师从黄俊杰和张焕国两位老师,研究计算机安全和公开密钥密码体制,

中科院计算所短暂读博

电子邮件和Mosaic浏览器让崔宝秋兴奋不已。

崔宝秋本考虑研究生毕业后直接出国留学,可研二的暑期发现GRE考试准备晚了,来不及申请,只好暂时放弃。

此时他们做的加密软件在加密卡上用得很广,崔宝秋要经常跑武汉三镇推销加密卡,酷暑难耐,而舍友在考博,经常泡图书馆,他很羡慕,就跟张老师说自己也想读博,张老师建议他报考中科院计算所,师从魏道政老师,并帮他写了推荐信。魏老师对崔宝秋的硕士研究内容以及曾经获得过全国挑战杯一等奖的经历非常感兴趣,很快就答应收他读博,还全免了博士入学考试。

年研究生毕业,崔宝秋开始了在计算所的博士生涯。

年,中科院计算所,崔宝秋突然发现以前去图书馆查国外大学的资料、寄航空信来申请学校等方式,现在都可以用浏览器和电子邮件来完成了。计算所有工作站,有UNIX机器,“我每天早上最兴奋的就是先到机房,输入用户名和口令,打开电子邮箱看邮件。”

崔宝秋还经常用Mosaic浏览器看美国大学排名和教师简介,在互联网上查询各种留学信息。Unix工作站上的Mosaic已经能高速访问非常多信息,比单色显示器的PC机先进很多。他很兴奋,“图形界面太好玩了,传递的信息极其丰富,真是太舒服了!”

痴迷于开源的GNUEmacs

“这里有太多先进的东西,得赶快学起来。”

在计算所学习期间,崔宝秋一直放不下留学的事,就跟魏老师说:“我还是想出国。”魏老师的儿子跟他碰巧是同龄人,在美国读书,所以魏老师非常理解和支持崔宝秋的想法,就批准了。

经过一番细心地准备和努力,崔宝秋收到了几所美国大学的全额奖学金,权衡之后,他选择了纽约州立大学石溪分校(现石溪大学),“计算机专业在美国排名不错,关键是杨振宁教授在这里任教,我们都很熟悉这所学校。”

在美国读博时期的崔宝秋

留美前的崔宝秋常去计算所篮球场跟同学打球,休息时,喝冰镇粒粒橙和可乐解暑,他说:“得好好享受一下,到美国就没机会喝这么爽的可乐了。”

等到了美国发现,可乐到处都是,吃饭都喝橙汁,物质上的差距还是挺明显的。计算机水平跟国内更有着天壤之别。

这一年系里共招了两位中国留学生,崔宝秋拿的助教(TA)奖学金,做操作系统这门课的助教,授课老师是EugnStark教授,号称MIT神童,也是FrBSD的贡献者,“据说20多岁就从MIT拿到计算机博士学位,一直在这里任教。”

操作系统这门课和本科时的内容很不一样,课本厚了很多,且上来就是让学生们分组,用FrBSD、CVS和GNUEmacs编辑器,真刀真枪地干一个操作系统项目。

Stark教授对学生要求非常高,要求他们分组合作完成作业项目,同时也要求两个助教写程序自动批改学生的作业。这让崔宝秋有点傻眼,要学很多新东西,Unix接触得也少,幸好一个俄罗斯助教会写Unix脚本,完成了批改作业的程序。虽不是很复杂的操作,却让崔宝秋有种井底之蛙的感觉。

“专业课方面没什么压力,很容易拿到A,主要在语言和沟通上,我得赶快适应英语口语。”

教授让学生都用GNUEmacs做家庭作业和OS项目,崔宝秋很快被开源的GNUEmacs深深吸引。他在这里最先接触了GNU,也很喜欢里面的GCC和GDB。

开源的代码量非常大,里面有操作系统内核、编译器、数据库、网络、图形等各方面的资源共享,还有免费的经典教材可以看。

“相比之下,国内的计算机教育和软件资源太封闭了”,崔宝秋就像个穷苦的孩子,突然搬进一个辉煌的宫殿,所有东西都有源代码,代码质量也非常高,有了这些,他再也不用去做各种逆向工程了。他感到幸福而富有,在里面读大量的优质代码,“这些代码水平远超一般人。”

本科时,他曾用图形方法做的编译器运行界面惊艳了大学同学,“但我们没有真正去实现一个可生成代码的编译器,像GNU里面的GCC这种真正完整的C/C+语言的编译器,还有GDB这种调试器等代码都可以免费学。”

五年的博士生涯走得很顺利,崔宝秋的博士论文研究了当时的人工智能领域的一个方面,主题叫ASystmforTabldConstraintLogicProgramming(《列表的约束逻辑程序设计系统》),他的研究成果也都用开源代码的形式集成到了他们实验室开源的增强版Prolog系统里,名字叫XSB。

读博的五年中,崔宝秋花在XSB上的时间有足足四年,其中近两年他都是这个系统的主力维护者之一。

XSB是一个基于GPL许可证的自由软件,崔宝秋的导师和师兄弟们是主要的贡献者,还有不少贡献者来自世界其他几所大学。XSB的重要用户有多家企业和高校,也分布在不同国家。

如何与世界各地的贡献者一起开发这个开源项目,如何满足来自世界各地的用户需求,是崔宝秋和师兄弟们经常讨论的话题。四年的XSB开发经验让崔宝秋直观、深度地感受到了开源的魅力,更让他获得了一些和社区共同打造一个开源项目的第一手经验。

成为Emacs贡献者后收到1美元

Emacs社区里面流传着这样一句话——如果你教一个人使用一个新的Emacs命令,他就可以hack一晚上;如果你教他如何制作新的Emacs命令,他就能hack一辈子。

哒哒哒,崔宝秋在一旁看着Stark教授,像弹琴一样在Emacs上写程序,各种语法、颜色,热键切换窗口,用shll脚本语言打命令,还能快速修改。粗大的双手,在Emacs的窗口上如弹钢琴一般顺滑地串起那些小动作,一下子激起了崔宝秋对Emacs的兴趣。

“这个编辑器很酷炫啊,从来没见过。”

崔宝秋评价自己“喜欢跟着水平高的人做事,也爱学习高手用的工具。”他对技术极客有一种倾慕之情。20世纪90年代,Stark教授就在家里用电脑跟学生远程对话、开会,这种行为在崔宝秋看来是一种极客,而实现这一切的工具离不开开源的FrBSD。

“以前在中科院计算所接触过Vi(即后来的Vim),但是和Emacs比起来差太多。”其实一直存在两派观点,支持Emacs的人认为,可以在Emacs里面完成所有事情,不像Vim还要找一个又一个插件;Emacs是Elisp(Lisp的一个变种)的解释器,Lisp也是人工智能研究中最受欢迎的编程语言;Emacs是适合硬核程序员的编辑器,最像操作系统的编辑器。支持Vim的则认为,Vim在各个服务器上是默认安装的。

“Emacs是开源的,里面所有的东西,包括Elisp语言都是最自由的,任何东西都可以改。最重要的是,我身边很多优秀的计算机科学家和编程高手都在用Emacs。”崔宝秋承认自己被自由的力量折服,被榜样牵引。

用Emacs不仅能写程序、调试程序,还能管理日历、读邮件、读新闻组、跟朋友聊天、玩游戏、浏览网页,甚至还能绘画,崔宝秋被Stark教授影响后快速就沉浸在Emacs里。

“Emacs功能太强,只有想不到,没有做不到。”崔宝秋不停地改写程序,他爱上了这种高效率的体验,中间遇到问题,就去读源代码,到社区里去查找、询问,慢慢对如何融入开源社区有了更多直接经验。但早期他更多地是秉持着拿来就用的原则,有些代码的改动没有及时回馈到社区,在下一次版本升级中就被冲掉了,他不得不再返工、重做一遍。这件小事,让他真切地感受到“回馈社区”的重要性,以及和开源巨人一起成长的重要性。不和开源巨人一起成长往往会加大软件的维护成本。

年崔宝秋在雅虎上班,闲暇时就会沉浸在Emacs的世界里写代码。他发现了一个需求,EmacsOrgMod缺少DocBook格式的导出,这种导出是他在IBM工作时经常用到的。这个需求很广,他开始在源代码上下功夫,进行了优化,并把整齐的代码交给了社区。这让崔宝秋的代码最终进入到GNU里。RichardStallman接受了这位中国程序员的代码,还象征性地付给了他1美元。

在IBM用开源,差点惹麻烦

“我们这代人就是想给别人创造价值”,当年写的《绘星》就是免费给大家用的。

博士临近毕业,崔宝秋最理想的工作是去RsarchLab(研究实验室),可自己博士论文方向的研究比较窄的,AI也不火,“当时,我们这个领域的师兄弟们都不会主动说自己是做AI的或者专家系统的,现在回头来看,当时的AI已经进入寒冬。”最终,他去了IBM,IBM正要组建一个新一代数据库技术的研究团队,需要一些博士,可崔宝秋加入不久后这个新的团队就被调整,被要求深度参与产品开发,崔宝秋开始负责DB2数据库优化和内核等核心模块的研发。

0年,IBM公司,“万一自由软件传染了DB2的代码……”部门研发主管非常担心,要公司的律师来评估风险,崔宝秋没想到,就因为用了自由软件写文档,他差点惹上麻烦。

DB2主要应用于大型应用系统,是一套关系型数据管理系统。崔宝秋进入IBM的DB2团队,做查询优化。这是一项要求很高的工作,他以博士的学术背景得以进入。

一直醉心于自由软件带来的便利性,崔宝秋很快革新了一些“老掉牙”的东西,干了些份外的活儿。

文字处理的命令行被他创造的新文档写作工具取代了。那些传统的,一摞一摞的测试文档、设计文档,只要经过崔宝秋设计的写作工具导出,都可以直接转换成O’Rilly的DocBook模式,变成一本本图文并茂的书。

这种创新之举用到了一系列开源工具,包括Emacs,形成了一个开源的文档写作工具集,功能很强大,但很快引起了部门主管的警觉,建议公司的律师来看看,评估一下开源软件的许可证会不会影响DB2这个商用软件。

崔宝秋回答:“不会,我们只是用来写文档。”

按照奠基人ThomasWatsonSr.的设想,IBM是企业办公设备的核心提供商。可在千禧年到来之时,有些部门还是不太理解开源软件,而显得不知所措。

在这里,崔宝秋因为技术能力出色,晋升为管理者。他可以用Emacs完成工作中的大部分任务,包括团队管理和技术研发,在这期间也见证了Git的诞生。可他切身地感受到,在IBM用开源是一种包袱,“我喜欢开源的技术,喜欢互联网的技术,做这种传统的数据库,越来越没意思。”

5年,他有了一种压力,觉得身在硅谷,如果不去互联网公司,就太可惜了。一年后,一个偶然的机会,他离开IBM加入了雅虎。

见证Hadoop在雅虎长大

一切来得太快了,围绕在三个明星公司之间的搜索大战,尚未战鼓喧天,就已经有了结局。做门户网站起家的雅虎,手握流量密码,却未能在搜索竞争中通关,惯于复盘的崔宝秋指出——输在了技术投入。

6年,从IBM跳槽到雅虎,崔宝秋摩拳擦掌,准备大干一场。

雅虎已深度拥抱了自由软件,成立了开源项目Hadoop,搜索引擎技术也是崔宝秋非常喜欢的领域,加入雅虎让他有了如鱼得水的感觉,在开源的利用上更加自如。

Hadoop框架最核心的设计为HDFS和MapRduc。HDFS为海量的数据提供了存储,而MapRduc则为海量的数据提供了计算。

遗憾的是,雅虎已经慢了一步。

谷歌储备了大量科学家,专门从事研究工作,从来不涉及产品也没关系。这样的文化吸引着更多工程师,更多人才的加入,反哺着谷歌的工程师文化。当三篇论文出现在世人面前,雅虎的所有行为都必然成为“刻舟求剑”。

谷歌的三篇论文描述了GFS、BigTabl、MapRduc三种技术,奠定了二十年后的技术热词——云原生、云计算和大数据,定位于技术公司,谷歌毫不掩饰地向同行输出最新概念。

而微软的Bing,则从另一维度上异军突起。年1月,微软宣布要收购雅虎的搜索业务。

当微软团队来接管雅虎搜索团队时,崔宝秋有种感觉:就像一个三十几岁的壮汉,向一个十二岁的男孩跪倒在地。这场轰动一时的收购落地,雅虎每个模块都派出了交接人员,作为搜索团队的代表之一,崔宝秋并不情愿地参与了其中。

搜索,是所有互联网产品中最考验技术能力的。回想当初加入雅虎搜索团队时的激动,崔宝秋有些失落地徘徊在自己的办公桌前。这些漂亮的代码,完善的压力测试,上线前的各种测试,都是团队一行一行敲出来的。为了周末多些时间看代码,他甚至戒掉了周末打篮球的习惯。

时间回到7年,硅谷DoublTr酒店,金山即将赴港上市,雷军在美路演,在这期间,与崔宝秋进行了彻夜长谈。“宝秋,你将来想干吗?”雷军突然问他。

崔宝秋没多想:“退休以后最想静下心来写自由软件……”

于他而言,写自由软件和开源软件,都有机会让自己写的代码跑在每个人的电脑上,尤其是在雅虎见证了Hadoop的成长之后。

Hadoop的诞生受到谷歌三篇论文的影响,在雅虎开花并得到广大用户的喜爱。让崔宝秋感到可惜的是,他自己在雅虎工作时所写的热点搜索缓存方面的代码本来是计划开源的,却因为搜索业务被收购而搁浅。

LinkdIn开源风正劲

LinkdIn纯粹的开源文化,孕育了多个开源产品。

年,带着未能开源热点搜索缓存技术的遗憾,崔宝秋离开了雅虎,加入了LinkdIn。

用户数即将突破1亿大关的LinkdIn,遇到一个棘手的技术难题:全量用户的二度关系算不出来。集群资源有限,公司算力也有限,在这种情况下,用户二度关系算了24小时仍然算不出来,计算任务不得不中断,没人知道算完所有用户的二度关系到底需要多少时间。

这是崔宝秋第一次用Hadoop来处理一个超大计算量的任务,让他觉得用MapRduc来解决一些问题不仅是一门技术,也需要一些艺术。最终,他通过各种算法优化、参数调整、GC(垃圾回收)的精益求精,把二度关系跑出来了,并且不断地压缩时间,从接近24小时,到12小时,再到8小时,最后优化到了不到4小时。

用Hadoop解决这个大规模分布式计算的难题,给了崔宝秋久违的成就感,更让他又一次感受到开源的魅力与强大。

基于雅虎时期的大搜索经验,崔宝秋在LinkdIn做起内容搜索比较轻松。在LinkdIn开放的开源氛围中,他还和团队一起推出了开源搜索系统SnsiDB。

“不是BaoqiuQuryLanguag,是BrowsingQuryLanguag。”崔宝秋急忙解释。他利用一个周末的时间,用Python写出来的类SQL浏览查询语言BQL原型,可以用类SQL语言进行查询、聚合、排序等搜索操作,让团队的小伙伴们非常兴奋。当崔宝秋加入小米后,SnsiDB和BQL也很快就直接用到了小米的业务中。

成长于LinkdIn的开源项目中,最受瞩目的Kafka,是为把LinkdIn社交网站和内部各业务系统中的数据存储整合到一个系统时建的项目。年,Kafka商业化公司Conflunt独立上市。

在硅谷,人人为我,我为人人,已经成为一种普遍现象。“Facbook有些人在为Hadoop做贡献,LinkdIn的Kafka,Voldmort和Azkaban都是开源的。”

LinkdIn的纯粹开源文化吸引着崔宝秋。Kafka也好,SnsiDB也好,随着开源项目的状大,越来越多公司会参与进来,LinkdIn会让所有外部参与者都尽量把版权交给LinkdIn,为的是未来更容易地把这些代码干干净净地捐给Apach基金会。

从年到年,这种方式影响着崔宝秋,坚信开源无国界的他,从此有了一个念头——这样纯粹的开源,若能影响更多的中国工程师就好了。

打造小米“HBas黄埔军校”

不仅要站在巨人的肩膀上,还要为巨人指方向。

年,北京小米总部,崔宝秋从零开始组建小米的HBas团队,召集几位工程师,给予充分自由的时间和空间,在HBas社区里读代码,参与社区讨论,主动认领社区“任务”:解答社区问题,在代码中作自己力所能及的贡献。出发点很简单:在社区时间够长,才会足够了解其架构,代码质量也自然会提高,同时在社区也能“混个脸熟”,便于未来更快地融入社区、回馈社区。

HBas是一套基于Hadoop的分布式、可伸缩、面向列的非关系型数据库,是全球最大的开源项目之一,也是崔宝秋在硅谷工作时就一直


转载请注明:http://www.yiyixiexie.net/jbgs/10202.html