呵呵,前两天非常有幸接受51CTO杨赛编辑的采访,下面是采访之后的总结,原帖地址。
【51CTO独家专访】在全球范围内,开源项目以其自由、分享的精神获得了所有人的赞美。而归根到底,开放源代码是一种生产的方式,它具有聚合集体智慧、参与成本低廉、生产价值最大化等优点,这才是开源模式之所以能够蓬勃发展的根本原因。一个项目的发起人之所以选择开源,不仅因为他可能十分赞赏开源的精神,更重要的是他认为开源模式对自己的项目发展是有好处的。但凡成功的开源项目,其项目领导人对开源模式的优点和价值都是深有体悟的(参考专题:揭秘开源社区的成功元素)。
云计算是在这几年开始十分火爆的一个概念,现在连街边卖冰棍的大妈都听说过云计算这个词。2010年,Google早已建立起云计算的整套基础设施,Amazon的云服务已经被很多个人和企业接受,国外各大软硬件厂商纷纷嚷嚷自己的云计算才是真的云计算,国内各地政府联合本土企业轰轰烈烈计划建立各个城市的云平台工程之际,有一个不怎么起眼的小项目诞生了。
YunTable——这是它的名字。
听起来很像是云+BigTable,实际上它的确就是云+BigTable。虽然名字很直白,但如果你曾经关注过这个项目的开发和进展情况,包括项目发起者的背景和项目未来的发展方向,你会发现这个好像不怎么起眼的小项目是非常专业而且训练有素的。YunTable项目主要涉及到内核层开发,这意味着项目的核心参与者都是国内顶尖的开发者。从这个角度而言,YunTable项目的开发和运作(包括社区的运作)值得所有开源界的同仁们参考借鉴。小编近日有幸邀请到了YunTable项目的创始人、核心开发者吴朱华老师进行了一次邮件专访,针对以下话题展开了探讨:
- 项目的筹备与开发周期
- 项目的定位
- 项目的命名
- 是否值得为一个项目学习新的技术
- 社区的运营
- 有关人才
以下为邮件采访正文。
受访者自我简介:吴朱华,之前在IBM中国研究院参与过多个云计算产品的开发工作,包括2009年IBM旗舰级云计算产品IBM WebSphere CloudBurst Appliance。从2010年开始专注于YunTable(http://code.google.com/p/yuntable/)和YunEngine(http://yunengine.com/)的研发,现在无论在产品,还是在投资和团队等方面都已经有一定的进展,计划年后在上海张江创办企业,并发表《剖析云计算》一书。
51CTO:您之前是在IBM中国研究院做研究相关的工作,具体接触云计算是什么时候?什么时候开始意识到自己打算做云计算相关的东西?
吴朱华:在2007年9月,当时我刚进入IBM中国研究院的虚拟化小组,在这个小组中,我接触到虚拟机管理这方面,也就是如何在数据中心合理地调配和部署虚拟机的集群来方便管理和节省能源,我们主要试验的虚拟机系统是开源的Xen和VMware ESX,当然在刚开始接触虚拟机管理的时候,云计算这个概念还没有诞生,但是在2007年底IBM云计算的传道者Dennis Quan来IBM中国研究院做云计算相关的演讲,在这场演讲中,他描绘云计算的美好蓝图,同时我也让我们意识到我当时研究的东西就是云计算,而且非常有潜力,将是下一个大的浪潮。
51CTO:我最初看到YunTable这个项目是在你的博客人云亦云上,而上面最初提到的开发进度是在6月份。这个项目最早是什么时候开始筹备的?
吴朱华:基本就是在5-6月份左右决定开发的,0.01版大概花了三个星期的时间写的,之后在博客上发布和大家分享。
51CTO:您在那篇文章上就说到,YunTable的第一步计划是成为开源版的BigTable。您后来的一篇日记中提到,之所以开发YunTable,一个是因为自己准备进行内核层的开发,另一方面,分布式数据库在您看来又是云计算行业的最核心技术。到目前为止,您对于YunTable项目的构想发生过什么变化么?
吴朱华:整体而言,变化不大,还是主要希望YunTable能成为云时代的BigTable,无论在性能,还是在使用方面,都能青出于蓝而胜于蓝,同时由于在YunEngine上面积累了大量关于SQL解析的经验,所以计划在年中让YunTable能提供SQL接口,以便让现有的企业应用轻松地迁移到云中。
51CTO:YunTable这个名字是你自己起的吧。就是单纯的“云”+BigTable的意思么?以后会不会改名?
吴朱华:这个名字是我起的,的确是“云”+BigTable的意思,以后如果不发生什么意外的话,将不会选择改名,毕竟YunTable已经累计了一定的口碑和知名度,更重要的是YunTable这个名字非常简单易懂。
51CTO:您在日记中提到您为了YunTable项目,专门学了几个星期的C语言,更不用说也研究了HBase、BigTable相关的多个论文。您觉得这个过程有趣么?对您自己有哪些方面的帮助?
吴朱华:因为能接触到一些最新的技术和有挑战的系统编程,我可谓是乐在其中,当然在刚开始学习这些技术的时候,也经历了一些困难和挫折。有哪些帮助?对我而言,学习这些东西之后,让我感觉到类似BigTable这样的技术和产品其实离我们并不遥远,只要我们肯干,再加上一定的方法,一定能追上,甚至赶超它们,
51CTO:从YunTable 0.1,YunTable 0.2,到YunTable在2010年10月出0.8版正式开源,到现在正在进行中的YunTable 0.9(注:YunTable 0.9 RC目前已经发布),好像整个项目的进度都严格按照您之前制定的时间表完成了。这是非常不容易的事。您是如何做到这一点的?有什么经验可以分享么?
吴朱华:关于如何完成项目的进度主要有两个原因,首先,在项目初期,也就是在0.8版之前,主要还是靠自己的激情和奋斗,但从0.9版开始就主要依靠团队合作。
有什么经验可以分享?其实也没什么有价值的东西,主要是三个词语:坚持、分享和合作。
51CTO:说说YunTable的开源吧。事实上YunTable的代码从0.1版开始就可以下载了,只是到了0.8版才正式托管到Google Code上作为一个正式的开源项目来运作,之后也建立了自己的讨论组。运营这个社区是否额外花费了不少时间精力?
吴朱华:当然在社区发展的初期,我肯定需要额外的时间和精力在社区的管理和沟通上,但是随着Brooks、Flying和Jun Long的加盟,使得无论在社区的管理,还是在项目的开发,我都轻松了很多,而且还结识了很多好兄弟。
51CTO:国内能做YunTable这一层的开发者不是那么好找吧,您在找人方面感到有困难么?
吴朱华:当然在刚开始,找一个能合作的工程师是一件非常艰难的事情,但是自从YunTable社区开张以后,各路高手不断涌现,而且我们并不需要全才,只要有一定Linux/C编程经验即可,使的现在已经有足够充足的人手来完成1.0版的开发,并且还有很多人跃跃欲试,希望成为YunTable的核心开发人员。
51CTO:目前我看到社区已经有了几个核心成员,您自己是负责开发的管理员,Brooks负责社区管理,陈首席负责指导工作,另外还有两位Committer。能具体解释一下这个分工是如何工作的么?
吴朱华:现在主要有5个核心成员:我负责项目的总体方向、0.9版的代码的维护和与YunEngine的对接;陈怀临(弯曲评论的陈首席),由于他在技术和社区管理方面有非常丰富的经验,所以他负责监督和指导整个项目和社区的运作;Brooks由于他在Linux/C方面有多年的工程经验,所以请他来领导1.0版的开发、代码评审(Code Review)和社区管理,并主要负责维护Master和Cli这两个模块的代码;Flying,他本身就是国际知名数据库的资深研发人员,他已被邀请参与1.0版的开发工作,主要负责Region这个模块的代码;Jun Long,他在系统编程方面是出类拔萃的,所以他也会参与1.0版的开发工作,并主要负责Util部分的代码。
51CTO:目前YunEngine项目已经开始运作,您在社区的英雄召集帖中提到打算成立公司,地点在上海。能否透露一下这个新公司计划怎样开展初期的业务?是类似Amazon/Google/微软/Salesforce云计算的产品和服务么?
吴朱华:新公司的具体的商业计划我们的团队现在还是思考当中,等完善之后,肯定会第一个通知你的。公司将来以提供云计算产品为主,比较类似你上面提到的Amazon/Google/微软/Salesforce,虽然在初期还无法开发出和她们匹敌的产品,但是我们坚信在3年内我们一定能成为全球云计算技术的领军者,就像“人云亦云”的标语所说那样”只有掌握和控制最核心的云计算技术,才能在这场巨大的浪潮中处于主导!!!”。
51CTO:最后,跟我们分享一下您对于云计算领域人才的想法吧。您在新公司的招募帖中提到欢迎希望成为“YunTable/YunEngine领军人物”的人才加入。您认为这样一个“领军人物”需要具备怎样的素质?无论是技术上、运营上,还是其他方面都可以说说。
吴朱华:其实我的要求很简单,主要有两个:其一是技术,这个技术不是说他要全才,而是在C或者Java方面有丰富的工程经验了;其二是责任感,也就是Ownership,我希望这个人能将YunTable/YunEngine完完整整地当作自己的项目,每天不断地完善它。最后,借着51CTO这个的平台,代表我个人向社区各位兄弟致以深深谢意,你们辛苦了!
分享到:
评论