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