2019年04月17日 星期三
主动公开源代码 企业在做赔本买卖?
本报记者 唐 婷

    前段时间,腾讯云相关负责人在公开场合正式发布其在基础设施层面的四大核心技术项目,分别涵盖数据中心、网络、服务器以及自动化平台领域。同时,为全面拥抱开源,腾讯云宣布后续会将这四大技术项目全部贡献给OCP(Open Compute Project,开源计算项目)社区。

    事实上,不只是腾讯,微软、苹果等众多科技企业都曾主动拥抱开源。

    那么什么是开源?它有着什么样的发展历程?企业主动拥抱开源的动因有哪些?进入万物互联时代,开源有哪些新变化?科技日报记者就此采访了业内专家。

    自由、共享和充分利用资源

    传统的软件发布模式,通常只向外发布软件开发者编译所得的二进制可执行代码,而源代码往往掌握在软件开发者或版权所有者手中。所谓开源,则是开放源代码(Open Source)的简称。这种软件发布模式,将源代码开放给所有使用者,使其可自由修改。

    “顾名思义,开源的最大特点是开放,将源代码开放给有需要的人。在版权限制范围内,人人都可以对其进行修改,甚至重新发布。”北京理工大学计算机网络及对抗技术研究所所长闫怀志在接受科技日报记者采访时指出,广义的开源思想由来已久,后来逐步演变成了软件从业者的一种态度和文化,其要义在于自由、共享和充分利用资源。

    从发展历史来看,计算机行业初期的发展重心在硬件,绝大部分软件是以开源方式提供给用户,用户可自主修改开源代码解决硬件故障,使系统正常运行。

    上世纪70年代中后期,计算机行业的重心由硬件转移到软件。彼时,以微软为代表的公司开始只提供二进制可执行程序的商业软件,而不提供源代码,并将其固定为一种盈利模式。为此,很多程序员自发组织了“自由软件运动”,反对将软件占为公司或个人所有,提倡软件的源代码以及再生代码可被自由获取、修改和再发行。

    1984年,美国麻省理工学院人工智能实验室研究员查德·斯多曼发起了“自由软件运动”。他认为,软件应由用户自由获取,如果不自由,就会出现少数人统治计算机软件业的局面。为此,他建立了自由软件基金会(Free Software Foundation,FSF)。

    在闫怀志看来,现在的开源软件是“自由软件运动”发展到一定阶段的产物,它介于“自由软件”和“商业软件”之间,既秉承了“自由软件运动”倡导的知识共享理念,又允许以专利形式从软件中获利以调动研发的积极性。

    1998年,致力于推动开源软件发展的非盈利性组织“开放源代码促进会(OSI)”成立。后来,这一年被称为“开源软件元年”。渐渐地,开源软件被更多的公司、行业甚至政府所广泛接受和使用。

    “早在2010年,NASA(美国国家航空航天局)就支持了开源云平台OpenStack的开发工作。2018年,我国国家重点研发计划也对云计算和大数据开源社区生态系统项目进行了支持。”闫怀志举例道。

    以较低成本解决基础共性问题

    谈及开源的好处时,西安电子科技大学通信工程学院副教授任智源打了个形象的比方:“借助公开的源代码,软件工程师可以在前人的基础上不断进行改进,不用‘重复造轮子’。”

    从学习者和使用者的角度来看,开源在一定程度上降低了准入门槛。开源软件的获取和使用成本较低,对于商业用户来说,可以缩短开发周期、降低开发成本。

    同时,让用户获取源代码,也会激发其产生出更多的自发行为,比如修改代码中的不足或增加新的功能。通过参与源代码的开发和修正,用户既可从中受益,同时也可为开源代码的不断迭代作出贡献。

    对提供源代码的企业而言,他们能从中获得什么呢?

    在闫怀志看来,企业开放共享源代码的动力在于,开源有助于企业更娴熟地掌握相关知识,集中行业精英力量,以较低成本解决基础共性问题。

    “作为一个开源的项目,开发者不用负责‘售后’,也无需在发布前进行大规模的测试。用户使用开源软件的过程,也是一个对其进行大规模测试的过程,可帮助企业节约大量测试成本。”任智源说。

    通常情况下,通过正面反馈和负面反馈修正,开源项目质量要高于封闭项目。开源还有助于树立企业品牌形象,扩大影响力。闫怀志指出,一些企业通过将关键技术开源以打击竞争对手,改变竞争格局,推动整个行业的发展。比如,谷歌将Android(安卓)系统开源,而后使其迅速追赶由苹果公司开发的移动操作系统iOS并最终与之比肩。

    那么,开放源代码、分享核心技术,是否会有损企业自身利益?

    事实上,开源软件是享有知识产权保护的,很多开源代码并不可用于商业或二次开发,这在一定程度上保障了企业利益不受损害。其次,开源也不等于是免费,即便是基于开源代码修改或升级的版本,原作者仍拥有向任何该软件的使用者收费的权利。

    为避免自身利益受损,企业也不会共享自己的“独门秘籍”。闫怀志举例道,“开源大咖”谷歌共享了近千个开源项目,但对自己的搜索架构和算法,向来闭口不谈。

    构建技术生态体系的战略选择

    进入万物互联时代,新技术不断更新,开源的形式也不断发生变化。对此,闫怀志进行了归纳。他指出,从商业模式来看,天下没有免费的午餐,开源体系也不例外。

    开源体系在维持提供方和使用方的博弈平衡的同时,也需要商业回馈,如果无法构成完整的价值链,开源体系也难以为继。因此,近期MongoDB等开源数据库通过商业许可方式开始进行收费。

    闫怀志认为,从技术角度来看,区块链、R语言、人工智能、物联网等领域将成为开源热点。国内大型互联网和IT巨头会纷纷投身开源领域,积极打造包括开源开发者、开源社区、开源用户良性互动发展的生态体系。

    同样,北京比邻科创教育科技有限公司技术合伙人张海斌也表达了相近的观点。他认为,现在早已不是闭门造车的时代,从总体上来看,开源必然是未来发展的趋势。一方面,目前参与开源的主体变得越来越多元。同时,开源正在成为一些公司在商业模式方面的重要战略选择。

    “从谷歌到阿里云,近年来,我们看到越来越多的大公司,通过开源获得了商业利益。即便是微软,近些年也开始在开源上展开努力。”张海斌分析道,从商业模式上来看,开源是构建技术生态体系和平台的一种战略选择。现在,无论是PC互联网还是移动互联网领域,几乎全是基于开源体系建立起来的。

    面对未来,当编程技能逐渐普及,参与开源活动的群体是否会从小众走向大众?

    在闫怀志看来,参与开源活动的群体从小众走向大众是必然趋势。在大众创业、万众创新的时代,开源将成为众多技术创新的巨大推动力。在助力我国关键信息领域实现安全可靠、自主可控方面,开源也将是可行、高效的技术发展途径之一。

    此外,闫怀志还指出,开源模式的大量应用,对于网络空间中的信息系统安全可以说是喜忧参半。“忧的是,未经系统化安全测试的开源软件可能会出现很多漏洞;喜的是,开源软件在经广泛测试和应用后,缺陷得以被充分暴露和修复,反而提升了其安全性,坏事变成了好事。”闫怀志说。

京ICP备06005116