写点什么

赵海平:开源是个兴趣活儿

  • 2015-04-22
  • 本文字数:2252 字

    阅读完需:约 7 分钟

3 月底,当我得知可以采访赵海平老师的消息后,我非常兴奋。因为之前就参与报道过关于赵海平老师回国的新闻,而当时也只是从侧面简单的了解到这位大牛背后的一些故事。此次有幸在阿里巴巴园区和赵老师面对面畅聊了两个多小时,听他分享了他的个人发展历程以及他对开源的一些认识。而整个聊天过程中,不管是谈到哪一个点,赵老师说的最多的却是兴趣和爱好,而非我想象中的那些高大上的道理,这也是最触动我的地方。

之前 readwrite 的报道称 Facebook 可能已经成为全球最大的开源公司,它将开源的模式推向极致。Facebook 向用户开放了他们的软件、硬件和技术解决方案。而这在一定程度上,也成为 Facebook 吸引开发者的方式之一。近日连线上也有一篇报道Facebook 开源成果的新闻,读者可以参考阅读。赵海平老师在2007 年就加入了Facebook,参与过Facebook 多个核心系统的建设,对Facebook 的文化、价值观非常了解。带着早就准备好的几个开源方面的问题,我开始了对赵海平老师的采访。

InfoQ:前两天还看到连线上一篇报道 Facebook 开源的文章,Facebook 非常喜欢对外分享他们的成果,这几年,也开源了不少的内部项目。从你的角度来看,Facebook 为什么要做开源?有什么战略上的意义?

赵海平:并不是说美国所有的公司都愿意开源,比如说 Google 就不愿意开源,这个我认为其实每一个公司在选择什么开源,什么不开源,这是他自己的一个考量。Google 认为如果开源了某个核心技术,就会形成竞争上的压力,所以他可以选择不开源。开源并非时髦,开源之前首先应该考虑是否会造成商业上的影响。

如果商业上允许开源,我个人认为,开源非常好。开源之后,更多的人就会参与到该软件的设计中,社区会给与你很多的启发,而这些启发对于开源软件的发展非常有益。

同样在开源之后,程序里面本身的问题也就随之暴露了出来,有更多的人使用你的项目,帮你测试,帮你修复,项目质量可以不断提升。其次,开源会给公司带来正面的评价,外界会欣赏公司的开放心态,更容易了解你的领先技术。

需要注意的是,在开源过程中,公司需要投入很多的人力和物力。比如需要有人去跟进用户的反馈,需要有人去管理开源项目。要把一个开源项目运营好,并非易事。Facebook 有专门管理开源的人,他非常有经验,知道在开源过程中会遇到哪些问题,也知道如何与社区交流。

总体来看,我认为开源是利大于弊,只要在商业上允许的情况下,开源都是一件好的事情。

InfoQ:你刚才说到,Facebook 有专门负责开源的人,能详细介绍下这个角色吗?

赵海平:他的职位是开源经理,负责管理整个公司的开源项目。比如在项目开源之前,他会检查是否有泄露公司核心机密的代码,并帮助解决。他会处理 90% 的外部反馈,这样可以大幅度减少核心工程师的工作量。总体来说,这个人在开源方面有非常丰富的经验,懂技术,并且运营也很专业。

InfoQ:Facebook 开源自己的内部项目后,内部也会使用该开源版本的项目吗?

赵海平:是的,内部的版本可能会有更多新的特性,但肯定是一个版本。不然的话,你就丧失掉了开源的意义,而且你也希望是一个版本,这样外面有新的功能或者 Patch,你都可以很快合并进来。

InfoQ:您对中国目前的开源现状有何看法?

赵海平:我觉得国内的开源还没有形成气侯,现在大家都是在各做各的。在美国,开源就像旗帜一样的,旗帜一立起来,大家就往上拼。最后拼起来之后,就像一个金字塔一样,非常壮观。咱们可能还没有拼起来,但是我觉得慢慢来,不着急,我们可以学习国外的开源建设经验,在他们的基础上,结合我们的国情,稳步前进。

InfoQ:员工在参与开源项目与本职工作之间应该如何平衡?

赵海平:这个说起来,我并没有一个特别好的答案,这个问题都可以上升到公司的高度去探讨,并且也值得探讨,这应该是一个公司和员工之间的默契。

说心里话,如果能够把员工搞技术的积极性给调动起来,对于公司来说,绝对是一件好事。如果说员工愿意在开源的环境当中做一个技术的佼佼者,那他在公司也一定会很优秀的,优秀的人一定是处处优秀,也许公司真的应该给工程师较多的时间去做这个事情。

