聲明:本文來自於微信公眾號「InfoQ」(ID:infoqchina),作者:褚杏娟,授權站長之家轉載發布。
今天, 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/