1. 程式人生 > >開源 與 許可協議

開源 與 許可協議

開源(Open Source)全稱為開放原始碼。

開源不等於免費,開源也不等於沒有約束。 開源軟體有自己的智慧財產權,他們存在一個license(授權協議)。

許可協議是指用來授權其他人具有某種使用你的作品的權利。 什麼是許可,當你為你的產品簽發許可,你是在出讓自己的權利,不過,你仍然擁有版權和專利(如果申請了的話),許可的目的是,向使用你產品的人提供 一定的許可權。不管產品是免費向公眾分發,還是出售,制定一份許可協議非常有用,否則,對於前者,你相當於放棄了自己所有的權利,任何人都沒有義務表明你的原始作 者身份,對於後者,你將不得不花費比開發更多的精力用來逐個處理使用者的授權問題。

自己原始碼一旦對外開源,你將失去所有對你的作品的版權,別人也沒有義務將你標註為作品的原創者或捐獻者。為了保護自由軟體原作者的相關智慧財產權,license在作者與使用者之間設立的一種虛擬合同。

世界上的開源許可證(Open Source License)大概有上百種,而我們常用的開源軟體協議大致有GPL、BSD、MIT、Mozilla、Apache和LGPL。我們不必要每個開源協議都瞭然於心,但是可以瞭解幾個主要的協議的權利和義務。


烏克蘭程式設計師Paul Bagwell,畫了一張分析圖,說明應該怎麼選擇,下圖為國內大牛阮一峰漢化了版本。 在這裡插入圖片描述

更簡單點的話,也可以參考來自 GcsSloop 博文的這張圖,更加通俗易懂: 在這裡插入圖片描述

更多的開源協議,我們還可以參考這張圖 在這裡插入圖片描述