開放原始碼

開放原始碼

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

基本介紹

  • 中文名:開放原始碼
  • 外文名:Open source code
  • 套用學科:計算機科學與技術
簡介,定義,重要人物,協作計畫,開源企業,開源軟體,發展緩慢,

簡介

開放原始碼(英語:Open Source)描述了一種在產品的出品和開發中提供最終源材料的做法。一些人將開放原始碼認為是一種哲學思想,另一些人則把它當成一種實用主義。在這個詞廣泛使用前,開發者和生產者使用很多詞去描述這個概念;開放原始碼在網際網路上獲得廣泛使用,參加者需要大量更新電腦原始碼。開放原始碼使得生產模組、通信管道、互動社區獲得改善。隨後,一個新著作權、軟體授權條款、域名和消費者提供創建的,一個新詞開源軟體誕生。
開源模型概念包括同時間不同時程和方法來生產,相對而言,更加集中式的軟體設計模型,例如典型的商業軟體公司。一個開源軟體開發的主要原則和慣例是易貨貿易和合作的同儕生產,經由免費公開的最終產品、原始信息、藍圖和檔案。這逐漸套用在其它領域,例如生物技術。
開放原始碼軟體就是在開放原始碼許可證下發布的軟體,以保障軟體用戶自由使用及接觸原始碼權利。這同時也保障了用戶自行修改、複製以及再分發的權利。簡而言之,所有公布軟體原始碼的程式都可以稱為開放原始碼軟體。 開放原始碼有時不僅僅指開放原始碼軟體,它同時也是一種軟體開放模式的名稱。使用開放原始碼開放模式的軟體代表就有GNU/Linux作業系統。
嚴格地說來,開放原始碼軟體與自由軟體是兩個不同的概念,只要符合開源軟體定義的軟體就能被稱為開放原始碼軟體(開源軟體)。自由軟體是一個比開源軟體更嚴格的概念,因此所有自由軟體都是開放原始碼的,但不是所有的開源軟體都能被稱為“自由”。但在現實上,絕大多數開源軟體也都符合自由軟體的定義。比如,遵守GPL的軟體都是開放的並且是自由的。
開放原始碼軟體運動是一個主要由程式工程師及其它電腦用戶參與的聲勢浩大的運動。它是自由軟體運動的一個分支,但兩者的差別並不明顯。一般而言,自由軟體運動是基於政治及哲學思想(有時被稱為所謂黑客文化)的理想主義運動,而開放原始碼運動則主要注重程式本身的質量提升。

定義

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

重要人物

林納斯·托瓦茲——Linux作業系統的創造者

協作計畫

GNU—— 公用作業系統開發組織
Linux——第一個採用開放原始碼軟體開放模式的軟體協作計畫
Debian——開放原始碼開放模式下的Linux套件
Mozilla——開放原始碼的瀏覽器——開放原始碼的辦公軟體
開放原始碼促進會(Open Source Initiative)——促進開放原始碼運動發展的組織
OSDN——專門發布與開放原始碼運動有關新聞的網站

開源企業

IBMRed HatHP、SUSE、Google

開源軟體

GNU —— 提供大量系統基礎工具,比如GCC、BASH、Emacs
Linux —— 核心
X11 —— 視窗系統
TeX——強大的排版軟體
Apache——非常流行的HTTP伺服器
Zope——套用伺服器
Plone——內容管理系統
Eclipse——軟體開發平台

發展緩慢

1、中國IT教育尚不完善
雖然中國的IT職業教育學校和全日制的本專科院校每年可以向中國IT界輸入大量的新人,但是整個IT教育依舊處在急需補充開發概念的階段。大多數的學校的教學內容非常偏重於C/S程式(比如非常熱門的java,.net)這些內容相比真正的開發真的太過簡單。如何讓學生可以學到更多複雜的程式開發技術是中國教育界多年來始終無法解決的一大問題,如果中國的教育還是跟不上全球的技術發展和全球的消費者行為的話,社區還依然沒有機會實現繁榮。
2、中國oss社區發展需張揚個性
中國是一個有著五千年文化的傳統型國家,個性創新在中國這個特定的環境中有一定的限制。越來越多的人希望自己可以成為和別人一樣的人,這將讓這些本有機會個性創新的人才們在他們人生最重要的時刻錯過了最重要的事情,所以個性的培養是當務之急。
3、英語水平
目前OSS的概念在國外是最火熱的,所以如果沒有良好的英語基礎是難以推動OSS發展,跟上世界技術潮流的。雖然國小從三年級開始就學習英語,但是相比里最基本的OSS英語基礎還有了不小的距離。
4、中國人不夠主動
很多OSS社區的領導人,oss活動的發起人都是外國人,中國人一般都不太樂意去發起甚至參加這類可以學到更多技術的活動。哪怕要他們作為一名本地的東道主去外國人發起的OSS活動中分享一下自己的經驗,他們也會覺得中國人的技術不應該外流,但其實正因為中國人不夠主動,中國人也很難通過OSS社區了解到最新的技術。

相關詞條

熱門詞條

聯絡我們