从开源项目的割韭菜行动看开源项目的风险
最近著名的数据可视化开源项目Grafana的核心项目(Grafana,Grafana Loki和Grafana Tempo)从APACHE 开源协议转向AGPL V3开源协议了。开源社区大多数的反应是还可以接受,因为原本他们预期Grafana会转向SSPL等更严格的商业协议。这已经是这两年里第四个重要的开源项目改变开源协议了,不过这次Grafana修改开源协议的影响面会比Mongdb等更大,因为Grafana在可视化领域的应用太广泛了。只不过这次的开源协议修改的比较温和,Grafana Labs依然选择了一个开源协议。和Elastic修改开源协议的原因类似,修改开源协议表面上是针对互联网公司的掠夺行为的一种反击,可以让下游厂商更好的反哺开源上游团队,似乎是十分正义的事情。Grafana的声明里满是更好的发展开源项目的情怀,实际上情怀的背后满满的都是生意。最近修改开源协议的大型开源项目无一不是单一公司主导的,而且协议修改都发生在大规模融资之后,资本才是推动开源项目从开放开源协议向较为封闭的开源协议修改的幕后推手。正如Percona的联合创始人Peter Zaitsev所说:“7500万美金的融资与APCHE开源协议并不兼容,不过可以庆幸的是Grafana选择了AGPL而不是SSPL”。
Grafana的行为对大多数只是使用Grafana的公司影响不大,不过Grafana的CEO Raj Dutt建议大家使用直接下载的Grafana 企业版的二进制发行包。对于在Grafana基础上研发产品并进行销售的厂商,则要求他们将修改过的源码提供给客户,而对于使用Grafana向外提供服务的互联网服务商则不好意思,来我这里谈一份知识产权授权使用协议吧。
当问到Grafana Labs打算多么严格的执行许可协议的时候,Raj说:“We tried to take a similar approach with Grafana Cloud, too, offering a very robust free tier, so as with the open source, users do not have to commercially engage with us to leverage the full Grafana Stack.”满满的都是套路啊。
国内的大量国产系统为了走捷径都或多或少的采用了一些开源代码,开源社区让我们能够快速的发布我们的产品,但是其法律风险不容忽视。在成为世界经济重要的组成部分的时候,严格遵守知识产权相关的法律十分重要。当你还很弱小,不受别人关注的时候,你可以十分轻松的从开源社区摄取营养而对法律问题采用忽视的态度,但是一旦你真正的成功的时候,麻烦自然会找上门来,因此合规性是每一家信创企业所必须考虑的。
另外一点,我们在选择开源项目的时候,不仅仅要考虑技术上的因素,更重要的是要考虑开源项目的风险。以前我也提到过,对于那些单一企业控制的开源项目,要十分谨慎,当资本发挥作用的时候,情怀是挡不住利益的。
还有一种做法是依靠开源项目启动我们自己的产品研发,但是不要永远依托开源项目,利用老的Grafana代码开启自己的分支不会受此次开源许可协议变更的影响。如果我们虽然依托开源项目起步,但是早已发展出自己的核心技术,摆脱了对开源社区的依赖,那么就啥也不怕了。
其实Grafana的做法并不是最为危险的,2021年在开源社区还有一件十分热闹的事情,明尼苏达大学的导师Kangjie Lu和他的学生Qiushi Wu,Aditya Pakki三人被Linux基金会禁止向Linux提交代码。其原因是因为他们三人通过向开源软件提供代码的机会向开源软件主动注入恶意BUG。而其中的Qiushi Wu事后还发表了一篇论文:《On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits》。从这篇论文的标题就可以看出这是一篇探讨如何向开源代码提交代码时主动注入后门的文章。如果不是这位毕业于中科大的吴先生发表的这篇论文,大家可能还不会引起我们对开源软件的安全性的思考。向开源软件注入恶意BUG或者后门的绝对不会只是这一起,以前在多个开源软件中发现的滴血漏洞绝对不完全是开发者的疏漏,肯定有一些是故意放置的恶意后门。像Linux这样的开源代码都是千万行甚至上亿行代码级别的,一个经过精心设计的后门能够被及时发现的可能性极小。就像这回MNU的三位大佬,都是LINUX社区的长期代码提供者,其中Aditya Pakki编写的一个静态工具后来被仔细核查过,没有发现明显的后门,但是发现由于代码质量不高导致存在不少安全漏洞。这些安全漏洞是代码开发者水平太菜还是高手的高级伪装呢?目前无法评价。于是Linux社区本着矫枉必须过正的态度剔除了Linux中所有MNU贡献者贡献的代码。这是对开源社区负责任的态度。
从这个事件中,我有些为我们的国产操作系统以及手机担心了,因为我们的国产操作全部是基于Linux内核的,而我们的OS厂商是不是有能力对核心代码做全面的安全核查呢?我心中的答案是:我们的OS厂商恐怕没有这个能力完成这项工作。而对于我们的手机也是如此,安卓系统是基于Linux核心的,而这颗心是不是真的让我们放心呢?恐怕在下一个大的安全事故爆发之前,没有人敢打包票。
《从开源项目的割韭菜行动看开源项目的风险》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:http://www.bookhoes.com/557.html