主动公开源代码 企业在做赔本买卖?


前段时间,腾讯云相关负责人在公开场合正式发布其在基础设施层面的四大核心技术项目,分别涵盖数据中心、网络、服务器以及自动化平台领域 。同时,为全面拥抱开源,腾讯云宣布后续会将这四大技术项目全部贡献给OCP(Open Compute Project,开源计算项目)社区 。
事实上,不只是腾讯,微软、苹果等众多科技企业都曾主动拥抱开源 。
那么什么是开源?它有着什么样的发展历程?企业主动拥抱开源的动因有哪些?进入万物互联时代,开源有哪些新变化?科技日报采访人员就此采访了业内专家 。
自由、共享和充分利用资源
传统的软件发布模式,通常只向外发布软件开发者编译所得的二进制可执行代码,而源代码往往掌握在软件开发者或版权所有者手中 。所谓开源,则是开放源代码(Open Source)的简称 。这种软件发布模式,将源代码开放给所有使用者,使其可自由修改 。
“顾名思义,开源的最大特点是开放,将源代码开放给有需要的人 。在版权限制范围内,人人都可以对其进行修改,甚至重新发布 。”北京理工大学计算机网络及对抗技术研究所所长闫怀志在接受科技日报采访人员采访时指出,广义的开源思想由来已久,后来逐步演变成了软件从业者的一种态度和文化,其要义在于自由、共享和充分利用资源 。
从发展历史来看,计算机行业初期的发展重心在硬件,绝大部分软件是以开源方式提供给用户,用户可自主修改开源代码解决硬件故障,使系统正常运行 。
上世纪70年代中后期,计算机行业的重心由硬件转移到软件 。彼时,以微软为代表的公司开始只提供二进制可执行程序的商业软件,而不提供源代码,并将其固定为一种盈利模式 。为此,很多程序员自发组织了“自由软件运动”,反对将软件占为公司或个人所有,提倡软件的源代码以及再生代码可被自由获取、修改和再发行 。
1984年,美国麻省理工学院人工智能实验室研究员查德·斯多曼发起了“自由软件运动” 。他认为,软件应由用户自由获取,如果不自由,就会出现少数人统治计算机软件业的局面 。为此,他建立了自由软件基金会(Free Software Foundation,FSF) 。
在闫怀志看来,现在的开源软件是“自由软件运动”发展到一定阶段的产物,它介于“自由软件”和“商业软件”之间,既秉承了“自由软件运动”倡导的知识共享理念,又允许以专利形式从软件中获利以调动研发的积极性 。
1998年,致力于推动开源软件发展的非盈利性组织“开放源代码促进会(OSI)”成立 。后来,这一年被称为“开源软件元年” 。渐渐地,开源软件被更多的公司、行业甚至政府所广泛接受和使用 。
“早在2010年,NASA(美国国家航空航天局)就支持了开源云平台OpenStack的开发工作 。2018年,我国国家重点研发计划也对云计算和大数据开源社区生态系统项目进行了支持 。”闫怀志举例道 。
以较低成本解决基础共性问题
谈及开源的好处时,西安电子科技大学通信工程学院副教授任智源打了个形象的比方:“借助公开的源代码,软件工程师可以在前人的基础上不断进行改进,不用‘重复造轮子’ 。”
从学习者和使用者的角度来看,开源在一定程度上降低了准入门槛 。开源软件的获取和使用成本较低,对于商业用户来说,可以缩短开发周期、降低开发成本 。
同时,让用户获取源代码,也会激发其产生出更多的自发行为,比如修改代码中的不足或增加新的功能 。通过参与源代码的开发和修正,用户既可从中受益,同时也可为开源代码的不断迭代作出贡献 。
对提供源代码的企业而言,他们能从中获得什么呢?
在闫怀志看来,企业开放共享源代码的动力在于,开源有助于企业更娴熟地掌握相关知识,集中行业精英力量,以较低成本解决基础共性问题 。
“作为一个开源的项目,开发者不用负责‘售后’,也无需在发布前进行大规模的测试 。用户使用开源软件的过程,也是一个对其进行大规模测试的过程,可帮助企业节约大量测试成本 。”任智源说 。
通常情况下,通过正面反馈和负面反馈修正,开源项目质量要高于封闭项目 。开源还有助于树立企业品牌形象,扩大影响力 。闫怀志指出,一些企业通过将关键技术开源以打击竞争对手,改变竞争格局,推动整个行业的发展 。比如,谷歌将Android(安卓)系统开源,而后使其迅速追赶由苹果公司开发的移动操作系统IOS并最终与之比肩 。


推荐阅读