你刚才也说了,很多中国员工的日常工作特别的多,这也正是我想来阿里巴巴体会的事情,我想知道大家都在干什么,为什么有这么多的工作,这个也是需要慢慢的去体会思考的一件事情。过段时间我可以再和大家分享下我的体会。

在美国有一大批的人,他上班的目的也许跟中国员工不太一样。他们可能会认为上班是为了生活,而咱们觉得要生活必须得上班,这个主次的关系也许可能会让他们觉得开源是很重要的一件事情,而上班是次要的,这也是我的一个推测,和文化、国情有关。

InfoQ:所以公司其实也应该适当去鼓励工程师参与开源项目?

赵海平:阿里巴巴开源了很多项目,这个意识在国内很超前,但并不是每一个中国公司都这么想。有的公司可能会认为,你这个员工做的事情和 KPI 根本没关系,所以他们会禁止这样的工作。其实这些事情都是息息相关的,工程师在参与开源的过程,就是一个学习的过程。通过开源,他的业务能力和技术水平都得到了提升,怎么会对公司没有好处呢?既使是花掉了公司一点时间,没有做公司本身做的工作,但回过头来也是有意义的。

InfoQ:一个网友的问题,您是从生物学转计算机的,跨越不同的学科,仍能做到顶尖,是不是付出了很多?

赵海平:每一个行业做到最顶尖的人,都会付出很多。当然凡是做到最顶尖的人,那都是爱好那个行业的人,所以他才肯比别人花更多的时间。而如果你能比别人投入更多的时间,那你肯定会比别人更擅长。当你更擅长的时候,你就会更喜欢这东西。所以爱好和付出是一个正反馈的过程。

2015-04-22 05:163145
用户头像

发布了 219 篇内容, 共 138.6 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

react源码分析:深度理解React.Context

flyzz177

React

彻底搞懂React-hook链表构建原理

夏天的味道123

React

从实现一个React到深度理解React框架核心原理

夏天的味道123

React

一文读透react精髓

xiaofeng

React

Vue虚拟dom是如何被创建的

yyds2026

Vue

Workflow,要不要了解一下

华为云开发者联盟

人工智能 华为云 企业号十月 PK 榜

长安链源码分析同步服务器1

【1024程序员节专访】聚焦行业前沿,共话IT发展趋势

博睿数据

程序员 可观测性 智能运维 博睿数据 IT行业

webpack模块化的原理

Geek_02d948

webpack

面试官:能用JavaScript手写一个bind函数吗

helloworld1024fd

JavaScript

京东云开发者|ElasticSearch降本增效常见的方法

京东科技开发者

elasticsearch ES 降本增效 数据压缩 存储计算分离

长安链源码分析共识机制1

前端常考手写面试题汇总

helloworld1024fd

JavaScript

自己手写一个redux

helloworld1024fd

JavaScript

云计算基础:云计算运用越来越广泛,我们应该如何去学习云计算

Python-派大星

10月月更

Java:既然有了synchronized,为什么还要提供Lock

华为云开发者联盟

Java 开发 华为云 企业号十月 PK 榜

对Swift中some和any关键字的理解

珲少

小样本学习在文心ERNIE3.0多分类任务应用--提示学习

汀丶人工智能

nlp 文本分类

Vue模板是怎样编译的

yyds2026

Vue

python计算机二级 常用函数操作

Python-派大星

10月月更

redux原理是什么

xiaofeng

React

Vue组件是怎样挂载的

yyds2026

Vue

5 why 分析法,一种用于归纳抽象出解决方案的好方法

程序员泥瓦匠

那些你不知道的炫酷导航交互效果

南城FE

CSS 前端 交互设计 导航 交互

【沙丘大会】九科信息研发中心自动化负责人郑文茂受邀分享央企数字员工实践案例

九科Ninetech

引擎上新|卡片焕新升级,信息高效呈现

Jianmu

DevOps 持续集成 CI/CD

人人能读懂redux原理剖析

夏天的味道123

React

Docker进阶 dockerfile指令构建docker镜像

Python-派大星

10月月更

云小课|MRS基础原理之Oozie任务调度

华为云开发者联盟

大数据 华为云 企业号十月 PK 榜

线上数据问题排查案例分享-因为 HMS 和底层 orc 文件中某字段的数据精度不一致造成的数据丢失问题

明哥的IT随笔

hadoop hive DataX

SAP | 子例程

暮春零贰

SAP 10月月更 子例程

赵海平:开源是个兴趣活儿_语言 & 开发_小盖_InfoQ精选文章