放棄 GitHub,現在正是時候?

infoq 發佈 2022-07-02T10:56:43.212458+00:00

6 月 30 日,SFC(軟體自由保護協會)在自己的官方博客發布了一篇名為「Give Up GitHub: The Time Has Come!」的文章,隨即在 Hacker News 上引發了網友的激烈討論。

6 月 30 日,SFC(軟體自由保護協會)在自己的官方博客發布了一篇名為「Give Up GitHub: The Time Has Come!」的文章,隨即在 Hacker News 上引發了網友的激烈討論。


SFC 在文章中對 GitHub 的許多行為進行了控訴,列舉了 GitHub 的多條罪狀。同時呼籲大家停止使用 GitHub,擺脫 GitHub 的長期控制。

Copilot 商業化 - 壓倒駱駝的最後一根稻草


長期以來,SFC 一直都在考慮放棄 GitHub,上個禮拜,GitHub 宣布 Copilot 成為商業盈利產品,堅定了 SFC 放棄 GitHub 的決心。


具體來說,自從微軟收購 GitHub,並在一年前首次推出 Copilot,SFC 就一直在就此事件與微軟和 GitHub 進行溝通,SFC 提出了幾個問題,都沒有得到明確的答覆。半年之後,SFC 將問題公開,並成立專家委員會,希望大家重點考慮 AI 輔助軟體的道德影響問題。同時,SFC 還組織了公開討論活動,但邀請微軟與 GitHub 代表參與討論時被無視。近期,GitHub 做出答覆,稱不會參與關於此問題的任何公開或內部討論,理由是「(關於 AI 輔助軟體的道德)的廣泛對話似乎不太可能改變貴方(軟體自由保護協會)的立場,因此我們(GitHub)沒有回應貴方的具體問題。」SFC 認為即便是如此敷衍的回答也要等待一年之久是非常不尊重人的事情。


而 Copilot 的收費則是直接惹怒了 SFC,「以 Copilot 的方式推出不尊重 FOSS 社區意見的營利性產品,是不道德的。」SFC 表示。


以下是 SFC 向微軟/GitHub 提出的三個問題。


1、在微軟和 GitHub 的公開聲明中,貴方依託的是什麼判例法?GitHub 當時的 CEO 曾表示:「1)在公共數據上訓練機器學習系統屬於合理行為;2)輸出結果屬於操作者,其性質類似於編譯器」。


2、Copilot 能夠在任意代碼上訓練模型(並允許用戶基於該模型生成代碼)且不受任何許可條款的約束,那麼為什麼只使用開源軟體來訓練 Copilot 模型?比如為什麼不把微軟 Windows 和 Office 代碼納入訓練代碼集?


3、能否提供一份用於 Copilot 訓練集的許可證清單,包括版權所有者或 Git repo 名稱?如果無法提供,為什麼要向社區隱瞞這些信息?


微軟/GitHub 僅對第一個問題進行了回答。SFC 認為,GitHub 的沉默其實側面反映出他們也不知道自己侵犯了誰的版權、什麼時候侵犯的、怎麼侵犯的。鑑於此,SFC 呼籲所有 FOSS 開發者脫離 GitHub,雖然放棄 GitHub 需要付出很多,犧牲很多,但只有這樣才能向 GitHub 和微軟的不良行為表達抗議。


「放棄專有軟體、支持 FOSS 解決方案之所以如此困難,背後的邏輯就是由專有廠商設計出來的。」SFC 表示,「是 GitHub 需要 FOSS 項目使用他們的專有基礎設施,而不是我們只能選擇 GitHub。」

SourceForge 的前車之鑑


年長一點的開發者可能還會記得 SourceForge,這是 20 多年前最流行的代碼託管站點。後來,以完全自由與開源(FOSS)標榜自己的 SourceForge 突然宣布將所有代碼私有化,於是各大 FOSS 項目紛紛離開,告別這個平台,SourceForge 也逐漸走向沒落。雖然現在 SourceForge 仍在託管代碼,但它為了盈利已經變成了「頁面強塞大量廣告」、「引誘用戶在不經意間點擊跳轉」的平台。


