前天,Linux 基金會終于正面回應了美國實體清單的出口管制,給大家吃下了一顆定心丸。
這條消息,想必科技圈的小伙伴們已經等了一年了。。。
一年前的時候,美國商務部把中國的一些科技巨頭拉進了用來管制的 “ 實體清單 ” 中,引起了技術圈子的恐慌。
因為按照美國的說法,只要進了實體清單,以后別想再使用一丁點美國的產品和技術了。
然后就有人解讀說,由于大部分開源軟件是在美國發布的,所以這些開源技術同樣也屬于被管制的范圍。
以下為Linux基金會發布的全文,供大家參考~
開源發展的最大優勢之一是它實現了跨邊界的協作。開源協作透明、公開且能跨越組織邊界,促使世界各地的開發人員、學者和工作人員一同成就比個人力量所能造就的更為偉大的開源技術。
開源協作跨越地域界限:聚集世界各國人員和組織,帶著他們獨特的觀點和優勢來一同開放協作,并向所有人分享成果。
開源發展是一項全球性活動,必然涉及軟件的跨國界分享。一些國家的出口管制法規可能要求開源項目采取額外的措施,來確保遵守當地法律規定的義務。這篇指南將簡要地描述美國《出口管制條例》,并討論該條例如何應用于開源社區發展全球協作。
本文中,“開源”一般指的是任何源碼可公開獲取的技術或軟件。作為一種創造模式,開源已不僅僅局限于軟件技術的開發。如今,開源還包括了其他廣泛的開放技術領域,如硬件設計、微型處理器指令集架構、規范、數據模型、協議、標準以及公眾以公開模式協作創造的其他技術。
美國的《出口管制條例》
《出口管理條例》(Export Administration Regulations,以下簡稱“EAR”)是美國聯邦政府限制出口的主要條例,由美國商務部(US Department of Commerce)下的產業與安全局(Bureau of Industry and Security,以下簡稱“BIS”)發布并定期修訂。EAR適用于所有“受制于EAR”的物品,并可能管制該等物品的出口、再出口或(境內)轉讓。
EAR下“出口”的定義較為寬泛。出口不僅包括從美國境內向外輸送實物產品,還包括其他行為,例如向非美國公民或非美國合法永久居民傳送技術,以及向美國境外人員提供用于電子傳輸的軟件。
從表面看來,EAR似乎為開源社區敲響了警鐘,但是好消息是,公開發布給全世界享用的開源技術是不受制于EAR的。因此,開源至今仍然是一個最為便利的全球協作的模式。
在接下來的內容中,我們將解析為何美國的出口管制法規一般不會對開源模式造成影響,并通過舉例的方式說明和討論為何開源軟件的出口在一般情況下不受制于EAR。接著 ,我們將探討在一定情況下的兩個特定事項的范圍:
第一,包含加密功能的開源軟件;
第二,實施由神經網絡驅動的地理空間分析訓練(neural network-driven geospatial analysis training)功能的開源軟件。最后,我們會提出一些最佳實踐建議,供開源社區在項目實施過程中采納。
將EAR應用于開源軟件
EAR界定了某些可能受到出口限制的事項(包括軟件和技術)的范圍?!癊CCNs”(Export Control Classification Numbers)是EAR法下用于物品分類(包括軟件和技術)的編碼。
有些物品是受制于EAR的, 這代表它們在EAR的管控范圍內,并只能在符合以下條件的前提下出口:無需許可證就可出口,適用許可證例外的情況或者出口方已經獲得了出口許可證。
這正是開源技術的優勢所在,因為EAR明確豁免了大多數以開源形式呈現的軟件和技術。有一些事項被明確列為“不受制于”EAR,意味著它們“被置于EAR法規管轄外并不受這些法規的約束 ?!?具體來說,EAR第734.3(b)條規定“下列事項不受制于EAR:”,其后列明,“如第734.7 條所述的,(i)已經發布的信息及‘軟件’”。這里指向第734.7條是非常重要的 ,因為該部分規定“已發布”的事項不受到EAR的管轄。具體來說,EAR第734.7部分規定,當可被公眾獲取且無進一步傳播限制時,未被歸類為密級事項的“技術”或“軟件”屬于“ 已發布”,因此不屬于受EAR管轄的“技術”或“軟件”
來自Linux基金會以及與我們合作的項目社區的開源軟件均滿足EAR第734.7條中“已發布”的要求。
以下典型事項(未詳盡列舉)下不受到EAR限制,因為“開源”“已發布”:
已公開發布的開源軟件不受制于EAR
已公開發布的開源規格不受制于EAR
已公開發布的,說明硬件設計的開源文檔不受制于EAR
已公開發布的開源軟件二進制不受制于EAR
如此可見,“已發布”是關鍵要素?;贓AR之目的,如果開源技術不受進一步傳播的限制且可被公開獲取,那么它將被視為“已發布”了的開源事項,并將因此“不受制于”EAR。將“已發布”的軟件和技術納入受制于EAR限制的范圍內將是一項重大的政策性轉變,迄今為止我們尚未知悉任何關于上述政策性轉變的討論。
可公開獲取的軟件和技術不受制于出口管制并非美國獨有的政策,歐盟也有相關政策。
另外,與軟件、技術和其他在EAR范圍內的事項無關的活動也不受EAR限制,其中包括非技術性協作:有關商務事項的會議、活動策劃、市場營銷等類似的其他活動均不受EAR約束,因為上述事宜超出了EAR管轄范圍。
若項目涉及加密技術,則開源社區可能需要多采取其他措施以滿足EAR法下的“已發布”的要求。
加密
EAR下,軟件開發者的一個關注焦點便是加密技術。EAR 管理特定加密軟件和技術的出口?!凹用苘浖钡亩x非常廣泛,并可能包括僅激活或創設其他軟硬件產品的加密功能的軟件。對于具備標準加密功能的軟件,包括在軟件設計文檔中呈現的加密硬件,最為常見的ECCN類別是5D002 。
如加密軟件在EAR的管轄范圍內,那么為了將其出口到除了加拿大以外的國家,出口方必須首先確認EAR例外條款在此情況下適用,或申請并從BIS獲取相應的出口許可證。
然而,在考慮EAR例外條款是否適用或出口許可證是否必要前,首先要考慮的問題是:該加密軟件是否在EAR 的管轄范圍內。
屬于ECCN 5D002的加密源代碼如符合以下兩個條件,則不 在EAR的管轄范圍內:(1)該源代碼是“可公開獲取”的,以及(2)已向EAR第742.15(b) 條所載的電子郵箱地址發送了電子郵件以示通知。
上述衡量標準的第一部分要求,即“可公開獲取”,指的是在EAR法下“已發布”的定義,這包括通過在公開的網頁上進行發表(即公開傳播)。只要完全公開的開源軟件項目達到該標準,則應當視為通過了衡量標準的第一部分要求:如果項目的源代碼可在互聯網上公開獲取,則應被視為“可公開獲取”。
為滿足上述衡量標準的第二部分要求,還需要向兩個指定的郵箱地址發送郵件(一個是BIS的郵箱地址,另外一個是國家安全局(National Security Agency,簡稱“NSA”)的郵箱地址)。郵件內容需要包括可公開獲取的源代碼的URL地址(或源代碼本身)。如URL或源代碼發生任何變更,則需要再次以郵件形式通知上述郵箱地址。
最后,在通過了上述兩項衡量標準后,相應的物件代碼也將不受EAR管轄。
Linux基金會的所有項目源代碼,包括加密軟件,均可公開獲取,我們也已經提供了上文所要求的電子郵件通知。并在我們的官網上公開了上述電子郵件通知的內容。12所以,Linux基金會的項目源代碼及對應的目標代碼均不受 EAR關于加密的限制。
請注意,上述情況只適用于開源項目本身。
修改項目代碼或其衍生產品的下游再分銷商在源碼并未公開時,仍然需要評估其是否符合EAR的規定( 如同需評估其出口的其他軟件一樣)。
神經網絡驅動的地理空間分析訓練
BIS在2020年1月6日宣布了一項新的EAR規定,并自宣布之日起立即生效。該規定設立了EAR針對一種專門為了訓練深度卷識神經網絡 (Deep Convolutional Neural Network)自動分析地理空間圖像和點云(point cloud)能力的特殊地理空間圖像軟件的管控權。該規定闡明“點云”是指由坐標系統界定的數據點集合,又稱數碼表面模型。雖然規定自發布之日立即生效,但它仍有待公開意見征求并可能繼續擴充或被修訂。但無論如何,如果軟件是可公開獲取的(如開源軟件),那么如上文所述,它將不受 EAR的管轄。
一些對新規定的公開解讀可能在暗示該規定整體上對地理空間圖像軟件,或甚至人工智能/機器學習軟件施加了廣泛的限制。但事實并非如此。
這條規定的適用范圍實際上顯得很狹窄。它只適用于具體包括上述所有方面的事項。此外, 任何一項軟件同時還必須包括以下所有功能,才受這條新EAR規定的管轄:
提供圖形用戶界面,使用戶能夠從地理空間圖像和點云中識別物體(例如,車輛、房屋等),以便提取物體的陽性和陰性樣本(positive and negative samples);
通過對陽性樣本進行尺度、顏色和旋轉歸一化來減少像素變化范圍;
訓練深度卷積神經網絡從陽性樣本和陰性樣本中探測到物體;
利用訓練好的深度卷積神經網絡,將陽性樣本的旋轉模式與地理空間圖像中物體的旋轉模式進行匹配進而識別地理空間圖像中的物體。
如軟件不具備上述列出的所有方面和功能,那么該軟件則似乎不受該條新規定(目前版本)的管轄。上述要求更像 是針對由商業解決方案提供商提供的解決方案,而不是 針對開源項目。特別是,訓練要求不僅需要一個軟件項目,并且還需要陽性和陰性的訓練數據集,這種對數據集的具體要求可能只適用實施特定的神經網絡。
現有的一些可公開獲取的開源項目可能具備這些功能。然而,即使現在要創建一個新的項目,只要該項目是一個可公開獲取的開源項目,那么它就不會受 EAR的管轄。
開源軟件社區的最佳實踐
以下是一些我們了解到或者嘗試過的可能對所有開源社區有所助益的一些實踐經驗。
公開化和公眾化
我們經常用“公開”這個詞來形容許多事情:開源許可、公開和透明的討論、公開的社區、公共智庫里儲存的可公開獲取的源代碼。對于開源社區來說,“公開”似乎是顯而易見的做法,但我們對社區也提供一些建議。
首先,社區需要努力維持他們技術交流的開放性與公開性。私人交流在社區中經常出現 ,對此我們建議將社區決策和結果向公眾公開。信息的公開透明對我們項目來說很重要,因為技術或技術信息的私下交換可能不符合EAR中“可公開獲取”的標準。
安全系統缺陷披露的過程中涉及到的信息交換會引起問題。對此,我們建議最好可在缺陷修復后公開項目交流內容,而不僅限于向保密披露清單里的各方提供。
交流技術思想和知識,進行技術辯論是開源社區的標志,其中最前沿的是最佳的技術解決方案。在公開場合進行這些交流有時可能會讓人難以接受,但是我們那些嚴格遵守該原則的社區往往也是在建立透明度和可信賴性方面最為成功的社區。盡管可能會有分歧,但每個人都知道這個討論是公開和透明的。當然公開和開放協作有很多益處,而不僅限于其能夠符合EAR的要求。
提供加密的通知
如果你的開源軟件項目實施或使用了ECCN5002項下的加密功能,那么根據EAR的要求,你需要向BIS和NSA提供加密通知。
EAR第742.15(b)(2) 條列舉了以下這些要求:
發送電郵至crypt@bis.doc.go enc@nsa.go。
郵件應該包括含有可公開獲取加密源代碼的網站地址,或源代碼本身。一般來說,我們預計開源項目會選擇第一種方式。
如果你提供的是網站地址,那么每次更換網站地址時, 你都必須通過電子郵件通知他們,但是你不需要通知他們有關源代碼本身的更新或者變更。
如果你提供的是源代碼副本,那么每當加密功能 存在更新或者變更后, 你都必須把最新的源代碼提供給他們。
正如Linux基金會的通知所展現,以下我們建議的其他一些最佳實踐方案:
為了加強透明度和展現合規性,將傳給BIS和NSA的通知公開化。這也有助于解決下游用戶對社區是否發送了通知的疑惑。通過公開通知的方式, 你可以避免這些困擾。
附加聯系方式和負責項目的法人實體的名稱(如適用)。
設計一個保留中期至長期證據的系統 ,以證明發送給BIS和NSA的通知電郵實際上已經送達 。
最好不要僅依靠“已發送”郵箱記錄,以避免將來發生問題, 和規避該個人無法再訪問該“已發送”郵箱 的風險。
如果你不確定你的開源軟件是否使用加密功能,或將來是否可能涉及這種功能,那么為確保萬無一失, 你也可以考慮向相關部門發送此類通知 。
確保相應的加密源代碼是能夠公開獲取的
如果你以目標代碼形式公開分享加密軟件,那么 你應確保該軟件的源代碼也是可公開獲取的 。
項目的維護者,也是最熟悉項目代碼的人群,應該審查并確認加密功能是否以二進制或目標代碼形式分發的。如果是,那么應該先考慮上述操作是否必要。在大多數情況下,以源代碼形式分發可能是最佳的方案 - 不僅基于出口合規的考慮,并且此種方案有助于下游用戶擯棄對“黑盒子”二進制的依賴,并且可以輕松地從源代碼處自主研發。
如果必須以二進制或目標代碼形式分發加密軟件,那么就必須確定相應的源代碼是可公開獲取的。最容易的方式就是自主將該加密軟件版本的源代碼公開,作為項目本身的源代碼。(事實上 , 取決于適用的開源許可內容,從遵守開源許可的角度來說可能必須這樣做,或者至少有所助益?。?/p>
除人工審核外,還有一些性能不等的掃描工具,可以掃描源代碼并探測加密功能的應用。沒有一種自動掃描工具能夠完美地檢測出所有的應用,但這些工具可能有助于識別大型代碼庫中的加密軟件。