合作还是对抗
今天突然想到了之前一个Linux方面很火的问题,这个是去年四月份的时候,Linux内核的管理员 Greg Kroah-Hartman 声明将整个明尼苏达大学拉入黑名单,称不在接受他们的代码。Greg Kroah-Hartman 在推特回复称:”Linux 内核开发者不喜欢『被实验』,我们要做的事情本来就够多了。“
这个事情是因为明尼苏达大学为了写论文所以提交了明显的带有漏洞的代码,为了验证开源世界中的“熟人原则”——即当一个人或者组织给这个开源项目提交了足够多且质量很好的代码之后能不能在提交代码的时候引入一些明显的漏洞并且被接受。论文地址在这里:https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdf
这个事情起因是一个明尼苏达大学的博士提交了一个很明显的无用的代码,被管理员Greg Kroah-Hartman驳回了,这个学生还觉着Linux社区不够友善,说自己只是初次提交内核代码,并且对内核不是那么熟悉,然后引起了一番讨论,后来Greg Kroah-Hartman发现这个大学之前提交的很多代码都有明显的漏洞,然后就生气了,声明以后不再接受这个大学的任何代码。
刘教授小组的学生 Aditya Pakki 向 Linux 内核提交了补丁
Linux 内核的维护人员发现这些布丁没有太大意义,所以回信说不会合并代码
Aditya Pakki 觉得有些委屈,觉得社区不是很友好 Linux 内核人员 Greg KroahHartman 于是找出了之前刘教授小组提交的论文 On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits(基于伪装技术向开源代码中引入漏洞),并认为这个事件为了研究论文而故意提交恶意代码,觉得不太厚道,所以发文禁止明尼苏达大学向 Linux 提交任何代码
4 月 21 日,明尼苏达大学发表官方申明,将会立即终止此项研究,同时针对学校批准此项研究的过程,采取适当的补救措施,防止将来发生类似事件,同时尽快将进一步的调查报告给社区。
于此同时,哥伦比亚大学教授 Sean P. Goggins 也声援明尼苏达大学,认为老师们都是很好的人。
Linux 社区的领袖 Linus 对此表示了不满:
“这很让人讨厌,因为大部分的补丁是有用的(通常补丁不是”无用的”或者“故意提交恶意代码”),所以从根本上来说,这种行为就是在浪费大家的时间。”
- 刘教授的 Tiwtter 在 4 月 21 号发表声明,解释了 Aditya 现在在研究补丁中的缺陷,他不是故意去做这件事情的
这个问题暂时就此为止了,目前不确定Linux内核是否还接受明尼苏达大学的代码,但是这个事情带来的影响是很大的。
首先,开源是一个很明显的合作的社区,大家都信任彼此,认为对方是不会添加恶意代码或者是故意写有漏洞的代码来捣乱的,默认是信任的,但是这个事情发生之后可能更多的时候还要去考虑这个代码是否是含有恶意代码或者漏洞的,这个无形之中增加了很多的代码review的工作量,大家从一个“合作”原则变成了“对抗”。
这件事情最终导致了明尼苏达大学被Linux内核拉入黑名单。其实不光开源代码,现实中也是这样,信任的建立是很困难的,但是摧毁它却是很简单的一件事。