本頁使用了標題或全文手工轉換

開源軟體

維基百科,自由的百科全書
跳至導覽 跳至搜尋

開源軟體(英語: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. (原始內容存檔於2011-01-01). 
  2. ^ Frequently Asked Questions. Open Source Initiative. [2008-09-08]. (原始內容存檔於2006-04-23). 
  3. ^ History of the OSI. Opensource.org. 
  4. ^ Tiemann, Michael. History of the OSI. Open Source Initiative. [2014-05-13]. (原始內容存檔於2011年11月27日). 
  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) ]

外部連結[編輯]

參見[編輯]