开源正在吞噬世界!
与几十年前的冷清环境相比,如今的开源发展得一片火热。据 Apache 2021 财年年度报告显示,Apache 管理着 2.27 亿行以上的代码,向公众免费开放的软件至少价值 220 亿美元,无论是社区参与度还是代码贡献量,每年都以惊人的数量上升。可以说,开源已经渗透到了个人乃至企业的方方面面,尤其是在过去的几年里,企业在开放源代码软件中的积极作用日益凸显。越来越多的企业选择将开源软件做为商业模式的一部分,更有甚者通过直接收购软件生产商的方式拓展开源版图,比如 2018 年,IBM 以每股 190 美元的价格收购红帽百分之百的股份,耗资 340 亿美元。
企业在通过开源逐利的同时,不可避免地会引来志愿者或其他开源公司的诟病,从而影响开源生态的长久发展。比较著名的案例就是 Elastic 与亚马逊之争。Elastic 是一家开源的商业公司,主要收入来自于 Elastic 云搜索功能的订阅。2015 年 10 月,亚马逊的云计算部门在Elastic 的基础上推出了自己的 Elasticsearch,并且在不到一年的时间里,从这款产品上的获利就远超 Elastic,两家公司由此开始了多年的纷争。有人认为,亚马逊的很多服务都是建立在开源软件之上的,并且通过这些软件盈利颇丰,但是它本身却并没有为开源社区做出太多贡献,这种投入产出不成正比的行为,引来行业的不满。为了对抗这类巨头公司的“坐享其成”行为,部分公司修改了自己的开源条款,从而避免回到“专有软件的世界”。
《关于开源软件使用和注册初步报告》对开源软件的使用情况及开源贡献者的动机进行了调查,以下是部分调查结果:
1、开源软件公司的参与或将对开源生态产生负面影响
从 Elastic 与亚马逊之争中我们可以看到,当开源从社区意识驱动转变为利益驱动时,贡献者的积极性会明显下降,软件公司也会随之将重心从对社会有利的基础设施建设转变为有利可图的开源软件,长此以往,开源软件的“开放、共享、协同”的精神理念将沦为一纸空谈,开源生态也将走向末路。
2、安全性问题不容忽视
首先,通过调查发现,许多商业软件中的开源软件包都是由个人开发者贡献的,这不光带来了安全性问题,同样也存在可持续性问题。个人贡献者在生活中发生任何变动都有可能导致他无力继续维持这个项目,并且个人账户也没有足够的安全措施防御黑客的攻击。
其次,很多公司都在使用已经过时的开源程序,不能及时更新开源软件就有可能导致重大安全漏洞,但是在实际工作中,鲜少有人能注意到这一点。
3、金钱并不是贡献者参与开源的唯一途径
相较于金钱奖励,开源贡献者的主要动机来自于深层次原因,如提高技术、社区归属感、拓展朋友圈、积累影响力等,因此对于想要发展开源的公司来说,需要更关注内在动因,而不仅仅是用金钱笼络开源贡献者。
为促进开源生态的健康可持续发展,针对以上发现,可以从以下几方面入手:
1、对于开源公司,尤其是巨头企业来说,应该在发展开源的同时,保护贡献者的热情和积极性,在公司内部可以有意识地引导员工加入开源社区,多为开源事业做贡献,如此方能持续发展。
2、从意识层面增强对开源安全性的理解,企业在使用软件产品的时候,应该先去了解其中用到了哪些开源软件,从而提前发现其中将有可能出现的漏洞,解决好安全性问题才能对开源软件产生更好的倚赖。
3、个人贡献者是开源生态中的重要一环,企业应鼓励员工对开源软件的稳定性和安全性进行维护,保持开源生态的良性循环。
开源的本质在于开放、自由和协同,只有当各方参与者平等地参与其中,开源才能真正地发展起来。