写点什么

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

  • 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:163348
用户头像

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

关注

评论

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

带领全网朋友,完成粉笔登录加密分析,再次换种玩法

梦想橡皮擦

Python 爬虫 7月月更

新星计划Day9【数据结构与算法】 递归

京与旧铺

7月月更

CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)(A-C)

KEY.L

7月月更

基于crudapi后端Java SDK二次开发之API认证和鉴权(二)

crudapi

API Cookie JWT crud basic auth

Python 有哪些好玩的语法糖?

Jackpop

不要在白嫖Github了!

Jackpop

HMS Core图形图像技术展现最新功能和应用场景,加速构建数智生活

最新动态

面试官:工作两年了,这么简单的算法题你都不会?

掘金安东尼

程序员 面试 算法 前端 7月月更

为什么加工数据指标

奔向架构师

数据仓库 7月月更

JavaScript DOM编程艺术笔记

程序员海军

前端 DOM 7月月更

开发者必看 | DevWeekly 第1期:什么是时间复杂度?

Jackpop

如何高效系统学习 MySQL?

Jackpop

数据库的主从分离

ES_her0

7月月更

【Docker 那些事儿】容器网络(上篇)

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

基于多数据源零代码同时生成多个数据库CRUD增删改查RESTful API接口——MySql,PostgreSql,Oracle,Microsoft SQL Server多数据源

crudapi

Java 数据库 Spring Boot crudapi 多数据源

JVM-SANDBOX导致目标服务JVM Metaspace OOM的调查始末

柠檬汁Code(binbin0325)

互联网 字节码增强 故障排查

为什么 Nodejs 这么快?

devpoint

nodejs V8 视频流 7月月更

应用的无状态设计

穿过生命散发芬芳

7月月更 应用无状态

通过Dao投票STI的销毁,SeekTiger真正做到由社区驱动

股市老人

MySQL 5.7.37数据库下载安装教程(Windows无需安装版)

未见花闻

7月月更

值得收藏的ArkUI框架三方组件【系列1】

坚果

HarmonyOS Open Harmony 7月月更

jQuery 操作元素

Jason199

jquery js 7月月更

zookeeper-认识watcher

zarmnosaj

7月月更

常见链表题及其 Go 实现

宇宙之一粟

链表 7月月更

Envoy生命周期管理

阿泽🧸

envoy 7月月更

mysql数据表查询

乌龟哥哥

7月月更

Bigdata 作业 第14&15周

Pyel

ES6之箭头函数

bo

前端 ES6 箭头函数 7月月更

深度学习-多维数据和tensor

AIWeker

7月月更 多维数据

如何优雅地使用 Git?

Jackpop

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