程序员人生 网站导航

【OSTC讲师专访】Debian开发者李道兵:平静地理解开源

栏目:互联网时间:2014-09-24 09:13:10

编者按:CSDN “开源技术大会・2014”(OSTC・2014 )将于2014年3月30日在北京丽亭华苑酒店召开。我们将陆续发布参会讲师的系列采访,谈谈他们将在本次活动分享的内容。

本期,我们采访的是七牛云存储架构师李道兵


李道兵

李道兵(新浪微博 @lidaobing, 个人博客,七牛云存储首席架构师,Debian开发者
(Debian Developer),ISO-Codes等开源软件维护者,python-lunardate、apistrano-scm-jenkins作者,原盛大云资深研究员。

在本次采访中,李道兵分享了自己对于开源的理解、成为Debian开发者的经验和心得,并简单介绍了七牛云存储在开源方面的情况。他还对将在3月30日举行的开源技术大会上的演讲进行了简单介绍。

以下是采访记录。

CSDN:请简单介绍下您目前的工作和研究领域?

李道兵:我是七牛云存储的首席架构师。个人比较关注服务安全、架构健壮性(高可用、可测试、可追溯)等领域。

CSDN:您是如何理解“开源”的?

李道兵:不同时间对开源的理解不一致:

  • 2002年,我对开源的理解是“价格可承受的正版操作系统”――那时我刚接触Linux;
  • 2005年,我的理解是“对世界贡献自己力量的一种方式”――那时我已经开始为Debian打包,同时也在为维基百科等项目贡献自己的时间;
  • 2010年,跟北京一个朋友长谈,之后写了一篇《我们赶上了自由软件运动的尾巴》,主要是对GNU和GPL的一些反思。

现在对这个比较问题比较平静。当我们谈开源的时候,我们其实在谈三类不大一样的项目:

  1. 完全社区开发的大项目(比如GCC、Rails);
  2. 公司主导但开源的项目(比如Chromium、MySQL,Eclipse早期也是这种形式) ;
  3. 个人开源项目。

还有很多项目其实属于中间状态。对于每一类项目,都有不同的意义,就不详细展开了。

CSDN:作为Debian开发者有哪些权利?对打算成为Debian开发者的人们来说,您有什么建议?

李道兵:Debian开发者现在其实分化为两个权限了:Debian Developer(DD,Debian开发者)和Debian Maintainer(DM,Debian维护者)。Debian Developer可以上传软件包到Debian,同时拥有投票权。Debian Maintainer可以上传自己的软件包,但没有投票权。关于投票的信息,详情可以参阅:http://www.debian.org/vote/ 。

对打算成为Debian开发者的人们来说,我的建议是:多打包,多找人Review(审查),多看Mailing List(邮件列表),可能的话在IRC多待一待(由于我们跟欧美的时区差异,这点其实比较麻烦)。如果觉得认同Debian的理念,了解其规则就可以开始申请DD(Debian Developer)了。

延伸阅读: 《Debian & Packaging》幻灯。本幻灯主要介绍了常规软件包进入Debian 软件仓库的流程和注意事项,以及如何申请成为Debian Developer,也在最后分享了他多年维护软件包的经验和心得。

CSDN:七牛云存储公司内部是否流行开源文化?七牛都有哪些开源项目?

李道兵:七牛开源了不少项目在 Github上,其中排名前5的项目只有一个是七牛的SDK,其他都是纯粹的开源项目(跟我们业务没有直接关系),活跃项目的Star数最多的一个项目是用Go语言来写Python模块,有162个Star。

我们的开发和运维都跟开源软件有很大的关系。开发方面,我们使用的开源类软件或项目有:Bug管理系统Redmine,软件仓库Github,持续集成Jenkins,自动部署Capistrano。运维方面,我们使用的有:Linux、Puppet、MongoDB、Zabbix等,它们在七牛都有大规模的使用。

CSDN:七牛云存储架构是如何应用开源软件的?

李道兵: 我们的云存储服务是从头开发的,所以使用的开源软件更多是一些基础组件,比如MongoDB、Nginx、HAProxy之类的,剩下的都是用Go语言自己开发的。

CSDN:从今年开始,CSDN将从多方面加大对“开源”的投入力度,您对CSDN开源社区建设有什么建议吗?

李道兵:我希望CSDN能花更多资源在教育上,比如提供更多系统性的在线课程,瞄准基础(Linux内核、TCP协议)和前沿方向(OpenStack、LXC、Docker、CoreOS等)。

CSDN:能否简单谈下您在本次OSTC大会上要分享的话题?

李道兵:我想分享的题目叫做《重整工具箱:从开源软件到开放服务》。

想做这个题目主要是这几年看到的一些变化。当我们需要一个软件仓库的时候,我们讨论的不再是用SVN还是用Git,而是Github、Bitbucket 还是GitCafe。当我们考虑持续集成的时候,我们考虑的是用Travis还是Drone,而不再是Jenkins和Hudson。如果我们的公司今天才开张,那么我去调研的肯定是明道协作平台而不是Trac和Redmine。

这些变化不仅仅是发生在开发领域,同时也发生在你的产品当中。首先,受影响的是一些边缘的功能,比如分享、评论之类系统。接下来,可能影响的是一些更基础的系统,比如存储、数据库、消息队列。当这些变化即将发生的时候,作为一个架构师和开发者,需要去思考哪些问题,将是我想分享给大家的。


2014年3月30日,由CSDN主办的“开源技术大会・2014”将在北京丽亭华苑酒店召开。多位开源界资深人士将出席大会并发表演讲,欢迎大家亲临现场与大牛零距离交流。

>>>大会官网:http://ostc.csdn.net/

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