发布时间:09-08 / 2019 浏览:
当前位置:首页主页 > VR教程 > 开发手记 > 路与远方:从方舟开源,说到中国软件行业的生态未来

路与远方:从方舟开源,说到中国软件行业的生态未来

在不久前的华为开发者大会上,华为给出了鸿蒙OS及方舟编译器的开源时间表。而不到一个月,8月31日,华为方舟编译器开源官网正式上线,框架开源代码如约与广大关

对于中国软件开发者来说,开源是一个既熟悉又陌生的词汇。熟悉的是差不多人人都用GitHub,陌生的是似乎还没有移动端的中国底层软件技术走向过开源之路。

在不久前的华为开发者大会上,华为给出了鸿蒙OS及方舟编译器的开源时间表。而不到一个月,8月31日,华为方舟编译器开源官网正式上线,框架开源代码如约与广大关注方舟编译器的爱好者、开发者见面。

据悉,本次方舟编译器的开源版本,开放了编译器框架部分源码,包括编译器中间表达(IR)+语言编译实现,开发者可以通过官方网站及代码托管网站获得相关代码和文档,供参考学习、了解方舟编译器的架构和代码。

路与远方:从方舟开源,说到中国软件行业的生态未来

而向更广阔的未来看,这次开源不仅是一种技术的外放。基于方舟编译器,华为引领行业共同构建生态社区,这是中国底层软件开源之路的探索。

“方舟”和“开源”,或许有理由把这两件事融合到一起来看。因为软件开源与社区建设,长时间以来都被认为是中国软件行业必须补完的关键环节。而方舟编译器的战略价值,恰好成为了一个契机与窗口。

开源是路,而方舟是匙。二者结合时,我们或许已经可以窥见中国移动产业与软件行业的生态未来。

五十年,软件开源史与产业洪流

想要明白方舟开源对行业的价值,必须先解释这样一个问题:软件开源为什么重要。

这个问题要回到五十年的漫长历史中去回答。事实上,整个信息革命进程,始终伴随着软件开源事业的不断发展和深化。一部开源史,也是一部信息技术与互联网的产业革命史。

1969年,AT&T 贝尔实验室开发出了 UNIX。此后的10年,业界可以以低廉的成本获取 UNIX 源代码,并在此基础上进行革新改进。事实上,UNIX和贝尔实验室在当时已经打造了原始版本的开源意识和社区化思想。虽然之后AT&T出于商业考虑,停止了免费的UNIX版本更新,但软件开发者的自由与分享意识已经觉醒。此后的计算机时代,始终伴随着软件工作者对开源事业的热爱与执念。

路与远方:从方舟开源,说到中国软件行业的生态未来

1984年,理查德·斯托曼发起了 GNU 项目,目标是创建一个完全自由且向下兼容 UNIX 的操作系统。次年,他围绕GNU建立了自由软件基金会,至此首个推广自由软件的民间非营利性组织诞生,为软件行业正式启动开源工作奠定了基础。

1991年,影响至今的Linux 内核诞生。事实上,大名鼎鼎的Linux在当时采用了GNU的系统软件集,可以说是对GNU项目的发展和继承。Linux内核很快也被开源了出来,其开发生态直接影响了互联网产业的进程。

我们耳熟能详的安卓,就是采用Linux 内核编写的移动端操作系统。而安卓的开源与生态化建设,直接造就了繁盛的移动互联网和智能手机时代。相比于iOS的封闭,安卓的开源虽然有很多问题,但它的高开放度、低门槛,也带来了行业普惠价值,以及极强的成长空间。

而开源之路并没有就此终止,2008年大名鼎鼎的 GitHub 发布。这一平台的价值在于,它是一个开源的分布式软件版本控制系统,各种开源项目都可以在平台上进行公开公平的软件开源,从而与全世界开发者共同打造更优软件体验。如今GitHub已经成为了被广泛认可的开源民主化平台,其社区生态影响着全球各领域的软件开放进程。

路与远方:从方舟开源,说到中国软件行业的生态未来

回顾五十年的开源史,我们会发现开源平台与技术,是在时代需要与前辈技术基础上逐步发展起来的。而更优质、更彻底、更自由的底层软件开源,并不会降低一家公司的竞争力。相反这可以推动行业共识和生态繁荣,用所有开发者的智慧共同做大技术红利。

所以,开源史带给世界的结论,是平台化技术的开源是长期红利的基础,是产业繁荣的先导。不断适应时代需求的开源技术与开源社区生态,是叠层筑造的软件高塔。在这座高塔之上,软件用全球开发者的智慧让自己变得更好,再反哺世界科技的发展。

生态开源的底层模式、技术民主化,以及贡献越大话语权越大的社区机制,用五十年时间奠定了软件产业持续进化的基础能力与全球产业共识。遗憾的是,这场宏伟变革中中国软件人更多处在应用者与学习者,而非变革推动者的角色。

当然,这一境况若干年来正在发生变化。比如华为等中国公司正在持续拥抱开源事业。目前华为在有重大国际影响力的开源社区中拥有十多个董事席位,及200多个TSC、PTL、Core Committer席位。作为Linux基金会白金成员,华为对Linux kernel累计贡献6800+补丁,是TOP 5中唯一的亚洲厂商。

在开源事业中不断积累的华为,今天准备在移动生态这片软件沃土上,开启由中国科技公司主导的开源平台建设。

历史的时针,或许就此拨动。

今日,方舟的船舵

从历史中回看,底层软件开源之路带来的行业红利,主要由这样的模式产生:软件本身具有极大应用价值,开源后各厂商与开发者可以获得直接效用;而广大开发者反过来重新思考、雕琢和优化这一软件,汇聚而成开源社区。这个社区既是底层技术的不断优化,也是产业共识的自然建立。

而方舟编译器的开源,显然满足这一逻辑的基础。

对于广大APP厂商、软件开发者、互联网企业来说,对方舟编译器的理解和应用可以带来核心价值,即对自身应用体验的直接提升。而向长远角度看,方舟编译器背后的技术思路与生态价值,更是对行业具有长线推动作用。

这次开源的方舟编译器框架代码,可以完成Java静态编译,包括类层次关系分析、虚方法表和接口表的生成、native函数的处理等,以及基于引用计数的内存管理方式,提供朴素的RC插入功能。

这一阶段的框架开源,主要满足编译器领域专家及爱好者研究学习的需要,同时华为将继续优化其他编译器组件,以便让源代码更适应开源社区的开发环境。同时,开发者可通过代码托管平台参与社区贡献,包括文档贡献和代码贡献,同时也可在此平台上反馈相关问题和需求。

路与远方:从方舟开源,说到中国软件行业的生态未来

从近到远,我们可以看到方舟编译器开源,到相关社区与贡献制度建立,对于整个软件行业来说具备三重价值:

1、开发者可以通过加强对方舟编译器的理解,加强自身产业竞争力。

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