可以將道德條款納入開源許可證嗎?
開源開發者Seth Vargo發現Chef公司最近與ICE(美國移民和海關執法局)簽訂了合同後,進行刪庫抗議,從Chef DevOps中撤回了他的開源項目Chef Sugar。後來Chef公司表示明年不再續簽合同。然而事情並未就此而止,這引起了人們對開源道德層面上的關注。有行動者打出#NoTechForICE的口號,並已擬好一份 Hippocratic License,要求將道德條款添加至開源許可證中。
Hippocratic License建立在對MIT license的修改之上,作者Coraline Ada Ehmke介紹該許可證“專門禁止使用開放源代碼軟件危害他人”。同時,她還呼籲修改開源定義(The Open Source Definition)中第5和第6兩條“非歧視”條款。
Ehmke 表示,長期以來,軟件開發人員已經與自己編寫的代碼造成的後果相脫離,但實際上,“我們創建的軟件對我們所生活的世界具有真正而持久的影響”。她認為,政治和軟件糾纏不清,所有技術本質上都是政治性的,不存在所謂中立立場。如果這些情況傷害到他人,我們應該做些什麼?為此,她希望能夠用開源許可證來進行規制。
開源倡導組織(Open Source Initiative,OSI)迅速駁斥了Ehmke 的做法。他們在Twitter 上寫道:“Hippocratic Licence 的簡介可能會使某些人認為該許可證是開源許可證,根據Hippocratic Licence 分發的軟件是開源軟件。但兩者都不是,我們要求您修改語言以消除混淆。”
Ehmke 回擊:“OSI 和FSF(自由軟件基金會)不是’什麼是開源’和’什麼是自由軟件’的真正仲裁者。我們才是”。隨後她補充說,當前的開源結構無法禁止自己的勞動成果被ICE 這樣的組織使用,這不是一個開源許可證的問題,而是開源的問題。
先把Twitter 上的爭吵放在一邊,我們來談談道德準則是否能夠被納入開源許可證。
這並不是什麼新鮮之事。例如,2009 年的Exception General Public License(eGPL)就曾嘗試在GPLv2 上發揮作用,試圖禁止諸如軍事用戶之類的“例外”使用其代碼。最終失敗了。
諸如JSON license 之類的其他許可證也鮮為人知,它註明“該軟件應用於善良,而非邪惡”,但沒有人強制執行。
今年伴隨 996.ICU 運動出現的 Anti-996 協議也可以說是基於道德層面。專門研究開源軟件許可的律師Heather Meeker 認為,“它已經實現了重要目標,那就是要引起人們對此事的關注”。但作為開源許可證,它還存在問題,因為“許可證中的道德條款不能用來強迫被許可人,從法律的角度來看,它們更多是一種觀點的表達,而不是用於控制被許可人行為的有效法律工具”。
關於開源許可證,開源法律專家、哥倫比亞大學法學教授埃本·莫格倫(Eben Moglen)指出,根據FSF對自由軟件的定義,對道德進行要求的許可證將違反其中有關 Freedom zero 的規定。Freedom zero即出於任何目的運行程序的權利,它在四項自由權力中排在首位。
頂尖技術律師事務所和開源法律專家Gesmer Updegrove 的創始合夥人Andrew 補充說,“從廣義上講,許可人可以在許可證中包含任何他想要的條件。但是,這種限制不能包含在聲稱符合OSI 開源定義的文檔中”。
具體來講,又回到了上述開源定義(The Open Source Definition)中的第6條“不歧視領域”:該許可證不得限制任何人在特定領域內使用該程序。
Andrew 解釋,這樣做的理由是“禁止’不允許開源軟件在商業上使用’的行為。我們希望商業用戶加入我們的社區,而不是被排斥在社區之外”。順便說一下,這是自由軟件和開源軟件之間的核心區別之一。
“你可以製訂’禁止使用’條款,並要求被許可方在任何下游許可中都包含類似術語”,但在現實中這是難以執行的。Andrew 舉了個例子:“假設按照通常的開源方式發布代碼,那麼很快將會出現許多副本,而你幾乎無法追溯所有副本。如果代碼被捆綁在某個你認為是有害的商業產品中,你也無從得知。”
軟件自由保護組織(Software Freedom Conservancy)執行董事Karen M. Sandler 也提出了自己的觀點,在他看來,有選擇地保留軟件自由是不合適的,而且這些道德許可證會引發執行問題。更重要的是,還可以通過其他方式達成同樣的目標。Sandler 建議可以為開發人員建立道德社會,或通過參與政治程序來禁止不法行為。
對於將道德條款納入軟件許可證中,Sandler 再次強調這不是那麼實際,畢竟“錘子既可以用作建築工具,也可以用作謀殺的武器。”
消息來源:ZDNet