開源軟體(英文全稱:Open source software,英文縮寫:OSS,中文全稱:開放源代碼軟體)是一種源代碼可以任意擷取的計算機軟體,這種軟體的著作權持有人在軟體協定的規定之下保留一部分權利并允許使用者學習、修改、修改以及以任何目的向任何人分發該軟體。開源協定通常符合開放源代碼的定義的要求。一些開源軟體被釋出到公有領域。開源軟體常被公開和合作地開發,開放源代碼軟體是開源發展的最突出的例子,也經常與使用者生成内容(user-generated content)做比較。開源軟體的英文“open-source software”一詞出自free software(自由軟體)的營銷活動中。Standish集團一份報告指出,采用開放源代碼軟體的模式讓消費者每年節省60億美元。
開源并不僅僅意味着對源代碼的通路。開放源代碼軟體的釋出條款必須符合下列條件:
- 自由再分發(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)
當某一開放源代碼軟體與其他非開放源代碼軟體一起散布時(例如放在同一CD光牒),不得限制其他軟體的授權條件也要遵照開放源代碼的許可。
- 許可證必須在技術上保持中立(License Must Be Technology-Neutral)
授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。
根據自由軟體基金會的定義,自由軟體(Free Software)是一種可以不受限制地自由使用、複制、研究、修改和分發的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是閉源軟體(Proprietary Software)非自由軟體,也常被稱為私有軟體、封閉軟體(其定義與是否收取費用無關)。自由軟體受到標明的“自由軟體授權協定”保護而釋出(或是放置在公共領域),其釋出以源代碼為主,二進制檔案可有可無。自由軟體的許可證類型主要有GPL許可證和BSD許可證兩種。另外,自由軟體也可以看作開源軟體的一個子集。
資料來源:
• Weber, Steve. The success of open source. Harvard University Press, 2004.