蘋果熱門項目首席維護者:開源不易,GitHub 不可信
此前,我們曾報道了 GitHub 封鎖受美國制裁公司的俄羅斯開發人員賬戶。該平臺的這一舉措不可避免的帶來了一些破壞性的副作用,蘋果開發者社區兩個熱門項目 Quick 和 Nimble 的首席維護者 Jesse Squires 近日就發文控訴稱,“但似乎 GitHub 并沒有完全考慮到這一點,因為這些賬戶的封停正在搞砸我的項目。”
Jesse 在其個人博客中指出,Quick 5.0 版本已于幾天前發布。在發布前的一周里,他曾審查并合并了許多 PR;但是當他準備寫 release notes 時,神奇的事情發生了 —— 一些 PR 被刪除了,更過分的是整個貢獻者的存在都消失了。
“他們在 issue 上的所有評論都消失了,他們打開的所有 issue 都消失了,他們打開的所有 PR 都消失了。與該用戶有關的每一項活動都消失了。這 TM 的是什么情況?”
Jesse 以項目中一個關鍵性的 bug 修復 PR #1129 進行了舉例,大家可以從 GitHub 的自動生成的 release notes 中看到這一行:
@BobCatC made their first contribution in#1129
“但用戶賬戶和 PR 的結果都是 404。但是你可以在這里找到合并提交,這是所有關于這一變化的歷史記錄”。
維護者 Rachel Brindle 還打開了一個 PR(另一個重要的 bug 修復),但引入該 bug 的原始 PR 也已經被刪除。“引入它的原始 PR 后來被刪除了,所以我不確定該貢獻的確切意圖。”
在經歷過短暫的疑惑后,Jesse 終于意識到這些“神秘的消失”都是由于 GitHub 輕率地暫停了俄羅斯開發者的賬戶,而沒有考慮到其破壞性的副作用所造成的。目前已有多位 Quick 的貢獻者賬戶被封禁,“這意味著除了原始 commit 歷史之外,我們已經失去了他們的所有貢獻。”
我不清楚 GitHub 暫停這些賬戶的目的是什么,但對于任何與現在被暫停的賬戶有互動的開源項目來說,這似乎是難以置信的破壞性。在像 Twitter 這樣的服務中,你可以訪問已暫停帳戶的占位符配置文件,并看到一條傳達該賬戶被停用的信息,而其他用戶對該賬戶的 @mentions 仍然鏈接到被停用的賬戶的資料。在 GitHub 上,情況完全不是這樣的。
顯然,在 GitHub 上“suspending an account”實際上意味著刪除一個用戶的所有活動。這導致(1)被停用賬戶的每一個 PR 都被刪除,(2)被停用賬戶打開的每一個 issue 都被刪除,(3)被停用賬戶的每一個評論或討論都被刪除。實際上,用戶的整個活動和歷史都被蒸發掉了;所有這些有價值的數據都會丟失,唯一保留下來的是原始的 Git commit 歷史。就好像這個用戶從未存在過一樣。
同樣,目前我還不清楚數據丟失是 GitHub 的目標還是這是一個失誤。無論怎樣,這都是一個巨大的問題。在沒有通知的情況下刪除這些數據是對信任的一種濫用。我們還應該繼續把重要數據存放在 GitHub 上嗎?
除了此前發布的一篇聲稱會“為包括俄羅斯開發者在內的所有開發者提供服務”的聲明外,GitHub 沒有發布任何有關當下這一封禁舉措的通知或溝通。Jesse 稱,“這絕對是令人困惑的”。
我在這個我接手的項目上只工作了一個星期左右,試圖像一個好的維護者一樣勤奮地跟蹤變化,然后各種奇特的、意想不到的怪事開始發生。我不知道的是,GitHub 正悄悄地加入了西方世界其他國家的行列,以懲罰無辜的俄羅斯平民......我不明白刪除 GitHub 賬戶和造成平民的食物短缺是誰的'勝利'。據我所知,現在失蹤的貢獻者只是對社區開源項目感興趣的普通 iOS 和 macOS 開發者。
來自 GitHub 的這些行為對開源項目和開源社區是有害的和破壞性的。突然之間,我看到那些積極為項目做出貢獻的用戶的 PR、issue 和 comment 都消失了。我們丟失了關于 issue 和 PR 的寶貴貢獻、信息、上下文和討論歷史,我們甚至丟失了開放且正在積極審查的 PR。這些工作現在已經完全、永遠地消失了。對于合并的拉取請求,我們有原始的 commit 歷史,但這不能代替完整的代碼審查和討論。
維護開源項目已經很困難了。繼承一個舊的、被忽視的項目,并試圖讓它回到正軌,這就更難了。在這種情況下,每一個 PR、issue 和 comment 對于項目的長期維護和成功都很重要。評論、討論和代碼審查提供了寶貴的背景資料,而這些資料并不總能在 commit 歷史中體現出來,特別是對于那些多年來經歷了多個維護者的開源項目。我認為 GitHub 的正確解決方案應該是保留所有的貢獻,凍結可疑賬戶以防止未來的活動,并在賬戶資料頁面上明確標明封停。然后,在可能的情況下,重新啟用這些賬戶。但顯然,GitHub 認為最好的辦法是將其全部刪除。
所以,感謝 GitHub 把事情搞砸了。
本文轉自OSCHINA
本文標題:蘋果熱門項目首席維護者:開源不易,GitHub 不可信
本文地址:https://www.oschina.net/news/192309/apple-github-russian