编者按:本文来自微信公众号"脑极体"(ID:unity007),作者 藏狐,36氪经授权发布。
1997年,Eric S. Raymond在《大教堂和市集》一书中预测,自由开发者会在传统闭源软件主导的阶层化世界中胜出。
事实证明,他是对的。
今天,我们身处的数字网络几乎都是由开源代码所建构的。Gartner的一项调查显示,有99%的组织在其IT系统中使用了大量的开源代码,“市集模式”展现着前所未有的繁荣景象。
而在开源的世界里,流传着一句格言——“社区重于代码”。其所表达的是软件江湖的铁律,那就是一个健康的社区比良好的代码更重要。
而在开源社区的全球竞争中,从追随者、贡献者,到引领者,中国都面临着哪些新的问题,及新的机遇?
1998年,网景通讯开放了自家浏览器的源代码,这是“开源”首次登上人类历史舞台。如今20多年过去,开源技术已经融入了人们生活的方方面面。
关于开源社区的成长史,我们就不再赘述了。总而言之,借由开源社区的聚合及放大效应,开源技术证明了自己远比私有网络技术更加有效,全球开发者也对开源项目展现出了涌动的激情。最典型的,谷歌正是凭借开源的安卓系统,抢占了移动互联网创新生态的产业高地,如今就连封闭如苹果OS,都开源了Swift。
作为全球软件产品的创意发源地,开源社区的发展如果仅依靠自由开发的理想主义,很难解释sourceforge、google code、codeplex等一批旧代码平台的没落;巨头压阵的商业氛围也未必有奇效,否则微软移动操作系统不会在谷歌安卓面前输的毫无悬念。
开源社区想要发展壮大、横扫全球,秘密武器到底是什么?至少目前来看,离不开三个要素的“统一”:
1.基础设施的统一。开发者选择开源社区的首要指标,就是上面是否有大量优秀的技术与框架,能够快速依靠社区的力量提升开发效率和质量。而面对诉求、能力、习惯不同的全球开发者,想要降低协作门槛,同时让代码风格质量与原项目保持一致,平台提供统一的基础设施实现服务治理就变得至关重要了。比如谷歌就做出了一套似Suite、能够统一服务的框架,Facebook 的开源平台PyTorch1.0也是由PyTorch 0.4 与 Caffe2 合并而成,并整合了 ONNX 格式,以期让开发者在一个框架中进行统一研究与生产。
2.开发场景的统一。在实际的开发环节中,不同公司、开发者所拥有的需求、能力、现实环境都不同,这就需要开源平台通过灵活的扩展能力来满足不同的场景。
比如说,许多公司内部已经部署了日志采集系统、trace系统等,新的软件系统开发必须和这些现存系统深度融合;再比如,不同软件、功能的实现需要多语言的支持,框架需要在C语言、VB、Python等各种语言上实现编译与开发等,都是度量社区好坏的重要指标。
3.商业价值的统一。
实现开发者与开源软件的服务价值,打通免费社区的商业化,是每一个开源社区的“阿喀琉斯之踵”。因此,是否拥有成熟的市场拓展与哺育能力也就十分重要了。只有一项应用能够伴随平台发展被越来越多的使用,从而收获商业价值,社区才可能走向吸引全球创意创新人才的正向循环。
我们知道,开源社区建设长久以来都被看做是中国软件IT行业的软肋。站在这个补课超车的关键时期,我们能否从中发现中国开源社区的新可能性呢?
回答这个问题之前,或许需要先思索一下,中国开源社区的短板究竟在哪儿?
首先,在消费硬件上缺乏话语权。很长一段时间内,新形态数字终端无论是底层技术还是市场应用层面,都集中在西方科技巨头受众。开发者只能在Windows/Mac等体系下跟进并发挥,直接限制了中国开源生态的发展。
另外,整体技术水平欠缺。在此背景下,操作系统及软件生态,以及相关技术的不断优化,中国开发者自然更多地扮演着学习者的角色,在以贡献论英雄的社区机制下,没有存在感也就很正常了。
而这一切,或许都要归结于中国在很长一段时间内,都没有通过开源实现商业化成功的企业案例,大众看不到推动开源的直接价值,导致许多技术高手没法找到工作,一些国内开源项目也营销意味大于实际,人才与经验都很难沉淀下来。
时过境迁,中国开源社区所面临的景况也在发生变化,来到了新的竞争位面。
最典型的,许多全球顶尖的开源项目都是中国人或企业参与甚至主导的,比如魅族、阿里等厂商都为内核领域做出不少贡献,华为更是直接在众多国际开源社区中占据董事席位,Linux开发者数量也蓬勃增长。
从踏踏实实为海外社区做贡献,到核心技术领先、生态价值输出的关键变化,也将帮助中国开源社区站到新的时代舞台上。
今天中国开源社区建设所需要解决的产业实际问题是什么,成为其能否打通战略价值的关键一跃。
大致来看,今日的软件环境,是开源软件的应用和服务价值还没有得到最广泛的开掘。
主要的开源软件都集中在应用层上,如桌面系统、服务器操作系统和数据库等,而万物互联带来的大量新型智能终端,其协同开发尚属空白。如何帮助开发者打破不同设备之间的墙,实现跨终端的生态共享与协同,是开源社区的关键挑战。
另一个关键契机,是伴随着5G、云计算等技术的快速就位,如何实现软硬件在云端环境下的开发、控制、运营,也是考验开源平台实力的重要指标。
换句话说,Wintel、谷歌在此前技术拓荒阶段所享用的生态红利,将在ABCD5的冲刷下被重新想象。
那么问题来了,对中国开源社区来说,面对其他国家社区的竞争,具体的机会都有哪些?
其一,是中国市场泛AIoT产业的快速开掘。
对于软件生态来说,只有参与者数量和程度越来越大,才有可能快速发现问题、修复问题,甚至弯道超车。从这个角度来说,中国庞大的人口与市场正是AIoT产业最好的开源生态孵化器。有许多新的硬件产品可以被想象与应用,并生发出属于开源技术的生态土壤。
其二,是上中下游联动做功的产业结构。
前面我们提到,开源社区的全球化离不开诸多关键要素的统一与标准化,而中国开源社区的远征之路,从一开始就被打上了国家组织、巨头引领、厂商跟进的整体思路。
比如在软硬件兼容性上,政府推动中立的标准认证和测试,规范了整个行业的门槛,直接提高产品的稳定性;以华为为代表的科技巨头,建立托管平台,将开源软件从技术与商业上形成合围,进而推动其他厂商针对不同垂直行业和应用场景开发相应的整体解决方案。
这样的上中下游立体化发展,也会让中国的开源生态呈现出统一、可用、全面地健康发展态势。
此外,中国开发者与企业在交互体验上的“接地气”,也能够帮助开源社区在国际竞争中不断抢得优势。
在一些成熟的开源社区,因为千万开发者的差异化而导致系统在功能完整度、交互体验等层面出现问题,是常有的事。华为工程师分析安卓手机卡顿问题,发现其诱因21%来自第三方应用,15%来自手机内部编码,11%来自硬件资源问题……这跟安卓系统架构中80%的组件是从各个开源程序“拿来”有直接关系。此时,中国开发者对用户体验的洞察、产品细节的重视,比如华为对安卓系统的一顿“魔改”,就成为其开发生态中不可忽视的重要力量。在这样的前提下,中国操作系统乃至开源社区想要更快地实现“独立”,未来可期。
在开源社区培育上,中国科技巨头中刮起的产学结合风,也为整个事件增加了一份砝码。华为、阿里、腾讯、百度等都通过校企合作,从源代码层面推动大学生参与到开源社区的建设和教育中去,掌握最为先进的开源技术,提升代码质量,为行业输送高端人才,对于建构中国自有创新平台、增强和激励开源精神,有着前所未有的战略意义。
总体来看,民族开源社区的崛起与扩张,并没有什么成功秘诀,踏实补课、抓住机遇,才是唯一赢得未来的方法。