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