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

简介:   “如果你有正确的态度,有趣的事情自然会找到你。”  Eric S. Raymond 在被奉为“开源运动独立宣言”的《大教堂与集市》一文中,总结了 19 条在开源开发中非常有用的理论,上面是其中一条。开源项目总会在不经意间升级,参与者可能最初只是做一些小打小闹的贡献,后来逐步维护越来越重要、越来越多的代码,甚至是负责整个程序。在一个鼓励代码共享的软件文化中,这是一种很自然的项目演化方式。  徐亮在开源社区的经历也遵循着同样的演化路径。从一开始因为兴趣入圈、负责翻译工作,到后来成为Ubuntu、Debian资深官方开放人员,甚至把开源变成一份全职工作,今年已经是徐亮与开源结缘的第 12

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

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

  徐亮在开源社区的经历也遵循着同样的演化路径。从一开始因为兴趣入圈、负责翻译工作,到后来成为Ubuntu、Debian资深官方开放人员,甚至把开源变成一份全职工作,今年已经是徐亮与开源结缘的第 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 上徐亮个人介绍页面中的推荐人感言,第二位和第三位推荐人分别是侯正鹏和李道兵,他们也是国内操作系统开源社区的早期参与者。

  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 希望通过系列访谈深入了解国内外开源发展现状,总结国内外企业以及个人在开源方面的成功经验以及失败教训。

目录
相关文章
|
自然语言处理 JavaScript 前端开发
一文了解HarmonyOS系统架构
HarmonyOS是一款面向 万物互联时代的、全新分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于`同一套系统能力`、`适配多种终端形态`的分布式理念。能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
3860 0
一文了解HarmonyOS系统架构
|
7月前
|
消息中间件 安全 NoSQL
阿里云通过中国信通院首批安全可信中间件评估
近日,由中国信通院主办的 2025(第五届)数字化转型发展大会在京举行。会上,“阿里云应用服务器软件 AliEE”、“消息队列软件 RocketMQ”、“云数据库 Tair”三款产品成功通过中国信通院“安全可信中间件”系列评估,成为首批获此认证的中间件产品。此次评估覆盖安全可信要求、功能完备性、安全防护能力、性能表现、可靠性与可维护性等核心指标,标志着阿里云中间件产品在多架构适配与安全能力上达到行业领先水平。
750 255
|
11月前
|
人工智能 资源调度 算法
2025魔搭开发者大会 · 全景回顾
6月30日,2025魔搭开发者大会(ModelScope DevCon 2025)在北京海淀 · 香格里拉饭店圆满收官!
1158 0
|
Kubernetes 调度 异构计算
一文搞懂 GPU 共享方案: NVIDIA Time Slicing
本文主要分享 GPU 共享方案,包括如何安装、配置以及使用,最后通过分析源码了 TImeSlicing 的具体实现。通过配置 TImeSlicing 可以实现 Pod 共享一块物理 GPU,以提升资源利用率。
757 11
|
7月前
|
人工智能 自然语言处理 搜索推荐
【2025云栖大会】阿里云助力金山办公打造智能搜索新标杆:WPS云文档搜索技术全面升级
2025年9月26日,杭州云栖大会“AI搜索与向量引擎”分论坛上,金山办公云搜索技术总监——陈海荣宣布,其核心产品WPS云文档搜索功能结合阿里云搜索引擎完成重大升级,正式迈入3.0时代。
540 0
|
10月前
|
存储 分布式计算 调度
云计算核心技术
云计算作为IT领域的热门技术,融合网格计算与虚拟化,通过资源池和分布式存储提供高效计算与存储服务。其架构涵盖物理资源、资源池、管理中间件及SOA构建层,关键技术包括虚拟化、海量数据处理、资源调度、服务管理及云平台,旨在实现低成本、高可靠、可扩展的服务交付。
808 0
云计算核心技术
|
Kubernetes Java 容器
Spring Cloud 与 K8s 在微服务层面的不同
微服务Springcloud已经被广泛使用了,但作为云原生的技术基础K8s,存在着与Spring cloud 组件功能类似的组件,此时可以借助于容器化手段使用K8s来解决服务的注册与发现,属性配置动态化等。
|
人工智能 并行计算 云计算
从UALink近期发展再看GPU Scale Up的互连方向
ALink System的目标是聚焦GPU算力需求、驱动云计算定义的开放生态,形成智算超节点的竞争力。
|
存储 机器学习/深度学习 并行计算
JAX 中文文档(二)(5)
JAX 中文文档(二)
334 0
|
存储 前端开发 数据可视化
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?
这篇文章详细介绍了如何在GitHub上创建新仓库,以及如何将多个项目整合到一个仓库中进行管理。文章还提供了克隆仓库到本地、使用不同文件夹存放不同项目代码、以及将这些项目提交到远程服务器的步骤和方法。
一文教会你 如何在Github中创建仓库?如何将多个项目放到一个仓库中管理?如何将本地项目上传到GitHub中?

热门文章

最新文章