老子說:千里之行始於足下。這邊文章講述了Github的缺點,以及為何應該拒用Github。
Give Up GitHub!#
- 原文網址: https://sfconservancy.org/GiveUpGitHub/
- 作者:軟體自由保護組織 (Software Freedom Conservancy)
- 原始文章授權:CC BY-SA 4.0
- 翻譯: Ivon Huang
我們知道這並不容易,Github無處不在。在他們成功的行銷之下,Gihub向FOSS (自由和開源軟體) 開發者證明了這是最佳 (也可能是唯一) 的FOSS開發平台。然而,作為含有專有軟體,商業祕密工具的平台,Github的理念與FOSS精神恰好相反。相較之下,Git當初就是開發用來取代專有軟體"Bitkeeper"的,並且能分散式的開發FOSS的軟體,去中心化,不依賴中心站點。Github將Git包裝後,加入一些擴充功能,讓原本分散、平等、FOSS的系統成為中心化、專有的站點。並且,那些擴充功能皆是由單個營利公司所控制。現有的FOSS開發社群使用Gihub,讓新來的開發者加入這個專有平台,讓Github名聲漸廣,同時也限制了下一代FOSS開發者的眼界。
我們知道很多人每天都會依賴Github。要放棄使用隨處可見、免費、有用的工具是很難的,即使他是專有軟體。對軟體開發者來說,棄用Github可能比棄用Facebook還難!我們不會責怪正在掙扎的你,但是我們希望你可以讀讀看下面關於放棄Github的理由,以及尋求更好的替代品方案。 並且,請偶爾回來看這篇文章,我們會繼續更新相關內容。
為什麼要棄用Github?#
有很多放棄Github的理由,但下面我們只列出最重要的:
Copilot是營利工具#
Copilot是由微軟和子公司Github所開發的工具,使用AI自動生成程式碼輔助開發者。按照 Github官方聲明,AI模型是使用Github上託管的專案所訓練,包含使用 著作傳授權條款的專案。這些專案可沒有進入公有領域,而是使用 FOSS授權條款發布的。這些條款要求適當的標注作者,有些 著作傳條款還會要求以該專案開發的軟體必須使用同樣條款發布。這一年以來,微軟和Github長期無視這些條款。他們唯一做出的辯護是 前Github CEO發的一條推文,認為該領域已有相關法律規定,屬合理使用。然而這是錯誤的,該領域尚未立法。除了法律問題外, Github使用著作傳保護的程式碼來開發專有軟體,其中有嚴重的道德問題存在。
與美國移民局的關係#
2020年,社群成員發現 Github與美國移民局(ICE)有簽訂營利性質的軟體服務合約。社運人士和Github員工二年來不斷呼籲Github取消此合約,但Github卻回覆,母公司微軟多年來都向ICE販售Microsoft Word,也不見有人抱怨。他們宣稱很多企業都跟政策有問題的機關做生意。不論你對ICE的觀感如何,Github對 重要議題的輕蔑和不誠實,再再證明了Github將公司營利置於社群意見之上。
假裝支持FOSS軟體#
即使Github一直假裝他們支持FOSS軟體 (就像前輩 SourceForge一樣),但他們的託管網站完全就是專有軟體和商業軟體組成。我們很感謝Github讓他們員工偶爾貢獻部份FOSS專案的上游原始碼,但社群已經被Github傷害太久。他們宣稱支持FOSS軟體,卻要求社群依賴他們的專有軟體。我們不能再讓Github這樣欺壓下去了!
不提供自託管選項#
Github跟同類FOSS專案託管公司的最大不同在於,他們沒有提供自託管的選項。他們所有的程式碼都是不公開的。舉例來說,我們在批評Gitlab的商業運營模式時,講到他們提供「社群版」和「企業版」的差別待遇,但至少Gitlab社群版有基本的自託管能力,並且是100%開源的。此外,像CodeBerg這種非營利的FOSS軟體託管網站,他們的平台是完全自由開源的。
不尊重著作傳#
Github長期以來便不尊重著作傳的價值。歷任CEO皆公開對著作傳持負面態度。創始人兼前CEO曾在 OSCON上的演講中攻擊著作傳和GPL。上樑不正下樑歪,多年來我們發現,Github的員工在許多場合都說服人們不要使用著作傳條款,甚至還有 Github員工在Bug ticket上公開呼籲不要使用著作傳條款。
他是微軟的財產#
Github是微軟的全權子公司,微軟過去便不斷攻擊著作傳條款。
要怎樣棄用Github呢?#
專有軟體的廠商陷阱導致人們難以離開Github。我們擔心的是,Github作為「工程師的Facebook」已經成功製造了有史以來最誘人的圍牆花園,吸引了無數FOSS軟體開發者。就像離開Facebook,你就會不知道怎樣跟朋友家人聯絡;離開Github,你就會不知道怎樣認識其他開發者,以及和其他開發者合作。Github甚至會成為向你雇主展示開發成果的平台。我們也知道有些電腦科學的課程還會要求學生去使用Github。
因此,我們呼籲現況為舒適安穩的FOSS專案領導者、開發者、管理者、面試官,能夠拒絕使用Github的專有軟體服務。我們知道你可能會受到未來雇主、雇傭你開發FOSS專案人士的壓力,要你使用Github。這類集體行為,需要上層開發者首先做出行動才能改變,以成為他人榜樣。這也是為何我們不只要你離開Github,還要協助更多人放棄Github。你可以協助新加入的開發者,避免被Github導致的內部權力不平等所傷害。設定議程,將你的FOSS專案託管在其他平台。
同時,我們也向面試官、社群領導者,還有那些鼓勵新加入的貢獻者使用Github的上層人士喊話。一旦你決定將專案託管在Github,個人貢獻者就不得不使用Github的專有且傷害性的產品。如果你是決策者,或是社群中擁有權力的人士,我們希望你能將社群的貢獻導向FOSS的平台,而非Github。如果你是個人開發者,覺得離開Github倍感困難,那請閱讀我們下面的推薦方法,之後會再陸續新增。
為了未來考量,我們會讓這個網址保持不變,並能從 GiveUpGitHub.org連結過來,內含幫助大眾的資源,協助上層開發者、新手開發者,以及眾多的FOSS軟體貢獻者離開Github。如果你認為你的專案還無法脫離Github,我們希望你能把 這段聲明加入到README.md,宣示你的態度。如果你已經離開了Github,請改用 這段README.md的範本取代現有的版本。
千里之行始於足下。 The journey of a thousand miles begins with a single step. — 老子 (Lao Tsu) in Chapter 64 of 道德经 (Tao Te Ching)
棄用Github的幫助資源#
這裡是幫助你離開Github的資源。如果有更多資訊,我們會隨時更新此列表。如果你想跟我們分享尚未列在上面的資源,請在 Give-Up-GitHub郵件清單跟我們討論。
替代託管服務#
自託管(或加入自託管群組),有以下選項#
(我們很快就會加入架設自託管服務的教學!)
在棄用Github前,你可以做的事#
即使你還是Github用戶,你還是可以幫忙喚醒大眾關注這個議題。(未來將加入更多方法)
將 這段聲明加到你的README.md,跟使用者分享你對Github的看法。
在貢獻Github上的專案前,用尊重和友善的口氣詢問開發者,是否能使用Github以外的方法進行貢獻。
向雇主說明依賴Github的專有軟體和廠商陷阱的風險。
加入 give-up-github的郵件清單,分享你離開Github的難處。這樣能幫助我們尋找解決方式,並將解決方法添加至此頁面。