开源已死
虽然听起来有点标题党,而且写这个题目的文章已经有很多了,但是本文依然保持着0%AI参与,并且应该不是讨论最多的观点。我想说的是,基于信任的开源社区现在无比的脆弱。
发生了什么
具体的仓库我不能讲,因为这个仓库的作者已经被删号。不管是Github滥杀(最近确实非常多),还是作者直接跑路不面对问题,这都是一个非常令人遗憾的事情。仓库按照正常的流程发布了开源代码,但是其发布的预构建二进制代码与其开源版本不一致,且会泄露用户的重要隐私数据。这个仓库的开源代码是完全正常的,但是预构建文件中有私货。
让我感到庆幸的是,我因为一直以来的习惯,都愿意直接使用源码而不是预构建文件,所以我没有被影响到。但是大部分没有编程基础的人不会这样做,他们会直接使用预构建文件。
并非开源
Tsoding Daily在他的一次尝试LEAN的直播中提到了一个趋势,大公司表面上开放了很多源代码,但是这些源代码极难编译(chromium哈哈),或者根本无法编译。也就是说,这些代码虽然是开源的,但实际上并不真正开放,因为用户无法轻易地使用它们。与此同时,分发的二进制也不能被验证是否由开源的代码编译而来,所以实际上大部分用户用的并不是开源的软件。
他还提到一个阻碍人们获取真正源码的问题,虽然我觉得没什么问题,就是在文档的各种地方推荐你去使用某种推荐kit,甚至在Build from source页面也推荐。我觉得这个其实问题不大,必竟万一真的有人不懂的人点进来了呢?
信任消失了
我只能说是非常令人遗憾。众所周知,最近的开源圈子并不安生,从前端到后端,从操作系统到Github,基本上一个星期就能听到一个供应链投毒/新的漏洞出现的新闻,每天都有不一样的找回root密码方式出现。这些事件对开源软件的安全构成了极大的挑战。这还只是供应链和正常漏洞层面!
开源社区本身就是一种近似于乌托邦的社区,希望所有参与者都是善意的,愿意为社区做出贡献的。但是现在,这种假开源或者加入大量私货的行为越来越多了,这严重破坏了社区的信任基础。用户不再能够信任一个仓库发布的软件确实是对应的软件,这要求所有参与者都拥有能够peer review的能力,并且愿意去review。就算排除掉非程序用户,review也是非常耗时的。这时候或许就应该@copilot或者@codex了,此处插入AI暗广。
我觉得这比AI slop造成的backlog积压和效率下降更严重,因为它直接破坏了开源社区的根基——信任。没有了信任,开源社区就不能管按照往常一样运作。恐怕以后不能再对人做出善意推断了。我不能想象一个需要用户全部亲自审查、亲自编译,声誉无法正确运行的开源社区会是怎么样。
现在还有更多不明就里,完全不了解开源特性的人也参与到了开源之中,遇到这些事情之后遭受到的影响会更大。非常令人遗憾。
还没死
目前来说,最近影响最大的就是log4j漏洞的事情,xz被扼杀在摇篮中,这证明社区review机制确实还在正常运作。但是,这仅限于大的开源项目。如果是一个横向项目,可能用户也就十几二十人,甚至更少,那么这个项目的review机制就很难正常运作了。同时因为贡献者的精力有限,很多问题都不能被review机制发现,AI也实际上不能找到所有问题,更不要说AI并不便宜。
现在发生的事件对大的开源项目暂未产生重大影响,但是这总会发生的。或许以后就要回到每人维护一个fork不跟主线的时代了。就这么多。