今天, TypeScript 开发者 Resynth 发文称,代码托管服务 GitHub 的全部源代码被泄露。他表示,在向官方 GitHub DMCA 提交的可疑文件中,一个身份不明的人利用 GitHub 应用程序中的一个漏洞冒充 GitHub CEO Nat Friedman 上传了机密源代码。
疑似泄露代码地址:
https://web.archive.org/web/20201104050026if_/https://github.com/github/dmca/tree/565ece486c7c1652754d7b6d2b5ed9cb4097f9d5
随后,Nat Friedman 迅速在 Hackernews 的帖子上做了回复。他表示 GitHub 没有被黑客入侵,一切都很正常。所谓泄露的代码是几个月前他们意外地将 GitHub Enterprise Server 源代码未脱敏 / 混淆的 tarball 交付给了一些客户。
随意封禁,GitHub 被指没有开源精神
有开发者指出,此次泄露事件与 GitHub 上周下架 youtube-dl 和后续一系列动作有关,开发者用这种方式来进行抗争。
上周五,在应美国唱片业协会(RIAA)的要求下, GitHub 下架了平台上最受欢迎的项目之一:下载器项目 YouTube-dl。但 RIAA 的禁令起到了相反的效果,很多开发人员开始对此表示抗议,并发布了更多代码副本。事件发生以前,在 GitHub 上搜索 Youtube-dl 相关的项目只有20多个,而现在至少能搜出4100多个。
其实对于 GitHub 来说,封禁项目不是什么新鲜事。
去年5月,GitHub 更新了用户协议,表明 GitHub 的产品和服务适用于美国出口管制法律。当年7月起,GitHub 基于美国出口管理条例,开始对伊朗、叙利亚和克里米亚的私人 repo 和付费账户实施限制。
从克里米亚地区的俄罗斯籍开发者到全部伊朗境内开发者再到定居芬兰的伊朗籍开发者,统统遭遇了账号被封无法创建私有库、已经创建的私有库被关闭等问题。而这些开发者并未得到 GitHub 提前通知,没有任何缓冲备份的时间。
今年3月份,GitHub 封禁了一个属于微软的前端开源项目 Aurelia,理由是项目中有两名来自伊朗的外部贡献者。Aurelia 是微软开发的 JavaScript 框架,已开源了5年。
这再次引发了开发者们的质疑:GitHub 封禁项目是否太随意?这难道不是与开源精神背道而驰?
事件不断发酵,GitHub CEO 不得不对此事进行道歉:关闭此帐户显然是一个可怕的错误。我们正在调查具体过程,并更改规则以确保此类问题不会再次发生。当然这一声明并没有阻止封禁事件的再次发生。
此事也引发了后续的一个讨论:GitHub 上的技术是各国志愿者撰写并无偿分享,并非美国购买有著作权的所有物,美国无权拿不属于自己的东西制裁别人甚至“拿伊朗的技术制裁伊朗”。GitHub 最后在争议下觉得有所理亏而改变作法,被封禁的用户可以下载回自己的作品,但依然不能在社区里查看代码。
但无数开发者已经深刻的意识到,被微软收购后的 GitHub 说到底还是一家美国企业。开源虽然无国界,但 GitHub 却是有国界的。有趣的是,GitHub 今年初发布的《八度宇宙状态》报告显示,截止2019年,GitHub 上共有4000万名开发者,而80%的代码贡献者来自美国以外的地区。
GitHub 为什么不开源自己的代码?
“GitHub 本身不是开源的,这使我永远不满意。”有开发者表示。
这次 GitHub 源代码疑似泄露事件,刺激了开发者对 GitHub 的讨论:既然源代码如此容易就可以获得,为什么 GitHub 不开源?
大家将 GitHub 不开源的原因归结到其本质上是一家商业公司。GitHub 的主要目标客户是企业,他们关心合法性。获取非法源代码很容易,他们的客户不会冒这个险。同时,如果 GitHub 只是转储了代码库但对错误报告响应很慢,那将很不利于他们的公关形象。开源不仅需要源代码,还需要更多。
被封禁账户的俄罗斯研发人员 Nikolay 表示:“GitHub 虽然是一个开源社区,但更是一个商业公司。对外形象和求稳才是他们真正在意的吧。只要有人施压,他们可以轻易处置任何人。”
也有支持者认为,GitHub 的价值在于分享思想,而不是任何明智的代码。一直以来,GitHub 都是托管开源项目的最佳选择,但自从被微软收购后,它一直无法摆脱商业公司的标签。
猎豹移动董事长兼 CEO 傅盛曾在一次演讲中说:你把一个 App 放在网络上,可以让几十亿人下载,让全世界的人知道你。时过境迁,谷歌、苹果、Facebook 这样超大平台的出现,使得事情又走向了另一个极端。当涉及到各种商业利益和社会因素的时候,它们同样可以在一天内让几十亿的用户完全接触不到你,让你建立的基业瞬间湮灭——这就是垄断平台的力量。
这句话放在 GitHub 身上,同样适用。
GitHub 不代表开源
从2008年正式上线至今,GitHub已经成为全球最大的社交编程及代码托管网站,但最受欢迎并不代表全部。GitHub 自身也会面临很多外部问题。
2013年1月,GitHub 突然疑似遭遇 DDOS 攻击,访问大幅放缓。经过网站管理员查询日志发现,是来自12306的抢票插件用户洪水般的访问导致 GitHub 出现问题。2019年5月,《个人电脑杂志》网站报道,GitHub 遭到一名黑客入侵。据称,这名黑客先擦除代码资源库,然后作为恢复数据的交换向用户所要赎金。
最近,Github 被发现存在一个高危漏洞,基本上所有拥有复杂 Github Actions 的项目都容易被攻击。这让 Github 的安全性也遭到质疑。
GitHub 能够跟开源划等号吗?肯定不能。
延伸阅读:
https://resynth1943.net/articles/github-source-code-leak/