SourceForge 的慘痛教訓告訴我們由營利性專有軟體企業來主導 FOSS 協作開發網站是個錯誤,但是這樣的事情正隨著時間推移漸漸淡出人們的腦海。


過去十年,GitHub 已成為 FOSS 開發的主導力量,他們構建了友好的用戶界面,將社交交互功能引入 Git 技術,但 Git 的設計初衷,只是希望在沒有集中站點的情況下實現分布式軟體開發。憑藉 Git 與 SourceForge 的經驗,GitHub 迅速吸引了全球的開發者在其平台上構建 FOSS。GitHub 希望從這些專有產品身上,尤其是想要使用 GitHub 工具開發內部專有軟體的用戶身上獲利,不過 GitHub 也為這些項目提供了優秀的服務。


但縱觀各大科技巨頭在免費產品中精心設計的「套路」,你會意識到,「如果你不是他們的客戶,就會成為他們的產品」。 FOSS 的開發方法已經成為 GitHub 的產品,並且在廣大開發者或主動、或被動的支持下完成了專有化與重新打包。於是乎,FOSS 開發者們陷入了溫水煮青蛙的糟糕境地,隨著 GitHub 的行為越來越出格,大家從氣憤到原諒,再到忽略甚至變得逆來順受。

拋棄 GitHub 勢在必行


SFC 提到目前市場上已經出現了替代方案,也許完成度還不是特別高,但大家可以參與其中幫忙改進。放棄 GitHub 意味著要付出巨大的犧牲和時間成本,卻勢在必行。


SFC 說自己會努力為那些難以遷移的項目提供替代方案,未來幾周內,將公布更多託管實例選項,同時修改 GitHub 服務指南。


同時,SFC 委員會也將認真研究 AI 輔助軟體類開發工具的一般性問題。最近,SFC 初步發現 AI 輔助軟體類開發工具在構建階段,也可以匹配 FOSS 許可證,他們將繼續支持委員會進一步探索這個想法,尋找新的應用可能。雖然微軟 GitHub 確實是這一領域的先行者,但也有早期報告表明,亞馬遜的 CodeWhisperer 系統(上周推出)能夠為代碼建議功能提供適當的歸屬與許可支持。


通過 Copilot 及核心託管服務,GitHub 的行為已經在業內造成惡劣影響。SFC 表示也不會寄希望於亞馬遜、Atlassian、GitLab 或者任何其他營利性託管商是什麼脫離世俗的聖賢,只是單從行動角度來比較,GitHub 無疑要惡劣得多。GitHub 之前就曾多次無視、駁回及/或貶低社區提交的多項投訴,因此 SFC 敦促所有 FOSS 開發者儘快脫離 GitHub,共同奪回本應屬於 FOSS 的開發世界。

放棄 GitHub 的其他理由


除了 Copilot,SFC 還列舉了一下 GitHub 不合理的其他行為:


  • 2020 年,GitHub 與 ICE(美國移民與海關執法局)簽訂營利性軟體服務合同,此事引起許多開發人員的抗議。近兩年內,包括 GitHub 的員工在內一直有人呼籲 GitHub 取消該合同。但 GitHub 的答覆是,他們的母公司微軟多年來一直將 Microsoft Word 出售給 ICE,並沒有什麼公眾投訴。


  • GitHub 由微軟全資擁有,該公司高管歷年來多次攻擊 Copyleft 許可。GitHub 長期以來一直在試圖詆毀 Copyleft,包括在演講中攻擊 Copyleft 和 GCP,其員工也在許多場合爭論以說服項目避免使用 Copyleft。


  • GitHub 與 FOSS 項目託管行業中的大多數同行不同,GitHub 甚至不提供任何自我託管 FOSS 項目的選項,他們的整個代碼庫是秘密的。儘管 SFC 對 GitLab 的 "社區 "和 "企業 "版並行的商業模式有不滿,但至少 GitLab 的社區版提供了自我託管的基本功能,而且是 100% 的 FOSS。同時,還有一些非營利性的 FOSS 託管網站,如 CodeBerg,他們將自己的平台公開開發為 FOSS。


參考連結:


https://sfconservancy.org/blog/2022/jun/30/give-up-github-launch/


https://giveupgithub.org/

關鍵字: