【概念筆記】什麼是軟體授權條款(Software License)? 授權條款相關概念一次釐清
關於軟體授權條款的學習筆記,歡迎回饋、批評、討論、指教。筆者非法律相關背景,相關法律問題還請各位請教專業人士建議。
什麼是軟體授權條款?
根據維基百科:
A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software.
— 軟體授權條款是法律文件,用來管理軟體的使用與重新分配。
而軟體授權條款其實是「開源」概念的衍生物,在開源軟體的歷史進展中扮演不可或缺的角色。開源軟體(open source software)相對於封閉軟體(closed source software or proprietary software),特色就是軟體開發者開放軟體原始碼給大眾使用、修改、再發布其衍生軟體,可以確保軟體不因為封閉軟體的商業、政治等因素而無法繼續維持軟體更新,也讓軟體的功能可以隨時間發展更加完備、減少重工,長遠來看對整體開發生態更有效率同時兼顧創意,創造出更多更完善或多元的變形軟體。
舉例來說,一個軟體如果是某間企業擁有的封閉軟體,若有天公司經營不善惡性倒閉,那麼這個軟體未來就會停止更新,功能上不僅有所侷限、不能持續進步,特殊情況更可能導致軟體停用,使用者只好另轉移到其他軟體。若想要再重寫此軟體提供的服務,沒有開放此軟體原始碼的情況下開發者也只好自己重寫,無形之中其實重走了很多路。
那麼,既然軟體授權條款是開源的衍生物,那我可以開源但不選擇授權條款嗎?
舉Github為例,若一個「開源」專案(一個開放原始碼的Repository)找不到任何公開的License,那麼根據官方說明將預設這個Repository的狀態是「All rights reseverd」原開發者將保留所有著作權利。此時其他開發者修改、再發布相關的衍伸作品就可能有侵害著作權的問題。
在開源軟體的歷史中,授權條款即是伴隨的產物,一個「開源」專案理所當然須選擇一個相對應的授權條款。開源軟體的創始機構Open Source Initiative也在FAQ說明:不要在沒有授權條款的情況下稱自己的軟體為開源軟體,過去已經有發生過因此混淆大眾的案例--如果一個開發者開放程式碼,卻不表明權利的立場,其實很難定奪到底有沒有要讓別人使用、修改、或在其基礎上衍伸作品。也許可把授權條款當作開源精神的一種意思表示,在不同條款之下說明了自己作品的立場。
為什麼要了解軟體授權條款?
根據前面的介紹,我們可以瞭解開源專案其實大多伴隨授權條款,所以如果你要開源專案,最好對不同的軟體授權條款有所了解,除了免於可能遇到的:
- 訴訟問題:假設想把開源專案商業化,就必須考量著作權的相關問題。即便沒有想要將開源專案拿來商業使用,也可能因為不了解授權條款而觸犯著作權法規。因此多少有點了解還是有些好處。
- 訴訟伴隨的金錢問題:打訴訟耗時又花時間,更不利於個人或剛起步的新創。
又或者,了解授權條款是為了保障你自身或企業的權益,避免有人不當使用你的程式碼。
對軟體授權條款有所了解就可以選擇最適合自己專案的條款,不僅保障自己的權益,也在開源的好處下選擇兼顧商業面的考慮,這是為什麼要了解授權條款很重要的原因。
copyleft、copycenter、copyright的區別?
要了解授權條款,掌握這幾個概念的差別可以幫助更快速的記憶不同授權條款的內容。
- copyleft:又稱作著作傳、著佐權、「著作權左派」,根據維基百科是--
一種利用現有著作權(英語:copyright)體制來保障用戶軟體自由使用權利的授權方式。copyleft條款要求作者所授權的人對改作後的衍生作品要使用相同授權條款授予作者,以保障其後續所有衍生作品都能被任何人自由使用。
copyleft概念著重在保護作品被眾人自由使用的特性,強制衍生作品要使用相同授權條款來確保作品被使用的自由以促進軟體生態整體的進展,後續會舉例說明如何進行。我們可以先試想,如果今天只是隨便調用個簡單數據處理的function都會被收費,那麼軟體生態還會有現在的發展嗎?也許願意投入的開發者就不會像現在這麼多了。更多關於copyleft的概念可以參考這裡有更完整的說明。
- copycenter:介於copyleft和copyright的中間概念(在限制面較為寬鬆)。跟copyleft一樣,copycenter旨在保護作品被眾人自由使用的權利,但它不像copyleft一樣用嚴格的方式限制衍生作品要使用相同的授權條款,而是賦予後續使用者選擇其他授權條款的自由。
- copyright:即是一般我們所認知的著作權。這裡與copyleft、copycenter的區別在於著作權並沒有讓作品被自由使用的特性。著作權對於著作財產權、著作人格權有特殊的限制,而在作品自由使用的層面,僅主張在特定合理使用的範圍內不算侵害創作者本身的著作權。
授權條款有哪些?
授權條款可由copyleft、copycenter、copyright粗略分類為三類:
- [Copyleft] GPL(General Public License)類:如 GNU GPL、LGPL(Lesser General Public License)。
GNU GPL、LGPL是在GPL類最著名也最被廣泛使用的兩個例子。世界上第一個開源專案授權條款即是GNU GPL,同時也是自由軟體之父Richard Stallman訂立的規約。GNU GPL最大的特點就是感染性,使用這個授權條款的開源專案或軟體不僅除了擁有我們上述所說自由/開源軟體的幾項權利(開發者可以根據自己的目的使用、修改、散布、發布衍生作品之外),它規定你使用的程式碼內有GNU GPL這個License時,你發布或散布的作品也要使用這個License,不可更換成其他授權條款。(也就是前面說的copyleft概念)
也就是說,若你使用GPL類的License,後續所有衍生的作品都必須使用此License並開放可編譯的源碼給眾人。也因為這樣的侷限性所以其實很多人因為商業層面的考量會避免使用此類的授權條款。
而GNU GPL、LGPL二者最大的差異是在「引用」的部份。引用GNU GPL條款的程式碼會使你的衍生作品也必須使用GNU GPL條款,但LGPL則沒有這個限制。如果只是引用LGPL的源碼沒有做其他修改的話,是不需要公開衍生作品的源碼的。
這類授權條款最有名的例子就是Linux!
- [Copycenter] BSD類(Berkeley Software Distribution License)
這類授權條款最大的特色就是標示。開發者使用這類授權條款的軟體,後續可以選擇改用其他授權條款開放自己的作品,但開發者必須在使用BSD類的作品時加上BSD條款的著作權標示內容。其中一種最初的BSD類條款BSD 4-clause License要求其衍生作品要附上使用專案的貢獻者名單,後續的BSD版本則移除了這個限制。
提醒:一開始有提到授權條款是法律文件,要使用時還是要看清楚援引作品的條款內容,避免觸法!此處介紹各大類的授權條款都有其各種變形,不同版本相同名字的條款也會有所差異。
- [Copycenter]MIT類( Massachusetts Institute of Technology License)
MIT類的授權條款也跟BSD類一樣屬於寬鬆類型的軟體授權條款,對於後續授權條款的選擇可幾乎說是沒有什麼特別的限制,而MIT類條款的特色就是條款內容可根據需求修改,只需要在衍生作品附上MIT條款內容和相關著作權聲明即可。
使用這個條款有名的例子就像是Ruby on rails、react。
- [Copycenter] Apache License:
Apache類也屬寬鬆類型的軟體授權條款,這類條款的最大特色就是除了條款內容、著作權聲明外,要額外標註修改過的地方。
這類授權條款最有名的就是Swift~
- [Copyright] Proprietary license:私有軟體條款,通常用於私有軟體,擁有軟體的單位有完全的著作權,沒有公用條款。
引用Noob’s Space對五個常見開源專案授權條款整理的表格,整理的非常清楚,也推薦各位去看這篇文章!
另補上「在開源時代的興起下,如何透過License共享並保有權益」Vincent Ke分享的選擇條款思考路線:
不過這裡必須釐清一點, GPL類的License是可以商業使用的!詳情可參考官方說明。
自由軟體、開源軟體、免費軟體一樣嗎?到底有甚麼不同?
「自由軟體」(free software) 和「開源軟體」(open source software) 其實都支持軟體的使用、修改、衍生作品、或單純再發布,甚至都明文允許商業使用(自由軟體/開源軟體)。兩者的不同之處在於其推廣的哲學,自由軟體著重在開放原始碼運動的社會和道德層面,重視開發者擁有「自由」取用原始碼並依照自己的心意去使用它的權利;而「開源軟體」更著重在把開放原始碼作為一種讓軟體最佳化、蓬勃軟體生態圈的面向去推廣開源的概念。更多相關的討論可以參考自由軟體之父Richard Stallman對自由軟體的定義和兩者的不同、開源軟體創始機構對開源軟體的定義和兩者的不同。
以上即是我參考以下資料對軟體授權條款的學習,歡迎各路高手補充指教!😃
- 開源是一種生活態度!六個針對 open source 的大哉問: https://buzzorange.com/techorange/2014/12/19/what-is-open-source/
- The Open Source Definition: https://opensource.org/osd
- OSI Frequently Answered Questions: https://opensource.org/faq#osd
- Choosing a License:http://wiki.civiccommons.org/Choosing_a_License/
- 理查·史托曼wiki: https://zh.wikipedia.org/wiki/%E7%90%86%E6%9F%A5%E5%BE%B7%C2%B7%E6%96%AF%E6%89%98%E6%9B%BC
- BSD授權條款 wiki: https://zh.wikipedia.org/wiki/BSD%E8%AE%B8%E5%8F%AF%E8%AF%81
- MIT授權條款 wiki: https://zh.wikipedia.org/wiki/MIT%E8%A8%B1%E5%8F%AF%E8%AD%89
- 開源軟體 wiki: https://zh.wikipedia.org/wiki/%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6
- License a repository: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#choosing-the-right-license
- 自由軟體是什麼?https://www.gnu.org/philosophy/free-sw.zh-tw.html
- Why Open Source misses the point of Free Software by Richard Stallman https://www.gnu.org/philosophy/open-source-misses-the-point.html
- 自由開源軟體授權條款的三分法 https://www.openfoundry.org/tw/legal-column-list/105-2010-07-15-10-42-58
- 自由及開放原始碼軟體授權條款比較 https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E5%8F%8A%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BC%E8%BB%9F%E9%AB%94%E8%A8%B1%E5%8F%AF%E8%AD%89%E6%AF%94%E8%BC%83
- 授權條款介紹 https://www.openfoundry.org/tw/licenses
- 自由及開放原始碼軟體授權條款比較 https://zh.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E5%8F%8A%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BC%E8%BB%9F%E9%AB%94%E8%A8%B1%E5%8F%AF%E8%AD%89%E6%AF%94%E8%BC%83
- 每個開發人員都要知道的「軟體授權」、「語意化版本控制」https://medium.com/@liniju/web-dev-roadmap1-5f3bac327a96
- 常見的五個開源專案授權條款,使用軟體更自由 — Noob’s Space https://noob.tw/open-source-licenses/
- 開放原始碼(開源)授權(Open Source License)比較:GPL, LGPL, BSD, Apache, MIT https://www.ewdna.com/2012/02/open-source-licensegpl-lgpl-bsd-apache.html
- [開源教]教我正確選擇軟體授權 https://hackmd.io/@xFFt1IK9RFqBBDprY_V0yA/rk-sbm42z?type=view
- 從自由軟體到開放原始碼,了解共享經濟的資源交換模式 https://progressbar.tw/posts/62
- 在開源時代的興起下,如何透過License共享並保有權益 https://progressbar.tw/posts/61