GMTC深圳站售票最后一周,点击查看最新日程>> 了解详情
写点什么

90 后开源老司机徐亮:从大学开始全职做开源是一种怎样的体验?

  • 2021 年 8 月 31 日
  • 本文字数:4649 字

    阅读完需:约 15 分钟

90后开源老司机徐亮:从大学开始全职做开源是一种怎样的体验?

“如果你有正确的态度,有趣的事情自然会找到你。”

 

Eric S. Raymond 在被奉为“开源运动独立宣言”的《大教堂与集市》一文中,总结了 19 条在开源开发中非常有用的理论,上面是其中一条。开源项目总会在不经意间升级,参与者可能最初只是做一些小打小闹的贡献,后来逐步维护越来越重要、越来越多的代码,甚至是负责整个程序。在一个鼓励代码共享的软件文化中,这是一种很自然的项目演化方式。

 

徐亮在开源社区的经历也遵循着同样的演化路径。从一开始因为兴趣入圈、负责翻译工作,到后来成为UbuntuDebian资深官方开放人员,甚至把开源变成一份全职工作,今年已经是徐亮与开源结缘的第 12 个年头。

 

徐亮,摄于河北丰宁坝上草原

“年轻的开源老司机”


作为一名进入开源圈子已超过 10 年,有丰富开源社区经验的“90 后”,徐亮接触开源的契机来自他对于计算机的浓厚兴趣。用徐亮自己的话说,“左玩玩右玩玩,比较偶然地遇到了 Linux 操作系统,然后就走上不归路了。”

 

徐亮读初中的时候,每个班级的教室里都会有一台装了 Windows XP 系统的中控电脑,主要用来给老师上课播放 PPT,当时徐亮和几个朋友的一大乐趣就是折腾这台电脑。后来大家觉得 XP 系统太无聊,开始到处寻找新玩具。徐亮“斥巨资”在电脑城买了一套经典的 Red Hat Linux 9(Shrike)光盘,一共六张 CD,其中 3 张都是源代码盘,而源代码盘其实一般都用不上,卖家只是很忠实地把官网提供的东西都刻出来了。一直到现在,徐亮都觉得这事“很坑”,因为“浪费了非常多零花钱”。

 

换着玩了几个不同的 Linux 发行版之后,徐亮开始重点折腾 Ubuntu。在玩的过程中,徐亮发现操作系统的汉化非常不完整,就顺着源代码中留下的译者联系方式接触到了当时国内负责 Ubuntu 操作系统翻译的小圈子,并在侯正鹏的引荐下加入 Ubuntu 社区,从软件翻译开始实际参与到开源社区工作中。

 

那时候还是 2009 年左右,在国内搞开源社区的人只是一个不大的圈子,搞翻译的人更少。很多“老人”已经背着翻译的职责好多年,彼时刚刚入圈、还是个高中生的徐亮于是成了“继任者”。他慢慢接手了翻译的职责,并在 2012 年左右成为了国内好几个大项目唯一的翻译负责人,直到今年他才找到可以接替自己的人。

 

在扛起 Ubuntu 简体中文翻译大旗的同时,徐亮也更深入地参与到了各种社区活动中。当时 Ubuntu 的商业发行公司Canonical每年都会在国外组织开发者大会,并邀请 Ubuntu 社区里比较活跃的社区用户代表参加。徐亮也得到了一次参加开发者大会的机会,借此接触到了 Ubuntu 社区开发人员,并从打包工作开始逐步做一些开发相关的工作。

 

2011 年,徐亮正式成为 Debian 的开发人员,两年后,他又申请成为 Ubuntu 的核心开发人员,并得到了进入 Canonical 公司工作的机会。


 

Ubuntu wiki 上徐亮个人介绍页面中的推荐人感言,第二位和第三位推荐人分别是侯正鹏和李道兵,他们也是国内操作系统开源社区的早期参与者(来源:https://wiki.ubuntu.com/AronXu

全职做开源是一种怎样的体验?


Ubuntu 有几个官方特色版本,优麒麟(Ubuntu Kylin)是其中之一。

 

2013 年,中国工信部软件与集成电路促进中心、中国国防科技大学与 Ubuntu 的商业发行公司 Canonical 在北京联合创立“CCN 开源软件创新联合实验室”,优麒麟正式创立,第一个版本随 Ubuntu 13.04 同时推出。这是一个针对中国市场特色的基于 Ubuntu 的操作系统,也是 Ubuntu 的官方中国版本,专注服务中国市场。优麒麟不仅实现了语言本地化,还在 Ubuntu 原版基础上增加了众多中国特色应用,如原创的 UKUI 界面、内置中文输入法、集成 WPS、网银支付等。

 

同样在 2013 年,那时还在上大二的徐亮正式加入 Canonical 公司全职做 Ubuntu 主线版本研发,主要负责输入法、network-manager 和 ZFS 三块。他既是优麒麟开源项目的核心开发者,也是搜狗输入法 Linux 版的主要开发者。

 

在 Canonical 的工作一直持续到 2017 年 5 月,之后徐亮短暂尝试了一段时间的创业。2019 年,在与华为持续沟通 9 个月之后,徐亮加入了华为开源能力中心。

 

据介绍,华为开源能力中心是一个公司级别的开源能力部门,主要负责公司内部开源管理、内源开发、整体开源知识体系架构的构建等,同时也为产品线提供包括运营能力和技术能力的支持。如果说业务线做的是 N,那么开源能力中心负责的就是 N+1、N+2 的部分,比如承担业务线尚不具备的能力建设,包括整体的开源合规体系管理等。

 

那么,跟有自己的本职工作、用业余时间做开源相比,全职做开源的好处是什么?在徐亮看来,全职做开源会让自己有更多的时间和精力思考开源这件事情、在社区里做出更多贡献,同时公司也会提供更好的资源和平台;兼职做开源则主要凭兴趣爱好,可能投入的时间精力以及能动用的资源相对来说比较有限。但徐亮认为全职做开源不一定适合所有人,当兴趣变成职业,到底是好事还是坏事,结果本身也因人而异。此外,全职做开源也有不是那么好的一面,有时候可能会错失一些接触更先进的技术的机会。“虽然开源是一个很好的协作模式,但不代表每时每刻开源的东西都是最好的、最先进的。”

 

徐亮表示,如今开发者想要把做开源变成全职工作的难度相比以往已经小了很多,但仍然不是每个人都可以做到,毕竟开源开发不管在国内还是国外所占的比例都非常有限,目前在大公司做开源可能相对比较容易一些。

 

除了需要公司提供相应的岗位之外,全职做开源对于开发者个人的学习能力、沟通交流能力也提出了更高的要求。因为需要沟通的人不再只是身边的同事,要学习的东西也不再局限于在公司里做的项目。与此同时,由于代码开放、人人皆可参与,随时可能会出现一些意外情况,比如突然有一个技术很牛的人看不惯来“砸场子”,这类事情在开源圈里已经发生过无数次,徐亮自己早期也经历过类似情况。虽然很多时候这种踢馆并非出自恶意,但依然会给被踢馆的一方带来极大的压力,如何跟进沟通和处理,对个人的挑战非常大。

开源终要回归理性


当下,开源在国内可以说是前所未有的热度空前。不仅很多企业大力投入,连高校学生在找工作的时候也会拿自己的 GitHub Profile 去展示自己参与过哪些开源项目、写过什么代码。越来越多企业和个人重视开源、参与开源,对开源在中国的发展肯定是件好事,但同时也有人担心,很多企业和个人抱着“开源为我所用”的目的参与进来,会导致开源这件事掺杂过多功利心。

 

在徐亮看来,不管是抱着什么样的初衷和目的参与开源,最终还是要回归开放代码、协作分享的本质。“有人的地方就有江湖,一直以来国外的开源圈子很大程度上也是公司之间的一个商战场所,现在开源在中国的发展并没有违背这一点。所以并不是说开源本来不是这样、现在变成了这样,只是以前在中国大家还没有参与进来而已。”

 

徐亮认为,开源一派火热背后的隐忧在于,当前国内参与开源的人很多,但不同事情投入的精力分配并不完全合理。比如,做开源运营和治理的与真正做开源技术的人数比例就有些失衡。

 

其实国外已经有很多开源社区和组织的经验可以借鉴,因此制定开源准则等治理工作并不需要太多人。只不过现实情况是,国内可能基于对形势的合理考虑,什么都希望有自己的一套,包括自己的许可证、自己的社区、自己的社区行为准则、自己的治理架构等等,过程中会涉及消化吸收其他开源社区的经验,就导致这变成了一件高度专业化的事情。从这个角度来看确实缺少一些能够很好地理解和解读现有社区做法的人。

 

但是从开源本身来讲,更重要也更需要的是真正参与项目开发和贡献的人,包括开发、测试等等。可能再过几年,中国开发者整体水平更高了,大家不再需要那么多条条框框去约束,类似“自建一套社区治理架构和流程”的需求就会减弱。基于徐亮参与 Ubuntu/Debian 社区的经验,很多时候一个几千万行代码的开源项目并不需要一套特别形式化的治理体系,也能够运作得很好(甚至反而运行得更好),如果在社区参与者还不够丰富的时候就先建立起一套治理体系,反而可能会产生一些掣肘。

 

此外,过去几年国内一些头部企业的开源工作屡屡引发争议,比如被批“刷 KPI”、“PPT 开源”等等,徐亮认为这也是因为大家太重运营。确实,开源有帮助企业构筑生态、打造影响力、建立事实标准的能力,但要“徐徐图之”。如果运营走在前面,就会出现“发声在前、贡献在后”,或者不贡献,或者贡献得一团糟;同时也会导致企业内部出现不好的导向,可能今天公司说要做开源、在行业构建影响力,然后一下子所有人都在搞开源,各种 KPI 就出来了。

 

当然,这背后也有社会环境和氛围的因素。中国加入世贸后这十来年一直处于经济高速增长的阶段,导致大家更愿意赚快钱,当下国内软件行业整体也会比较浮躁,企业对开源的规划更倾向在短期的一两年内见效,而不是慢慢做十年二十年。但徐亮认为,浮躁不会一直持续,中国的增长速度总归会慢慢回落,未来整个软件行业(包括开源在内)都会慢慢趋于理性,变得正常化。

 

“当所有人都重运营,争相去抢事实标准的名头,可能中间花了几年时间和很多的钱,最后大部分人都没尝到甜头,因为事实标准就那么几个。这就会倒逼他们去反思这件事这么做到底对不对。国内软件开发的积累与国外还有差距,如果不依赖开源可能技术要倒退十年。所以企业还是不得不参与到开源里面来,但未来可能会更理性地参与。对自己有价值就参与,代码不想永远自己本地维护同时又不影响核心竞争力的就回馈给社区,这就是一个很正常的开源使用管理和贡献的方式,不是所有事情都一定要搞得轰轰烈烈。”

写在最后


很多时候在开始做一件事之前,并不需要多么坚定的信念或崇高的动机,只要怀抱一点好奇心开始去做,事情自然会在做的过程中变得越来越重要。徐亮参与开源的经历也是如此:因为好奇心驱使而开始,又因为认可开源理念和开放共享的文化走到现在,更多是一个“顺其自然”的过程。

 

好奇心同样影响了徐亮在开源和职业道路上的一些选择。他决定加入华为有一部分原因是因为想要看看在这种全球国际关系动荡的时候,华为内部会发生哪些变化、怎么去做开源;而加入开放原子开源基金会则有一个重要原因是想要置身其中去看看国内第一个开源基金会怎么运转,如果它成功了,它的收获是什么,过程中得到的教训又是什么。

 

开源作为一种高效的人与人之间协作的方式,主要解决了两种问题,第一种是对于一些“重复造轮子”成本极高的大型项目,比如 Linux 内核开发,任何公司都无法负担得起重做一次的成本,因此企业和个人就会选择以开放协作的方式一起完成这项工作,减少了社会成本的浪费;另一种也是开源本身所体现的协作共享精神,很多人可能不觉得这件事我做了很大的贡献,只是觉得这个东西做完了可能会对别人有用就把这个东西开放出来了。从这两方面来看,开源对个人、企业乃至整个社会来讲都有很大的价值。因此,徐亮希望能够借助现在所处的平台和个人能力,把开源这件事请做得更好,让开源产生更大的价值。

 

在他看来这并不是什么高大上的目标,只是做开源的技术人的一个朴实的愿望。

 

采访嘉宾介绍:

 

徐亮(Aron Xu),Ubuntu、Debian 资深官方开发人员,搜狗输入法 Linux 版主要开发者。开放原子开源基金会 TOC 成员,现任华为开源能力中心技术专家。



【编者按】

 

每一位开源参与者、每一个开源项目都可以成为舞台上的主角。

 

新的一波开源浪潮正在席卷中国,【开源聚光灯】是 InfoQ 重点打造的开源主题栏目,旨在通过新闻、系列访谈、用户调查、迷你书、视频等形式深入观察开源运动,围绕开源的价值和开源开发模式,与投身开源的每一个个体共同探讨开源发展现状,照亮每一个开源舞台上的参与者。

 

如果你有开源故事或对开源的深刻观点想要分享、或开源项目想要寻求报道,欢迎联系微信 caifangfang842852(请注明姓名和来由)。

2021 年 8 月 31 日 09:003435
用户头像
蔡芳芳 InfoQ高级编辑

发布了 642 篇内容, 共 317.4 次阅读, 收获喜欢 2117 次。

关注

评论 1 条评论

发布
用户头像
请问这篇文章想表达啥?
2021 年 09 月 02 日 15:40
回复
没有更多了
发现更多内容

在野望中奔跑:镜头前"摆摊"的联想来酷总裁们

Geek_116789

架构师训练营 第 2 周总结

Lingjun

极客大学架构师训练营

设计原则

东哥

极客大学架构师训练营

分布式柔性事务的TCC方案

古月木易

分布式

架构师训练营-第二周命题作业

牛牛

极客大学架构师训练营 命题作业

架构师训练营第二周作业

东哥

极客大学架构师训练营

构架师训练营-第二周总结

Dawn

极客大学架构师训练营

第二周作业

南宫煌

极客大学架构师训练营

对进入面向对象世界的思考

云飞

UML 面向对象设计原则

「架构师训练营」第 2 周作业 - 设计原则

森林

江帅帅:精通 Spring Boot 系列 03

奈学教育

springboot

江帅帅:精通 Spring Boot 系列 04

奈学教育

Spring Boot

产品周刊 | 第 19 期(20200614)

Herbert

产品 设计 产品经理 产品开发

教程序员使用Jekyll搭建漂亮的个人博客

小傅哥

小傅哥 Jekyll GitHub Pages 个人博客

依赖倒置原则联想

极客大学架构师训练营

架构师训练营 第2周作业

Lingjun

极客大学架构师训练营

江帅帅:精通 Spring Boot 系列 04

古月木易

Spring Boot

我写了10年博客,却被人说“不火”?我是这样怼回去的!

王磊

Java 程序人生 「Java 25周年」

第二周课程作业

Geek_a327d3

作业

程序员买买买,纸书半价,电子书55折,抢券叠加使用更划算

图灵社区

图灵教育 活动专区

软件设计原则

superman

centos7升级内核

唯爱

第二周作业

戴维斯

架构是训练营

GitHub 热榜:适合初学者学习的 Prometheus 监控系统

JackTian

GitHub 开源 运维 Prometheus 监控系统

Centos6 内核升级

唯爱

江帅帅:精通 Spring Boot 系列 03

古月木易

Spring Boot

架构师训练营-02作业

ashuai1106

架构师 极客大学架构师训练营 架构设计原则

架构师训练营 week2

devfan

设计模式

程序设计原则

南宫煌

极客大学架构师训练营

分布式柔性事务的TCC方案

奈学教育

分布式

「架构师训练营」第 2 周作业 - 总结

森林

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

90后开源老司机徐亮:从大学开始全职做开源是一种怎样的体验?-InfoQ