本页使用了标题或全文手工转换

开源软件

维基百科,自由的百科全书
跳转至: 导航搜索

开源软件英语open source software,英文缩写OSS,中文也称:开放源代码软件)是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。开源协议通常符合開放原始碼的定義的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发。开源软件是开放源代码开发的最常见的例子,也经常与用户生成内容做比较[1]。 开源软件的英文“open-source software”一词出自自由软件的营销活动中[2]

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

有些軟體的作者只將原始碼公開,卻不符合「開放原始碼」的定義及條件,因為作者可能設定公開原始碼的條件限制,諸如限制可閱讀原始碼的對象、限制衍生產品等,此稱之為公开源代码的免费软件(Freeware,例如知名的模擬器軟體MAME),因此公開原始碼的軟體並不一定可稱之為開放原始碼軟體。

開放原始碼的定義[编辑]

開放原始碼的定義由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):意即授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。

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

開放原始碼與自由軟體[编辑]

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

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

开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有Linux操作系统

严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPLBSD许可的软件都是开放的并且是自由的。

「开放源代码软件运动」是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。

歷史[编辑]

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

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

漏洞[编辑]

雖然开放源代碼的堡壘看似嚴謹,但其實大部份的程式開發員都弄不清各種許可證之間的差別,導致成為了小部份別有用心人士所利用的對象,較著名的例子有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]. (原始内容存档于2006-04-23). 
  3. ^ Tiemann, Michael. History of the OSI. Open Source Initiative. [13 May 2014]. 
  4. ^ Stallman, Richard. Why "Open Source" misses the point of Free Software. Philosophy of the GNU Project. Free Software Foundation. June 16, 2007 [July 23, 2007]. "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." 
  5. ^ [The Free Software Foundation (FSF) ]
  6. ^ History of the OSI. Opensource.org. 

外部链接[编辑]

参见[编辑]