close

首先要搞清楚開源及閉源軟體的意義

開源軟體英語Open source software,英文縮寫:OSS,中文也稱:開放原始碼軟體)是一種原始碼可以任意取用的電腦軟體,這種軟體的版權持有人在軟體協定的規定之下保留一部分權利並允許使用者學習、修改、增進提高這款軟體的品質。開源協定通常符合開放原始碼的定義的要求。一些開源軟體被發布到公有領域。開源軟體常被公開和合作地開發。開源軟體是開放原始碼開發的最常見的例子,也經常與使用者創作內容(user-generated content)做比較[1]。 開源軟體的英文「open-source software」一詞出自free software自由軟體)的行銷活動中[2]

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

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


相對開放原始碼而言,為封閉原始碼軟體的簡稱。 只要原始碼不容易取得,就被視為閉源軟體

違反以下任意一條,即為閉源軟體:

  • 自由再散佈(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):意即授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。

閉源軟體,通常是在電子遊戲開發中,付足夠的費用即可得到部分原始碼,如torque引擎,但一定是有限使用(通常為次數和不准透露),故不是開源軟體。

所以自由軟體算是開源軟體的一個子集

要說是不是相對關係的話

其實可以算是

arrow
arrow
    全站熱搜

    kenleyke60 發表在 痞客邦 留言(0) 人氣()