開源授權不能限定使用目的,那如果被拿來做壞事怎麼辦?如果您真的在意,有另一個高大尚的平行選擇,就是大方為您的軟體採用「善源授權條款(ethical-source licenses)」。

開源授權依照開放源碼促進會(Open Source Initiative, OSI)擬定的開放源碼定義(Open Source Definition, OSD),是不能限定使用目的的,該項定義一般指向OSD第6款:「不能對特定領域應用產生歧視(No Discrimination Against Fields of Endeavor)」。該款註解,開源的軟體不應限制特定領域的應用,包括不應限制商業目的,或是不能限制基因研究。

所以我常說:「開源是不能限制商業利用的,如果哪一款軟體授權告訴你要商用前一定要取得額外允許,那它就必然不是開源的。

這樣不限制特定目的要求,類似技術中立性(technological neutrality),而後被轉譯為開源中立性(open source neutrality),意思是不限制目的,該等軟體的被應用面才能最大幅度擴大,開發者與協作者,不要動輒從道德制高點作文章,怕是人人這樣,那開源共工協作的基本框架,就會垮了。

過去Douglas Crockford(JavaScript程式語言的資深開發者之一),曾將其開源項目JSMin採MIT授權發布,但在授權條款裡加註一行「本軟體僅能為善、勿為惡!(“The Software shall be used for Good, not Evil”),結果後來被勸下了Google Code託管平台。

而近期JavaScript的套件管理者RIAEvangelist(Brandon Nozaki Miller)寫了一個名為「和平反戰(peacenotwar)」的開源「node套件管理器(Node Package Manager, npm)」,這個號稱開源的npm,不但在名稱上註解反戰,它還進一步開啟了覆蓋、改寫檔案系統的惡意功能,只要安裝者處於俄羅斯或白俄羅斯的網路IP下,該台電腦就可能蒙受資料被刪除、流失的後果。

這樣的處理,都不是開源的正道,也都將引發更多開發者與協作者之間的紛爭。

然而,如果開發者就是想要做好事!這其實也是應該被鼓勵的。只是說,建議這時候就不要糾結在使用「開源(Open Source)」,這個最大使用幅度的共通字,何不改用「善源授權條款」?

舉例來說,Hippocratic License已經演變到了第3版,在這個領域也已經正式建立了「善源組織(Organization for Ethical Source ,OES),來持續推動該領域的協作!

那到底什麼是「善源授權條款」?其實就是以開源授權條款為基礎,以MIT授權為範本向上發展,該等軟體一樣大家都能寫、大家都能用,「但是有些壞壞、色色,或過於過份的事是不能做的!

進一步說,基本上只要是違反聯合國人權宣言(Universal Declaration of Human Rights)的相關行為,都是被這類授權條款所禁止的,包括:違反人性尊嚴的屠殺、奴隸、販奴、殘忍傷人、種族歧視、性虐待、或沒有法律基礎的大規模監控行為,都被禁止利用到這類授權軟體。

當然,善源不必然相容於開源,應該是說,您可以將部份採寬鬆授權的開源授權程式,例如採MIT、3-clause-BSD發布的軟體,加入Hippocratic License 3.0的源碼庫,或是將其改採Hippocratic License 3.0發布,但是,寬的能轉換成嚴的,嚴的不能轉換成寬的,一旦轉換為善緣授權,之後建議就不要再堅持以開源一詞稱呼這樣的專案。

秉此,持心向善的歸善源,堅持中立的歸開源

Facebook發布鏈結