GitLab也開始國家封鎖?部分職位對中國、俄羅斯關閉,引社區熱議
今年7月份,一位克里米亞的GitHub用戶披露,他的賬戶受到了GitHub的限制。隨后,GitHub宣布,他們已經開始限制克里米亞、古巴、朝鮮、伊朗和敘利亞等被美國貿易制裁的國家的賬戶。不少人驚呼,“程序員也有國界了”。不過,在GitHub的這次風波中,中國用戶并沒有受到影響。時隔幾個月,GitHub的對手——GitLab卻對中國下了手。
近日,美國代碼托管網站 GitLab 在其官網上發表了一篇 issue,稱他們將啟用一份「職位國家封鎖」令,停止招聘居住在中國和俄羅斯的人擔任網絡可靠性工程師及支持職位,并禁止擔任這兩個職位的員工移居中國或俄羅斯。該公司稱,在當前的地緣政治環境下,「這是最為人道的解決方案」。
GitLab 是一家總部位于舊金山的代碼托管公司,是 GitHub 有力的競爭對手,其用戶包括 IBM、索尼、NASA、阿里巴巴、Oracle、波音等大型科技公司和機構。截至今年 6 月份,GitLab 的員工數量已達 878 人。不過,該公司在 issue 中表示,這份封鎖令不會對目前的員工產生影響。
這份 issue 的內容如下:
2019 年 10 月 15 日,我們在 e-group 中做了一個決定,針對能夠得到用戶信息的團隊成員啟用「職位國家封鎖」(job family country block)。這是幾家企業用戶表達的擔憂,也是我們行業在當前地緣政治環境下的普遍做法。
涉及的國家包括中國和俄羅斯。
這個 issue 是為了追蹤向支持手冊中添加內容的過程以及所有需要更新的招聘流程,以確保:
1. 我們不向居住在這些國家的人提供 offer;
2. 現有的團隊成員被禁止遷移到這些國家以及留在禁止這種做法的職位上。
此外,聲明中還表示:
目前,我們還沒有一種基于權限的技術方法來處理這個問題。限制權限還將迫使我們面臨在某些團隊中創造「二等公民」的可能性,這些人無法 100% 地投入工作。我們中的一些人在其他公司也經歷過這種情況,并認識到這是非常消極的。因此,我們認為,「國家封鎖」是當前最為人道的解決方案,尤其是這一方案不會對現有任何員工造成影響。
我們應該在權限方面下功夫,因此每個人都清楚自己要做什么,大概需要多長時間。
GitLab 的做法在 Hacker News 上引發了熱烈的討論。
有人感嘆 GitLab 竟然將如此敏感的決定公之于眾,好像不是公司有意披露,而是由于操作不當泄漏出來的。GitLab CEO Sid Sijbrandij 在帖子下做出了回應,稱這份文件的確是故意公開的,即使這種做法困難重重。對于 issue 中提到的「不會對現有任何員工造成影響」,Sijbrandij 也做出了解釋,稱這份封鎖令針對的是兩個職位——「網站可靠性工程師和支持」,而在 GitLab,擔任這兩個職位的人目前沒有人在中國和俄羅斯。
對于這個決定可能造成的長遠影響,不少人也在帖子底下進行了討論。有人表示,「如果相關員工要和中國人結婚怎么辦?」「要是他們和中國人結婚若干年之后打算搬回中國照顧年邁的父母怎么辦?」由此可見,這一決定可能對該公司員工的職業和人生選擇造成一定影響。
當然,也有網友在帖子底下批評了 GitLab 的做法,稱這種做法并不客觀。美國、法國等很多國家的政府也有一些后門程序,可以讓監管機構合法獲取某些數據。如果按照這種標準,那 80% 的人都被會 GitLab 拒之門外。
作為與 GitHub 同類型的代碼庫管理平臺,GitLab 自身的用戶數量本就低于 GitHub。那么,GitLab 的這一舉措會不會對用戶的平臺選擇產生影響呢?與 GitHub 相比,GitLab 又有哪些獨有的優勢呢?
GitHub VS GitLab
作為基于 Web 的 Git 倉庫,GitHub 和 GitLab 都提供了分享開源項目的平臺,并為開發團隊存儲、發布、分享和合作開發項目提供了云存儲的場所,使用方法也差不多。
GitHub 于 2008 年推出,是全世界最受開發者歡迎的 Git 倉庫管理平臺。截至 2018 年 6 月被微軟收購之時,GitHub 擁有 2800 萬用戶和 8500 萬代碼庫,穩居第一。之后,微軟以 75 億美元的價格收購了 GitHub。值得注意的是,GitHub 之前的所有私有項目都需要收費,因此盡管開源項目大多都集聚在 GitHub 上,企業和個人的私有項目都放在了其它代碼托管平臺,例如國內的 Coding 和國外的 GitLab 等。但在 2019 年初,微軟在收購 GitHub 之后做出了首次重大變革:提供無限免費的私有代碼庫。這種定價策略的改變是 GitHub 對其劣勢的一種補充。
GitLab 推出于 2011 年,略晚于 GitHub,但近年來也受到了越來越多開源項目愛好者的青睞。GitLab 平臺的(社區版)Community Edition 是開源的,開發者可以對其功能的增強做出貢獻。與 GitHub 不同,GitLab 對開源項目提供免費的私有存儲庫,這是相較于 GitHub 的一大優勢。但隨著 GitHub 也提供了無限免費的私有代碼庫,GitLab 在私有存儲方面的優勢也越來越小。
兩個平臺的異同點
多年來,GitHub 和 GitLab 代碼庫管理平臺各取所長,相互融合。二者既有共同點,也存在著差別。
以下是兩個平臺皆有的一些基本功能:
拉取請求;
第三方整合;
克隆存儲庫;
代碼審查;
插入代碼段;
問題跟蹤;
高級權限管理;
Markdown 支持。
盡管在技術上差別不大,GitHub 與 GitLab 最大的區別在于管理理念。GitHub 注重自身架構和高度可用性和性能,并將復雜的功能委托給第三方工具。與之相反,GitLab 將其所有的功能包含在其驗證良好和高度集成的平臺上,并在單一平臺上支持開發和運維周期內的所有操作。就受歡迎程度而言,GitLab 的開發者數量遠低于 GitHub。此外,GitHub 有時定價較高,不適合低預算的用戶。
如何選擇適合自己的庫管理平臺
兩個平臺各有優勢,用戶又如何就自己的開源項目作出選擇呢?
如果你正在管理涉及多開發者合作的大型開源項目,則 GitHub 或許是最佳選擇。你還可以在 GitHub 上融入到一個龐大且生機勃勃的社區,這可以幫助你完成自身項目。
但如果你正在管理的項目預算有限且不特別強調性能,則 GitLab 可以幫助你節省成本。并且,如果你希望融入到一個真正開源的平臺,GitLab 可能最適合你。
此外,選擇時還應考慮以下問題:你是否喜歡在自己的開源項目中借助第三方工具來進行持續集成(CI)和持續交付(CD)?所以,如果你更愿意使用內置集成工具來進行 CI 和 CD,那么就選擇 GitLab 吧。
歸根究底,選擇 GitHub 或者 GitLab 取決于自己開源編程項目想要實現的具體目標,在評估自己的預期之后,用戶才能選擇滿足自身需求的代碼庫管理平臺。