開源軟體
出自 MBA智库百科(https://wiki.mbalib.com/)
開源軟體(open source software,OSS)
目錄 |
開源軟體也稱開放源代碼軟體,是一種源代碼可以任意獲取的電腦軟體,這種軟體的版權持有人在軟體協議的規定之下保留一部分權利並允許用戶學習、修改、增進提高這款軟體的質量。
開源協議通常匹配開放源代碼的定義的要求。一些開源軟體被髮布到公有領域。開源軟體常被公開和合作地開發。開源軟體是開放源代碼開發的最常見的例子,也經常與用戶生成內容做比較。 開源軟體的英文“open-source software”一詞出自自由軟體的營銷活動中。
開源軟體同時也是一種軟體散佈模式。一般的軟體僅可獲取已經過編譯的二進位可執行文件,通常只有軟體的作者或著作權所有者等擁有程式的源代碼。
有些軟體的作者只將源代碼公開,卻不匹配“開放源代碼”的定義及條件,因為作者可能設置公開源代碼的條件限制,諸如限制可閱讀源代碼的對象、限制派生產品等,此稱之為公開源代碼的免費軟體(Freeware,例如知名的模擬器軟體MAME),因此公開源代碼的軟體並不一定可稱之為開放源代碼軟體。
許多人將開放源代碼與自由軟體(free Software)視為相同,但若以定義條件而言,自由軟體僅是開放源代碼的一種,也就是自由軟體的定義較開放源代碼更為嚴格,並非開放源代碼的軟體就可稱為自由軟體,要視該軟體的授權條件是否合乎自由軟體基金會對自由軟體所下的定義:
自由軟體是在電腦為個人或為公共利益,而非私人公司或政府等企圖限制或監視我們工作時,我們在家、學校、公司使用時,我們具有其控制權。
開放源代碼有時不僅僅指開放源代碼軟體,它同時也是一種軟體開放模式的名稱。使用開放源代碼開放模式的軟體代表就有Linux操作系統。
嚴格地說來,開放源代碼軟體與自由軟體是兩個不同的概念,只要匹配開源軟體定義的軟體就能被稱為開放源代碼軟體(開源軟體)。自由軟體是一個比開源軟體更嚴格的概念,因此所有自由軟體都是開放源代碼的,但不是所有的開源軟體都能被稱為“自由”。但在現實上,絕大多數開源軟體也都匹配自由軟體的定義。比如,遵守GPL和BSD許可的軟體都是開放的並且是自由的。
“開放源代碼軟體運動”是一個主要由程式工程師及其它電腦用戶參與的聲勢浩大的運動。它是自由軟體運動的一個分支,但兩者的差別並不明顯。一般而言,自由軟體運動是基於政治及哲學思想(有時被稱為所謂黑客文化)的理想主義運動,而開放源代碼運動則主要註重程式本身的質量提升。