2008年4月8日 星期二

開放源碼 - Open Source

開放源碼

維基百科,自由的百科全書

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

開放原始碼的定義

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

開放原始碼與自由軟體

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


重要人物

組織及協作計劃

  • Linux——第一個採用開放源碼軟體開放模式的軟體協作計劃
  • Debian——開放源碼開放模式下的Linux套件
  • Mozilla——開放源碼的瀏覽器
  • OpenOffice.org——開放源碼的辦公軟體
  • OpenBSDFreeBSDNetBSDOpenSolaris——四個相近的開放源碼4BSD UNIX版本
  • 開放源碼促進會(Open Source Initiative)——促進開放源碼運動發展的組織
  • OSDN——專門發佈與開放源碼運動有關新聞的網站

介入開源運動發展的企業

  • 紅帽公司(Red Hat)——最大的Linux套件發行商
  • 蘋果電腦(Apple)——開放了該公司作業系統Mac OS的核心Darwin的原始碼
  • IBM——協助發展多項開放源碼計劃
  • 網景公司(Netscape)——協助發展Mozilla計劃
  • 太陽電腦系統公司——發表了Java語言、OpenSolaris原始碼,並協助發展OpenOffice.org計劃
  • 紅旗Linux--中國最大的Linux發行商

開源軟體基礎

部分開源軟體

更詳細的列表請參見開放源碼軟體列表

參見

外部連結

參考文獻

  • 葛林.穆迪(Glyn Moody)著,杜默譯,《Linux傳奇:讓比爾蓋茨坐立難安的天才》,時報文化,2001年,台北,ISBN 9571333628
  • 林納斯‧托瓦茲 (Linus Torvalds) 著,梁曉鶯譯,《Just for Fun--Linux創始人托瓦茲自傳》,經典傳訊,2001年,ISBN 9574761231

沒有留言:

Firefox 網路瀏覽器好用!Ctrl + (瀏覽字體就可無限放大) Ctrl - (字體縮小)