開放原始碼

開放原始碼

指的是一種軟體散布模式。一般的軟體僅可取得已經過編譯的二進制可執行檔,通常只有軟體的作者或著作權所有者等擁有程式的原始碼。有些軟體的作者會將原始碼公開,此稱之為“原始碼公開”,但這並不一定符合“開放原代碼”的定義及條件,因為作者可能會設定公開原始碼的條件限制,例如限制可閱讀原始碼的對象、限制衍生品等。

簡介

開放原始碼軟體就是在開放原始碼許可證下發布的軟體,以保障軟體用戶自由使用及接觸原始碼權利。這同時也保障了用戶自行修改、複製以及再分發的權利。簡而言之,所有公布軟體原始碼的程式都可以稱為開放原始碼軟體。

開放原始碼有時不僅僅指開放原始碼軟體,它同時也是一種軟體開放模式的名稱。使用開放原始碼開放模式的軟體代表就有Linux作業系統。開放原始碼開放模式的名字及其特點最早是由美國電腦黑客 埃里克·史蒂芬·雷蒙在他的著作《大教堂和市集》(The Cathedral and the Bazaar)等一系列論文集中提出並探討的。開放原始碼是信息通訊技術發展引發信息革命所帶來的知識社會條件下面向未來的,以開放創新、共同創新為特點的,以人為本的創新2.0模式在IT行業的典型體現和生動註解。

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

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

開放原始碼的定義

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

    重要人物

  • Richard Stallman——自由軟體運動的精神領袖
  • 林納斯·托瓦茲——Linux作業系統的創造者 Eric Steven Raymond——開放原始碼運動理論家,Fetchmail軟體的創造者,《大教堂與市集》的作者

    組織及協作計畫

  • Linux——第一個採用開放原始碼軟體開放模式的軟體協作計畫
  • Debian——開放原始碼開放模式下的Linux套件 Mozilla——開放原始碼的瀏覽器 OpenOffice.org——開放原始碼的辦公軟體 OpenBSDFreeBSDNetBSD——三個不同的開放原始碼UNIX版本 開放原始碼促進會(Open Source Initiative)——促進開放原始碼運動發展的組織 OSDN——專門發布與開放原始碼運動有關新聞的網站

    介入開源運動發展的企業

  • 紅帽公司(Red Hat)——最大的Linux套件發行商
  • 蘋果電腦(Apple)——開放了該公司作業系統Mac OS的核心Darwin的原始碼

    開源軟體基礎

  • 作業系統
  • Linux
  • Redhat
  • OpenLinux Suse Slackware Debian Ubuntu BSD NetBSD FreeBSD OpenBSD 協定基礎 高層協定 TCP/IP Suite 分散式協定 CORBA DCOM RMI 中間件協定 XSTP 底層協定 OSI模型 SNA模型 APPN模型 開源軟體語言 表現層語言(HTML, CSS, XML) 腳本語言(XSL, TCL, PHP, JavaScript, Perl, Python),不同於前三者,其中Perl, Python偏向系統語言。 系統語言(C/C , Java)

    部分開源軟體

  • Eclipse——最強大的軟體開發平台,尤其是對 Java 開發
  • GNU Emacs——非常強大的文本編輯軟體 TeX——強大的排版軟體 XFree86,X.Org伺服器——用於UNIX/Linux系統的圖形用戶軟體 Apache——非常流行的HTTP伺服器 GNU GCC——開源的多種語言編譯器 Zope——最優秀的套用伺服器 Plone——內容管理系統

    參見

  • 萬聖節檔案
  • 內容開放 Sourceforge 自由軟體

    外部連結

  • 歐盟關於開放原始碼軟體使用情況的報告
  • <<開源軟體文集>>英文版 開放原始碼促進會 複雜性科學視野下的科技創新 ICT融合與發展視野下的知識社會與創新2.0 “知識社會與創新2.0”第二屆中國移動政務研討會

    參考文獻

  • 葛林.穆迪(Glyn Moody)著,杜默譯,Linux傳奇:讓比爾蓋茨坐立難安的天才,時報文化2001年台北,ISBN 9571333628
  • 開源創新與創新2.0 http://www.mgov.cn/seminar/08chen.pdf

    相關詞條

    相關搜尋

    熱門詞條

    聯絡我們