開源軟件

本页使用了标题或全文手工转换,现处于澳门繁体模式
求聞百科,共筆求聞
開放原始碼促進會(OSI)徽標

開源軟件(英語:Open-source software縮寫OSS)又稱開放原始碼軟件,是一種原始碼可以任意取用的電腦軟件,這種軟件的版權持有人在軟件協定的規定之下保留一部分權利並允許用戶學習、修改以及以任何目的向任何人分發該軟件。開源協定通常符合開放原始碼的定義的要求。一些開源軟件被釋出到公有領域。開源軟件常被公開和合作地開發。開源軟件是開放原始碼開發的最常見的例子,也經常與用戶創作內容做比較[1]。開源軟件的英文「Open-source software」一詞出自自由軟件的行銷活動中[2]

開源軟件同時也是一種軟件散佈模式。一般的軟件僅可取得已經過編譯的二進位可執行檔,通常只有軟件的作者或著作權所有者等擁有程式的原始碼。

有些軟件的作者只將原始碼公開,卻不符合「開放原始碼」的定義及條件,因為作者可能設置公開原始碼的條件限制,諸如限制可閱讀原始碼的物件、限制衍生產品等,此稱之為公開原始碼的自由軟件(Freeware,例如知名的網絡討論區軟件Discuz!),因此公開原始碼的軟件並不一定可稱之為開放原始碼軟件。

歷史

1997年,埃里克·雷蒙出版其著作《大教堂和市集》,探討黑客社群與自由軟件原則。1998年初,該論文受到極大的關注,為促成網景通訊公司將其受歡迎的互聯網套裝軟件《網景通訊家》釋放成為自由軟件的因素之一。這些程式碼即為今日大家熟悉的Mozilla FirefoxThunderbird

網景的行動激起雷蒙及其夥伴深入研究如何將自由軟件基金會的自由軟件概念及優點帶入商業軟件產業。他們查覺基金會的社會活動不如網景等公司的行動來得吸引人,因而試圖重新包裝自由軟件運動,以強調分享與協作軟件原始碼的潛在商機。他們選用的新名稱為「開放原始碼」(Open-source),很快地布魯斯·佩倫斯、出版家提姆·奧萊理林納斯·托瓦茲及其他人支持新名稱。開放原始碼促進會於1998年2月建立,以推動使用新名稱,並宣揚開放原始碼的原則[3]

開放原始碼的定義

開放原始碼的定義由Bruce Perens(Debian的創始人之一)定義如下:

  • 自由再散佈(Free Distribution):允許獲得原始碼的人可自由再將此原始碼散佈。
  • 原始碼(Source Code):程式的可執行檔在散佈時,必需以隨附完整原始碼或是可讓人方便的事後取得原始碼。
  • 衍生著作(Derived Works):讓人可依此原始碼修改後,在依照同一特許條款的情形下再散佈。
  • 原創作者程式原始碼的完整性(Integrity of The Author’s Source Code):意即修改後的版本,需以不同的版本號碼以與原始的程式碼做分別,保障原始的程式碼完整性。
  • 不得對任何人或團體有差別待遇(No Discrimination Against Persons or Groups):開放原始碼軟件不得因性別、團體、國家、族群等設置限制,但若是因為法律規定的情形則為例外(如:美國政府限制高加密軟件的出口)。
  • 對程式在任何領域內的利用不得有差別待遇(No Discrimination Against Fields of Endeavor):意即不得限制商業使用。
  • 散佈特許條款(Distribution of License):若軟件再散佈,必需以同一條款散佈之。
  • 特許條款不得專屬於特定產品(License Must Not Be Specific to a Product):若多個程式組合成一套軟件,則當某一開放原始碼的程式單獨散佈時,也必需要符合開放原始碼的條件。
  • 特許條款不得限制其他軟件(License Must Not Restrict Other Software):當某一開放原始碼軟件與其他非開放原始碼軟件一起散佈時(例如放在同一光碟片),不得限制其他軟件的特許條件也要遵照開放原始碼的特許。
  • 特許條款必須技術中立(License Must Be Technology-Neutral):意即特許條款不得限制為電子格式才有效,若是紙本的特許條款也應視為有效。

儘管一開始接受[4]自由軟件基金會理查·斯托曼現在斷然反對將「開源軟件」與「自由軟件」混為一談。雖然在法律上並未明確區分自由軟件與開源軟件,但斯托曼認為不宜濫用[5]

開放原始碼與自由軟件

許多人將開放原始碼與自由軟件(Free Software)視為相同,但若以定義條件而言,自由軟件僅是開放原始碼的一種,也就是自由軟件的定義較開放原始碼更為嚴格,並非開放原始碼的軟件就可稱為自由軟件,要視該軟件的特許條件是否合乎對自由軟件所下的定義:

自由軟件是在電腦個人或為公共利益,而非私人公司或政府等企圖限制或監視我們工作時,我們在學校公司使用時,我們具有其控制[6]

開放原始碼有時不僅僅指開放原始碼軟件,它同時也是一種軟件開放模式的名稱。使用開放原始碼開放模式的軟件代表就有Linux作業系統

嚴格地說來,開放原始碼軟件與自由軟件是兩個不同的概念,只要符合開源軟件定義的軟件就能被稱為開放原始碼軟件(開源軟件)。自由軟件是一個比開源軟件更嚴格的概念,因此所有自由軟件都是開放原始碼的,但不是所有的開源軟件都能被稱為「自由」。但在現實上,絕大多數開源軟件也都符合自由軟件的定義。比如,遵守GPLBSD特許的軟件都是開放的並且是自由的。

「開放原始碼軟件運動」是一個主要由程式工程師及其它電腦用戶參與的聲勢浩大的運動。它是自由軟件運動的一個分支,但兩者的差別並不明顯。一般而言,自由軟件運動是基於政治及哲學思想(有時被稱為所謂黑客文化)的理想主義運動,而開放原始碼運動則主要注重程式本身的質素提升。

漏洞

雖然開放原始碼的堡壘看似嚴謹,但其實大部份的程式開發員都弄不清各種特許條款之間的差別,導致成為了小部份別有用心人士所利用的物件,較著名的例子有DivX,早期DivX雛形是一個LGPL的自由軟件,由大部份優秀的軟件高手義務地開發,但當軟件漸漸成形時,DivX的公司DXN利用LGPL的漏洞對DivX進行了閉源,大部分軟件愛好者都感到被出賣,所以着手開發了XviD。雖然XviD在軟件方面明顯比DivX優秀,但市場佔有率卻不如DivX。

參考文獻

  1. Verts, William T. Open source software. World Book Online Reference Center. 2008-01-13. 
  2. Frequently Asked Questions. Open Source Initiative. [2008-09-08]. 
  3. History of the OSI. Opensource.org. [2015-04-26]. 
  4. Tiemann, Michael. History of the OSI. Open Source Initiative. [2014-05-13]. 
  5. Stallman, Richard. Why "Open Source" misses the point of Free Software. Philosophy of the GNU Project. Free Software Foundation. 2007-06-16 [2007-07-23]. As the advocates of open source draw new users into our community, we free software activists have to work even more to bring the issue of freedom to those new users' attention. We have to say, 'It's free software and it gives you freedom!'—more and louder than ever. Every time you say 'free software' rather than 'open source,' you help our campaign. 
  6. [The Free Software Foundation (FSF) ]

外部連結

參見