GSS資安電子報0212期 【免費的最貴?解析 Open Source 授權條款】

訂閱電子報
2023年七月06日(四) AM 09:00
翻譯及整理:叡揚資訊 資訊安全事業處
        

     本文介紹 Open Source 授權條款以及其效益,有助於了解這些授權條款的主要類別、不同的形式,以及各自的規範。Open Source 軟體授權條款的數量相當多,經常讓人摸不著頭緒,一旦習得相關知識,您便能夠根據目標,明智選擇正確的軟體與條款。

   

軟體授權條款的類別:CopyLeft 與 Permissive

     Open Source 授權條款可分為兩大類別:CopyLeft 與 Permissive,它們是根據條款給予使用者的條件與限制加以區分。

     著作權是一項法律規範,限制在未經著作權所有人的許可下使用、修改以及分享創作作品的權利。舉例來說,音樂、電影等作品都屬於其創作者的知識產權,當作者以 CopyLeft 的授權方式將程式碼釋出時,其主張程式碼著作權的同時,亦必須宣告在遵守互惠義務的條件下,其他使用者將有權利使用、修改並分享該成果。簡單來說,如果有人使用此類 Open Source 軟體授權條款的元件,則同樣務必要開放其他人使用其程式碼。

     Permissive 的開源軟體授權條款則是一種非 CopyLeft 的 Open Source 軟體授權條款,保障了使用、修改以及再散布的自由,亦允許私有衍生作品。

     Permissive 的 Open Source 授權條款對於他人能如何使用開源元件僅給予最低的限制。這類授權條款允許各種自由程度的使用、修改以及再散布開源程式碼,也允許使用於私有衍生作品,且對於後續互惠義務幾乎毫無要求。

 

Open Source 軟體授權條款排行榜解析

     授權條款並沒有絕對的好壞,也沒有哪一個條款更為優越。任何人都可以創建一份令自己滿意的 Open Source 軟體授權條款,這也是為何如今有這麼多種的授權條款。不過,這也讓挑選 Open Source 授權條款成為一件複雜的差事。為了縮小選擇範圍,也幫助我們了解這些條款到底想表達什麼,開源碼促進會(OSI Approved Licenses, OSI)整理一張核可的授權條款清單,最適於商業性運用。該清單上有 80 多份 Open Source 授權條款,都是最常使用的選項。

     在 OSI 核可清單上的幾十種授權條款中,有的較為盛行,有的則是現今一些較熱門的開源企劃採用的授權條款。

     Open Source 授權條款管理工具是保護您的程式碼、軟體與應用程式的一大關鍵,同時也能為您的公司和所屬單位降低財務與法律風險。 Open Source 授權條款強化您使用的元件及相依項目的完整性,並確保使用這些元件不會危及您的組織或您所創建的產品。

 

  • GNU General Public License(GPL)

GNU General Public LicenseGPL

     GPL是全球最受歡迎的 Open Source 授權條款,屬於 CopyLeft 授權條款,即代表任何以 GPL 元件為基礎的軟體都必須以開源形式釋出。

 

  • Apache

Apache

     Apache 授權條款為 Apache 軟體基金會(ASF)釋出的 Open Source 軟體授權條款,是一份十分受歡迎且廣泛使用的條款,並且有強大的社群為後盾。Apache授權條款讓您可以自由的使用、修改以及散布任何以 Apache 條款授權的產品,當然,前提是必須要遵照 Apache 條款的規範。

 

  • Microsoft Public Licenses(Ms-PL)

Microsoft Public LicensesMs PL

     Ms-PL 是微軟釋出的免費 Open Source 軟體授權條款。
     您可以重置或散布任何以 Ms-PL 授權條款釋出的原版或衍生作品,但是不得使用任何貢獻者的姓名、標示或商標。Ms-PL 不為使用您的程式碼提供任何明示擔保或保障以此保護作者,因此若程式碼在某些情況下無法正常執行,作者無須負責。
     當您以 Ms-PL 授權散布軟體(或其中一部分)時,無須散布原始碼,但需要保留原本就標示於軟體中的所有著作權、專利、商標以及姓名標示。
     另外,如果您是以原始碼的形式散布軟體的任何部分,則僅在散布時加入本條款的完整複本,才得以透過 Ms-PL 授權散布。如果您是以軟體編譯碼或目的碼的形式散布其任一部分,使用任何其他與 Ms-PL 相容的條款授權才得以散布。

 

  • Berkeley Software Distribution license(以下簡稱 BSD)

