首頁 >常見問題 >開源協議是什麼

開源協議是什麼

青灯夜游
青灯夜游原創
2023-02-20 09:56:243082瀏覽

開源協定是將程式碼(專案)轉化為開源軟體的東西;開源協議規定了你在使用開源軟體時的權利和責任,也就是規定了你可以做什麼,不可以做什麼。開源協議雖然不一定具備法律效力,但當涉及軟體版權糾紛時,開源協議也是非常重要的證據之一。開源協議往往會制定一些特定的條款,只有在滿足這些條款的前提下,該軟體才能用於商業分發。

開源協議是什麼

本教學操作環境:linux7.3系統、Dell G3電腦。

開源軟體在追求「自由」的同時,不能犧牲程式設計師的利益,否則將會影響程式設計師的創造熱情,因此世界上現在有60 多種被開源促進組織(Open Source Initiative)認可的開源授權協議來保證開源工作者的權益。

開源協定是什麼


開源協定規定了你在使用開源軟體時的權利和責任,也就是規定了你可以做什麼,不可以做什麼。開源協議雖然不一定具備法律效力,但當涉及軟體版權糾紛時,開源協議也是非常重要的證據之一。

簡單的來說,開源協定就是將程式碼(專案)轉化為開源軟體的東西。開源授權基本上可以看作是開源依賴項的作者和使用服務的客戶之間合法的綁定契約,約束的內容就是開源程式碼。開源協議往往會制定一些特定的條款,只有在滿足這些條款的前提下,該軟體才能用於商業分發。

對於準備編寫一款開源軟體的開發人員,也非常建議先了解目前最熱門的開源授權協議,選擇一個合適的開源授權協議來最大限度地保護自己的軟體權益。

常見的開源協定


#Apache License

########################################################。 #Apache License是什麼#########Apache License(Apache許可證),是Apache 軟體基金會發布的一個自由軟體許可證,Apache Licence 是著名的非營利開源組織Apache 採用的協議。 ######該協定和 BSD 類似,同樣鼓勵程式碼共享和最終原作者的著作權,同樣允許原始碼修改和再發布。 #########Apache License遵循條件#########需要給程式碼的使用者一份 Apache Licence,如果修改了程式碼,需要再被修改的檔案中說明。在衍生的程式碼中(修改和有原始碼衍生的程式碼中)需要帶有原來程式碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。 ######如果在發布的產品中包含一個 Notice 文件,則在 Notice 文件中需要帶有 Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對 Apache Licence 構成變更。 ######Apache Licence 也是對商業應用又好的授權。用戶也可以再需要的時候修改程式碼來滿足並作為開源或商業產品發布/銷售。 #########Apache License好處###################「」#####說明#########################描述############ ######永久權利######一旦被授權,永久擁有。 ############全球範圍的權利######在一個國家獲得授權,適用於所有國家。假如你在美國,許可證是從印度授權的,也沒問題。 ############授權免費######無版稅, 前期、後期均無任何費用。 ############授權無排他性######任何人都可以獲得授權。 ############授權不可撤銷######一旦獲得授權,沒有任何人可以取消。例如,你基於該產品程式碼開發了衍生產品,你不用擔心會在某一天被禁止使用該程式碼。 ############

BSD

BSD是什麼

BSD 是「Berkeley Software Distribution」 的縮寫,意思是「伯克利軟體發行版」。

BSD開源協定

BSD 開源協定是給於使用者很大自由的協定。可以自由的使用,修改原始碼,也可以將修改後的程式碼作為開源或專有軟體再發布。

當你發佈使用了BSD 協定的程式碼,或則以BSD協定程式碼為基礎做二次開發自己的產品時,需要滿足三個條件:

  • 如果再發布的產品中包含原始碼,則在原始程式碼中必須帶有原始程式碼中的BSD 協定。

  • 如果再發布的只是二進位類別庫/軟體,則需要在類別庫/軟體的文件和版權聲明中包含原始程式碼中的BSD協定。

  • 不可以用開源程式碼的作者/機構名字和原來產品的名字做市場推廣。

BSD權利

BSD 程式碼鼓勵程式碼共享,但需要尊重程式碼作者的著作權。

BSD 由於允許用戶修改和重新發布程式碼,也允許使用或在 BSD 程式碼上開發商業軟體發布和銷售,因此是對商業整合友好的協議。

很多的公司企業在選用開源產品的時候都首選 BSD 協議,因為可以完全控制這些第三方的程式碼,在必要的時候可以修改或二次開發。

GPL

GPL是什麼

GPL 全名為GNU General Public License,即GNU通用公共授權協議。

GPL協定

Linux 採用了 GPL 協定。 GPL 協定和 BSD, Apache Licence 等鼓勵程式碼重用的授權很不一樣。

GPL 的出發點是程式碼的開源/免費使用和引用/修改/衍生程式碼的開源/免費使用,但不允許修改後和衍生的程式碼做為閉源的商業軟體發布和銷售。

這也就是為什麼我們可以用免費的各種 Linux,包括商業公司的 Linux 和 Linux 上各種各樣的由個人,組織,以及商業軟體公司開發的免費軟體了。

MIT

MIT是什麼

MIT 是和BSD 一樣寬範的授權協議。 MIT 源自麻省理工學院(Massachusetts Institute of Technology, MIT),又稱 X11 協議。

MIT協定

MIT 與 BSD 類似,但比 BSD 協定更寬鬆,是目前最少限制的協定。這個協議唯一的條件就是在修改後的程式碼或發行包包含原作者的許可訊息,適用商業軟體。

使用 MIT 的軟體專案有:jquery、Node.js。

如何選擇開源協定

世界上的開源協定有上百種,很少有人能徹底搞清它們之間的區別,即使在最流行的六種開源協定——GPL、BSD、MIT、Mozilla、Apache 和LGPL——之中做選擇,也很複雜。

烏克蘭程式設計師 Paul Bagwell 畫了一張分析圖,說明該怎麼選擇開源協議,大家看了一目了然,真是清爽。

開源協議是什麼

【相關推薦:程式設計教學

#

以上是開源協議是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn