開源的國界:維護者引用當地法律拒絕合併代碼

開源社區已經被進一步分裂?

最近,一位非常有才華的開發者,在GitHub上發現了一個不錯的開源Laravel項目。該項目主要用於生成文件的下載鏈接,但還差一個比較重要的功能:爲特定用戶分配DownloadLink。出於對開源做貢獻的心理,他完成了這部分代碼,並向項目維護者提了PR請求。項目維護者也很快給了反應,甚至還在他的基礎上添加了更多代碼以及功能測試。

只是一段時間後,他意外的發現PR並沒有被合併,對此,項目維護者是這樣回覆他的:

嗨,謝謝你的好主意。很抱歉的告訴你,因爲我國法律有所規定,不允許和以色列的人有所關聯,所以我無法合併代碼。希望你能理解…

他這才發現該項目維護者來自伊朗,而他本人的GitHub上的個人資料顯示來自以色列耶路撒冷。他形容自己“很震驚,很受傷”,畢竟這個項目不涉及到加密,也不屬於軍事或核相關軟件項目。

至於關於該代碼到底該不該合併,HackerNews和Reddit上的開發者分別發表了上千條評論,態度明顯的分成了兩派。

其中一位曾在Facebook任職的伊朗開發者在GitHub上直接說道:“合併就完了!”

而另一派,有人反駁他說:“你讓他合併完就去坐牢嗎?”

“維護者因其國家/地區的法律問題,無法合併代碼,這也是生活在制裁之下的人們的艱辛。如果被指控犯有叛國罪,那麼他很有可能會在監獄中度過一生。”

“這跟谷歌和華爲的事情類似,按照法律,谷歌也不能合併來自華爲提交的開源代碼。“

而且很顯然這個問題目前還沒有解決辦法,開源Laravel軟件包作者也只能將該Repo關閉,不讓大家繼續在GitHub上發表評論。

至於合併不了,網友認爲GitHub也有推脫不掉的責任。

目前很多大公司都有“合規官”職位,負責確保公司遵守所有適用法律。看來GitHub也不例外,很有可能存在“合規工程師”,負責編寫系統以檢查用戶是否符合特定條件,並會標記特殊用戶。並且估計這種審查制度也一直會存在,直到到GitHub(Microsoft)的管理層找到適當的方式,可以解決此問題爲止。

在GitHub上,出於政治原因封禁開發者賬戶,從而影響開源的事情由來已久。

2019年7月,一位伊朗開發者的 GitHub 賬號被禁,他在社交媒體上分享了自己的經歷,並向 GitHub 官方發起質詢。最後他得知是因爲自己的所在地伊朗受到美國製裁,整個伊朗地區的 GitHub 賬號均無法使用。當時 GitHub 在沒有任何事先通知的情況下屏蔽了所有伊朗賬戶,連讓該地區開發者下載備份數據的機會都沒有。

今年3月,GitHub 再次封禁了一個屬於微軟的前端開源項目 Aurelia,理由是項目中有兩名來自伊朗的外部貢獻者。而且每次這種封禁都會被頂到 HackerNews 頭版,只是這次Aurelia的運氣比較好,他們得到了GitHub 首席執行官的致歉表示:“這次的確是個錯誤”。

對此,GitHub最初的指導方針是:

“根據 GitHub 的服務條款,用戶只能按照適用法律訪問和使用 GitHub.com,包括美國出口管制和制裁法律。”

“GitHub Enterprise Server 不得出售、出口或再出口到清單中的國家,目前清單中已經包含古巴、伊朗、朝鮮、蘇丹與敘利亞。”

發展到現在,這個分裂開源的舉動,很顯然再次蔓延了下去:伊朗的項目維護者開始牴觸來自以色列的開源貢獻…

開源精神最重要的是:自由貢獻、自由分叉、自由使用,通過大量來自世界各地,可以完全不相識的程序員,無直接經濟回報地貢獻代碼,在無組織結構的前提下完成高效的協作和生產。開源本應是無邊界、無國界的,不會因爲開發者所處的公司、所處的國家而產生不同的態度。雖然“開源”被我們給予了非常美好的期許,但現實只會更復雜。我們只有建立自己的軟件生態,擁有自己獨立的系統,才能應對最壞的可能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章