Berkeley Software Distribution license

     BSD 或指兩個變形版本,BSD 授權條款修改版(3-clause)與簡化版 BSD 授權條款 / 自由 BSD 授權版本(2-clause)屬於同個家族,皆為 Permissive 自由軟體授權條款。
     BSD 授權條款允許您自由地以原始碼或二進制格式修改與散布您的軟體,其中只需保留著作權標示複本、條件列表以及免責聲明。

 

  • Common Development and Distribution License(以下簡稱 CDDL)

Common Development and Distribution License

     CDDL 是昇陽電腦(現屬於甲骨文)為了取代昇陽公共授權條款(SPL)而發布的 Open Source 授權條款,以 Mozilla 公共授權條款(MPL)為範本,是為了提高重複使用性而編撰。

     您可以自由的重製與散布任何 CDDL 授權條款釋出的軟體原始版本或其衍生作品,但是不得刪除或變更軟體中任何著作權、專利或商標標示。此外,您也務必保留任何條款聲明,或針對任何貢獻者或初始開發者致謝的描述文字。

     當可執行程式(任何非原始碼)形式散布您的軟體時,CDDL 授權條款會要求您同時公開原始碼。可執行程式則得以 CDDL 授權條款或任何與 CDDL 相容的授權條款釋出。

     這些被要求公開的原始碼包括您對該作品的貢獻,只要是包含原始軟體之檔案內容進行修改都算,包含部分原始程式的新檔案也算在內。如果您是在不包含原始程式碼的個別或獨立檔案中進行更動,則無需將其以 CDDL 條款釋出。另外,針對任何您散布的原始碼,務必附加 CDDL 條款複本。針對您做出的每一項修改,務必於您的修改檔案中加入聲明以標示自己為修改者。

 

  •  Eclipse Public License (以下簡稱 EPL)

Eclipse Public License

     這是由 Eclipse 基金會編撰的 Open Source 授權條款,由通用公眾授權條款(CPL)衍生而來。EPL 授權條款屬於一種 CopyLeft 授權條款。如果您修改了 EPL 授權的元件並應用為您程式中的一部分,您就必須以 EPL 條款公開修改過的程式碼。如果您是以目的碼形式散布該程式,則必須聲明您一受到要求就會提供原始碼,同時也需要公開其他人取得原始碼的管道。

     如果要再散布使用 EPL 元件的程式,則務必附加完整授權條款文字與著作權聲明。

     當公司機構於商業產品中使用 EPL 元件時,EPL 保障其作者免於可能的法律訴訟或可能造成的損害,同時也授予專利。

 

  • MIT 授權條款

MIT 授權條款

     MIT 授權條款是麻省理工學院於 1980 年代晚期所編撰的,屬於最高程度的 Permissive。基本上,您想用 MIT 條款授權的軟體去進行任何應用都沒問題,只需附加原始 MIT 授權條款全文複本以及著作權標示即可。

 

結語

     從前文列出的主要 Open Source 授權條款清單中就能發現,理解這些授權條款如何運作、其特殊效益以及弱點是十分重要的。這些資訊關係到您該如何選擇最符合需求的軟體與授權條款。

 

熟悉 Open Source 授權條款,就用不著見法官

讀到這裡,您肯定已經發現 Open Source 授權條款不容小覷。
不過,鑒於現在幾乎所有軟體開發人員都極度依賴開源元件,對 Open Source 授權條款建立基本的認知,並且理解現在最熱門 Open Source 授權軟體之間的差異,還是非常重要的。

希望此篇文章解析能讓您在危機四伏的授權條款之道上,踏出安全正確的第一步!

相關文章

資安通報:Apache Struts CVE-2023-50164

Apache Struts 近日被通報高風險漏洞,目前通報等級為 9.8 分,其攻擊方式主要透過攻擊者操縱上傳文件的參數,引發路徑遍歷(Path Traversal)攻擊。這可以讓攻擊者上傳惡意文件,並最終執行遠端程式碼(Remote Code Execution),從而掌控應用程式或伺服器。
2024/01/08