GitHub斷供會(huì)對(duì)國(guó)內(nèi)會(huì)有什么影響嗎?
本文整合自CSDN、量子位、雷鋒網(wǎng)、ZDNet等
7月29日消息 此前,外媒ZDNet報(bào)道稱(chēng),來(lái)自俄羅斯、伊朗等國(guó)的開(kāi)發(fā)者使用GitHub托管代碼受限。伊朗的開(kāi)發(fā)商Hamed Saeedi稱(chēng):“GitHub封鎖了我的帳戶(hù),他們認(rèn)為我正在開(kāi)發(fā)核武器”。針對(duì)這些國(guó)家開(kāi)發(fā)人員的抱怨,GitHub回應(yīng)稱(chēng),此舉也是身不由己。
GitHub CEO Nat Friedman在推特上表示,“聽(tīng)到貿(mào)易限制如何傷害人們,我很痛苦。我們盡了最大努力只做法律要求的事情。但顯然,人們還是會(huì)受到影響。GitHub受美國(guó)貿(mào)易法的約束,就像任何在美國(guó)開(kāi)展業(yè)務(wù)的公司一樣。不幸的是,為了遵守美國(guó)的制裁,我們不得不對(duì)伊朗、敘利亞和克里米亞的賬戶(hù)實(shí)施限制?!?/span>
針對(duì)GitHub的這一行為,Hamed在GitHub創(chuàng)建了名為“github-do-not-ban-us”的項(xiàng)目進(jìn)行抗議,要求GitHub對(duì)此事進(jìn)行道歉,并修改限制措施。目前這一項(xiàng)目已經(jīng)受到了程序員廣泛的支持。這也引起了GitHub方面的注意。
Nat Friedman 主要表達(dá)了以下幾點(diǎn):
1. Github 受到美國(guó)出口管理?xiàng)l例的管制
聽(tīng)聞貿(mào)易戰(zhàn)如何對(duì)人們?cè)斐蓚?,這讓我感到異常痛苦。我們盡量不做超出法律要求的事情,但無(wú)論如何人們?nèi)匀皇艿搅擞绊?。GitHub 受美國(guó)貿(mào)易法的約束,就像任何在美國(guó)開(kāi)展業(yè)務(wù)的公司一樣。
2. 開(kāi)源 repo 不受影響
為了遵守美國(guó)的制裁,我們不得不對(duì)伊朗、敘利亞和克里米亞的私人 repo 和付費(fèi)賬戶(hù)實(shí)施限制。公開(kāi) repo 依然能被所有開(kāi)發(fā)人員訪(fǎng)問(wèn) —— 開(kāi)源的 repo 不回受到影響。
3. 限制主要基于用戶(hù)所在地
限制主要基于用戶(hù)的居住地和身處位置,而非國(guó)籍。如果某人被錯(cuò)誤標(biāo)記,只要填寫(xiě)相應(yīng)表格,賬戶(hù)就會(huì)在數(shù)小時(shí)內(nèi)獲得解禁。
4. 制裁不會(huì)提前通知用戶(hù)
私人 repo 受到限制的用戶(hù),可以選擇將其公開(kāi)。法律不允許我們將限制事宜提前通知任何人。
身在美國(guó)不由己,無(wú)權(quán)提前通知預(yù)警
在Issues中,來(lái)自世界各地的程序員,都給出了支持。
? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
與此同時(shí),Hamed也在Twitter上喊話(huà)GitHub當(dāng)家人Nat Friedman,要他給出解釋?zhuān)两褚呀?jīng)有近2000轉(zhuǎn)發(fā)。
經(jīng)過(guò)幾天沉默之后,Nat Friedman終于有了回應(yīng)。
公司在美國(guó),不得不限制
Nat Friedman發(fā)推文解釋了這背后的原因——畢竟GitHub是一家注冊(cè)在美國(guó)、在美國(guó)開(kāi)展業(yè)務(wù)的公司:
聽(tīng)到貿(mào)易限制如何傷害人們,我很痛苦。我們盡了最大努力只做法律要求的事情。但顯然,人們還是會(huì)受到影響。GitHub受美國(guó)貿(mào)易法的約束,就像任何在美國(guó)開(kāi)展業(yè)務(wù)的公司一樣。
不幸的是,為了遵守美國(guó)的制裁,我們不得不對(duì)伊朗、敘利亞和克里米亞的賬戶(hù)實(shí)施限制。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
但有網(wǎng)友評(píng)論稱(chēng),有許多美國(guó)公司將總部遷到美國(guó)之外來(lái)逃稅避稅。為什么GitHub不這樣做(避開(kāi)美國(guó)法律約束)呢?
Nat Friedman的回應(yīng)之中也透露出了“無(wú)奈”:
只要你在美國(guó)開(kāi)展業(yè)務(wù),就必須要遵守美國(guó)的法律。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
如何解開(kāi)限制:私人項(xiàng)目公開(kāi)就行了
對(duì)于限制范圍以及應(yīng)對(duì)措施,Nat Friedman也代表GitHub給出了解釋?zhuān)?/span>
限制針對(duì)伊朗、敘利亞和克里米亞的私人repo和付費(fèi)賬戶(hù)。世界各地的開(kāi)發(fā)者,依舊能夠訪(fǎng)問(wèn)公開(kāi)的repo,開(kāi)源的repo不會(huì)受到影響。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
這些限制基于居住地和所處的地方,而不是國(guó)籍等因素。如果被“誤傷”,可以填表格,幾個(gè)小時(shí)內(nèi)賬戶(hù)就能解禁。
作為應(yīng)對(duì)措施,他也給出了一個(gè)解決方案:
私人repo受到限制的用戶(hù),可以選擇將其公開(kāi)。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
這一方案,也讓有些網(wǎng)友感到氣憤:我們都沒(méi)法訪(fǎng)問(wèn)私人repo了,還怎么將其公開(kāi)?
最后,Nat Friedman再度傳達(dá)出了“無(wú)奈”之情:
我們這樣做,不是因?yàn)槲覀兿胍@樣做,而是因?yàn)槲覀儽仨氝@樣做。GitHub將繼續(xù)與各個(gè)政府一起,大力倡導(dǎo)保護(hù)軟件開(kāi)發(fā)者和全球開(kāi)源社區(qū)的政策。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
但網(wǎng)友并不買(mǎi)賬,他們想不明白——
為什么GitHub不提前通知?
GitHub的這一波制裁毫無(wú)征兆,都不提前通知。
根據(jù)Hamed的說(shuō)法,自己一覺(jué)醒來(lái),突然收到一封GitHub的郵件告知他的賬戶(hù)將受到限制。
然后,他的個(gè)人GitHub頁(yè)面被禁止,共有開(kāi)源庫(kù)也不能訪(fǎng)問(wèn),備份相關(guān)資源與代碼都來(lái)不及。
有些人更慘,辛辛苦苦工作六個(gè)月了,一切都快完工了,忽然被禁止了。
對(duì)此,Nat Friedman也給出了解釋?zhuān)?/span>
我們對(duì)法律的理解,不允許我們將限制提前通知任何人。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
圍繞著這一回應(yīng),有網(wǎng)友發(fā)出了“靈魂拷問(wèn)”,為什么GitLab提前通知了?
Hamed在相關(guān)推文中說(shuō),他們同樣沒(méi)法使用GitLab,但人家提前告知了用戶(hù)相關(guān)問(wèn)題,而且還沒(méi)有禁用任何repo。
? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
因此,有很多網(wǎng)友表示,GitHub是不是過(guò)度理解美國(guó)的法律限制了?
國(guó)內(nèi)早前的探討
今年 5 月 20 日的一篇《開(kāi)源界也要注意,Apache 基金會(huì)與 GitHub 都受美國(guó)法律約束》文中,「開(kāi)源中國(guó)」通過(guò)展示 Apache 軟件基金會(huì)以及 GitHub 官網(wǎng)中涉及出口限制部分的內(nèi)容,表示對(duì)開(kāi)源項(xiàng)目在未來(lái)的「自由度」會(huì)否受到限制感到擔(dān)憂(yōu)。
文中指出,條款明確表明 GitHub Enterprise Server 不被允許出口至 EAR 限制清單中的國(guó)家,當(dāng)中包括古巴、伊朗、朝鮮、蘇丹和敘利亞。「那幾時(shí)突然再加進(jìn)來(lái)一個(gè)中國(guó)呢?」「開(kāi)源中國(guó)」在文中反問(wèn)道。
該文出來(lái)后,話(huà)題迅速發(fā)酵。其中,來(lái)自中科院計(jì)算所的包云崗研究員反應(yīng)最為迅速,他立馬組織人員開(kāi)展調(diào)研,對(duì) 12 個(gè)知名開(kāi)源基金會(huì)、6 個(gè)常用的開(kāi)源協(xié)議、3 個(gè)代碼托管平臺(tái)進(jìn)行了調(diào)研與分析,并向海外朋友進(jìn)行咨詢(xún),最終得出的結(jié)論是“建立已有托管平臺(tái)在美國(guó)以外的鏡像平臺(tái)”勢(shì)在必行:
在當(dāng)時(shí),尚有一方聲音認(rèn)為,只要項(xiàng)目滿(mǎn)足「公開(kāi)可及 (Publicly available)」的條件且不涉及加密技術(shù),那么開(kāi)源項(xiàng)目應(yīng)該不會(huì)受到美國(guó)出口管理?xiàng)l例的管制。如今看來(lái),是我們低估了美國(guó)在制裁限制清單國(guó)家上的手段和決心。
開(kāi)源部分不受出口管制,沒(méi)開(kāi)源的會(huì)受管制
(來(lái)源CSDN,作者:林誠(chéng)夏)
林誠(chéng)夏表示,我們要厘清 GitHub 上有所謂的公眾庫(kù)及私有庫(kù),他們?cè)诿绹?guó)出口管制規(guī)則的評(píng)定是完全不同的。
公共庫(kù)意指代碼已開(kāi)源,就算是該地區(qū)已被出口封鎖,原則上也不在管制效力之內(nèi)。因?yàn)橐坏╅_(kāi)源,就意味是已經(jīng)散布全球,不能形成再次出口,所以也不在出口管制的主要范圍內(nèi)。
但是私有庫(kù)不同,它的源代碼是限定原程序員或其認(rèn)可的會(huì)員才可以接觸(access),所以一旦某個(gè)地區(qū)被出口管制限定,那個(gè)地區(qū)的人原則上就不能接觸這些私有庫(kù),否則會(huì)形成出口管制的漏洞。
所以有一個(gè)重點(diǎn)大家應(yīng)該要正確認(rèn)知到,RedHat 是主力用開(kāi)源軟件來(lái)做商業(yè)服務(wù)的公司,但RedHat 并非所有商業(yè)服務(wù)都是由開(kāi)源許可證提供,所以綜合服務(wù)時(shí),RedHat 必須額外符合出口管制的相關(guān)規(guī)則,因?yàn)樗l(fā)布或提供服務(wù)的,不限于開(kāi)源軟件。
和它相似的 GitHub 協(xié)助很多巨型的開(kāi)源軟件項(xiàng)目做開(kāi)發(fā),所以對(duì)于已經(jīng)公開(kāi)開(kāi)源的部份,原則上不在美國(guó)出口管制的效力范圍,除非涉及加解密。但沒(méi)有公開(kāi)開(kāi)源,而是私有庫(kù)的部份,就肯定會(huì)在美國(guó)出口管制的影響范圍里。
所以林誠(chéng)夏認(rèn)為此次事件標(biāo)明并不是開(kāi)源受到美國(guó)出口管制,而是沒(méi)有開(kāi)源的部份就一定受美國(guó)出口管制影響。
對(duì)中國(guó)程序員而言,GitHub 的開(kāi)源形勢(shì)良好
(來(lái)源CSDN,作者:劉澎)
一、無(wú)論從數(shù)量還是質(zhì)量上,中國(guó)程序員已是 GitHub 重要的用戶(hù)之一。
據(jù)劉澎介紹,目前 GitHub 用戶(hù)已經(jīng)超過(guò) 3600 萬(wàn),其中 80% 的程序員是來(lái)自于美國(guó)以外的地區(qū)。且頂級(jí)程序員主要分布在十個(gè)城市里,其中美國(guó)的舊金山、灣區(qū)有四萬(wàn)位,紐約有 36000 為,北京也有 36000 位,上海有 3 萬(wàn)位。這樣看來(lái),在十個(gè)優(yōu)秀程序員分布的城市里,中國(guó)占據(jù)兩個(gè),且人數(shù)眾多。
我們還看到在過(guò)去的幾年里,中國(guó)程序員在 GitHub 的注冊(cè)數(shù)幾乎以每年翻一倍的速度在增長(zhǎng)。目前國(guó)內(nèi) 15 個(gè)較活躍的開(kāi)源數(shù)據(jù)庫(kù),例如華為的 GaussDB、阿里 OceanDB、Apache 麒麟 DB 等大部分均在 GitHub 上開(kāi)源,這說(shuō)明 GitHub 對(duì)于中國(guó)程序員來(lái)說(shuō)是非常重要。
雖然在全球范圍內(nèi),排名前十個(gè)項(xiàng)目基本上都由微軟、谷歌等美國(guó)公司提供,但整體上看, GitHub 依舊是全球開(kāi)源程序員的一個(gè)重要家園。
二、Git 技術(shù)簡(jiǎn)單、輕巧,很容易復(fù)制和遷移。
劉澎介紹道,Linux 之父 Linus 創(chuàng)造的 Git 技術(shù),是一種有效、簡(jiǎn)單、容易復(fù)制的技術(shù),目前使用這個(gè)技術(shù)做代碼倉(cāng)庫(kù)較好的有 GitHub、GitLab、Gitea 等。
所以假如要極端地打個(gè)比方:如果美國(guó)有嚴(yán)重割裂開(kāi)源文化的行為,就等于自毀長(zhǎng)城,因?yàn)?Git 技術(shù)原理簡(jiǎn)單,很容易開(kāi)發(fā)類(lèi)似的托管系統(tǒng)。
他強(qiáng)調(diào),這個(gè)情況不大容易發(fā)生,不然這代表國(guó)際開(kāi)源環(huán)境洗牌了,畢竟在 GitHub 上有 80% 的非美國(guó)程序員。
對(duì)于備份問(wèn)題,他表示一般中國(guó)程序員除了將代碼放在 GitHub 上,在本地還有一個(gè)鏡像,作為本地的備份。
三、經(jīng)歷此事,中國(guó)開(kāi)源軟件推進(jìn)聯(lián)盟對(duì)開(kāi)源軟件的評(píng)價(jià)指標(biāo)可能會(huì)做出改變。
目前中國(guó)開(kāi)源軟件推進(jìn)聯(lián)盟從四個(gè)維度來(lái)評(píng)價(jià)開(kāi)源軟件:
1.知識(shí)產(chǎn)權(quán)(開(kāi)源許可證、軟件專(zhuān)利);
2.開(kāi)源組織體系(指導(dǎo)委員會(huì)、項(xiàng)目領(lǐng)隊(duì)、代碼守護(hù)人、代碼審核員、代碼貢獻(xiàn)者、超級(jí)用戶(hù));
3.開(kāi)源代碼的質(zhì)量(Star 點(diǎn)贊、Fork 復(fù)制分枝、下載量,關(guān)鍵問(wèn)題修復(fù));
4.商業(yè)模式。
例如代碼的質(zhì)量是基于 GitHub 的數(shù)據(jù)來(lái)評(píng)定,但此次事件發(fā)生后,他們可能會(huì)增加一個(gè)評(píng)價(jià)點(diǎn):托管模式,即是否有多平臺(tái)托管。
最后劉澎提出自己的擔(dān)憂(yōu):假如中國(guó)開(kāi)源開(kāi)發(fā)者因?yàn)榇耸?,?duì) GitHub 有所顧慮導(dǎo)致不敢托管代碼的話(huà),這將不利于軟件開(kāi)源的發(fā)展。