近日,GitLab稱計劃在平臺上自動刪除免費用戶賬號中一年沒有活躍的項目,以此減少托管成本,此計劃將于2022年9月生效。消息一出,圈內一片嘩然。
圖源 TheRegister
GitLab為什么要刪除休眠項目?
開源的本質是通過個體協(xié)同,從而創(chuàng)造價值。這種協(xié)同能夠打破地域限制、連接到全球的開發(fā)者,推動共同技術進步。其初心是為開發(fā)者提供一個能夠發(fā)揮自己技術特長的舞臺,在參與共創(chuàng)共享的過程中收獲自身價值、提高技術水平。
為什么GitLab要做出九月下旬開始自動刪除沒有活動狀態(tài),且是免費用戶所持有項目的計劃呢?在該項計劃中所提到的,長期無活動項目的托管成本預計占GitLab總托管成本的1/4。開發(fā)者對于GitLab做出該項計劃的意圖各有猜測。目前,最為貼切的就是GitLab為了減少托管成本,自動刪除這些項目每年可以為其節(jié)省高達100萬美元的托管支出。并將資金用于SaaS業(yè)務,幫助其SaaS業(yè)務可持續(xù),保持GitLab財務狀況可持續(xù)。截至發(fā)稿前,GitLab官方的Twitter賬號已經發(fā)文,并對該事件進行了回應。"?我們在內部討論了如何處理非活動存儲庫。我們決定將未使用的存儲庫移動到對象存儲。一旦實現(xiàn),它們仍然可以訪問,但在長時間不活動后需要更長的時間才能訪問。?"
圖源推特
開發(fā)者對GitLab行為的不滿
對于GitLab的這項計劃,很多開發(fā)者表示不滿,并提出質疑。其中,大部分開發(fā)者表示,該項計劃,破懷了他們對于GitLab的信任,并對刪除項目可以節(jié)省托管成本表示質疑。有開發(fā)者提出,一旦該計劃開始實行,那么仍然在生產中使用的項目,就會因為長期不更新,而被停用,導致生產故障。
圖源 (reddit)
“這是一個糟糕透頂?shù)闹饕猓褲撛诘挠脩敉葡蛄薌ithub,原因在于個人項目可能會被刪除。我鐘愛的項目里90%已經休眠了一年多,我認為它們已經'完成了',但是這不意味著如果以后我希望重新訪問或者改進它時,我已經失去它了。"
"我也不認為幾年是合理的。很多人都在使用Github和Gitlab來存儲他們所有的項目。想象一下,如果是Backblaze宣布它將刪除你所有超過1年的備份文件。我也不明白他們如何通過刪除這些項目每年節(jié)省100萬的。他們是在iPhone上存儲數(shù)據(jù)還是其他什么?存儲很便宜,源代碼并不會占用太多空間。“
"開源"之憂
1、"開源"、協(xié)作,打破了溝通壁壘
前紅帽總裁兼CEO Paul Cormier表示,開源、協(xié)作的工作方式正在推動時代的前行。人類社會里交流的方式主要是語言,除了漢語和英語,可能大部分人無法使用其它任何語言進行交流。數(shù)學的公式和符號需要語言的解釋,哲學的思想需要語言的陳述和案例,但開源軟件只需要代碼即可。大多數(shù)程序員可以不理解語言,但代碼一定能理解。一群相互不認識的陌生人,甚至都不知道他來自于哪個國家,卻可以為了一個共同的目標,默默貢獻很多年。
2、國內外"開源"現(xiàn)狀,"開源"是否不純粹了?
GitHub封停俄羅斯開發(fā)者賬號事件引起了很多開發(fā)者的關注。作為一個開源平臺,本身不應該有任何傾向性,但是其給出的封停賬號原因是,賬號的使用者受雇于被美國制裁的一些公司。這不禁讓人懷疑開源的中立性。無前置征兆的封停賬號,給很多開源項目帶來了影響,其中就包括Quick和Nimble這兩個熱門項目。國內開源現(xiàn)狀也沒有很樂觀。賈揚清評價國內開源現(xiàn)狀,他表示,我們國內目前具備了優(yōu)秀的開發(fā)者群體,并且也有意愿有想法來進行知識共享,但是卻缺少一個良好運營的組織保障。代碼是沒有國界的,不能因為一些商業(yè)因素或其他因素,就分而治之,這對我們的開源建設是沒有正向作用的。我們需要的是培養(yǎng)開發(fā)者具備開源的精神,并非是在已有的技術體系里面搞一個我們的開源,而是要投入到開源社區(qū)和項目當中去,展示出我們國家開發(fā)者的技術深度以及領導力。
當開發(fā)者們開始討論"開源的中立性"時,就是在質疑"開源"自身的中立性。不論是Github封停俄羅斯開發(fā)者賬號,還是我們國內的不完整“開源”,都讓開發(fā)者對“開源”的信任產生了動搖。
3、如何應對"開源"
開放源碼的世界實在太美好了,在信息快速發(fā)展的當代,沒有人能夠抗拒開源軟件帶來的誘惑。
開源項目是公開的,大家都可以采用,但是不能完全依賴,選擇的時候需有替代方案和框架。這樣可以在其項目出現(xiàn)問題的時候,或者突然宣布閉源的時候,進行替換,否則沒有替代方案,直接進行項目的重寫,那么代價就會非常大。作為開發(fā)者,在使用"開源"的同時,應當盡可能吃透想要使用的開源代碼,通過學習開放的源代碼,學習代碼的結構、思路,然后用自己的理解,重新進行代碼的,這樣在提高代碼可維護性的同時,也能夠提升自己的編碼能力及代碼水平。結語"開源"成就了這個程序員時代,很大比例的開發(fā)者都從"開源"中收益匪淺,有代碼能力的提升,也有個人聲望的提升。但是"開源"不僅是開發(fā)者的"開源",同時也有商業(yè)公司具備商業(yè)目的的"開源"。我們不需要討論"開源"究竟是"成功",還是"失敗",開發(fā)者定義的成功與企業(yè)定義的成功是不一樣的。最終的結果,還是交由"市場"來決定,而"開源"能否存活,就是其成功與否的最好憑證。
參考鏈接:
https://www.theregister.com/2022/08/05/gitlab_reverses_deletion_policy/
https://www.theregister.com/2021/01/27/gitlab_removes_starter_tier/?td=keepreading
https://www.theregister.com/2022/08/04/gitlab_data_retention_policy/