開放原始碼的定義 (轉)

worldblog發表於2007-12-02
開放原始碼的定義 (轉)[@more@]   
作者:COSOFT

關於開放的定義

譯者的宣告:

本文是定義、開放原始碼定義原理以及OSI Certified標誌與綱要的中文譯文。

本文由王立在1999年8月翻譯。

本人在翻譯時為確保譯文與原文在含義上一致性付出了最大 努力,但是本人不能對:由於譯文與原文在含義上的差異而造成的任何誤解;或對譯文的誤解;所造成的任何直接的、間接的損失承擔任何責任。

王立 1999年8月

關於開放原始碼的定義 (1.7版)

開放原始碼並不僅僅意味著對原始碼的訪問權。開放原始碼的釋出 條款必須滿足以下條件:

1. 自由地再發布

如果被髮布的軟體是由不同來源的組成的,許可證不得限制任何當 事人或組織(party)銷售或贈送作為被髮布軟體成分之一的開放原始碼軟體。
許可證不得從此項銷售中索取使用費或其它任何費用。(理由)

2. 原始碼 程式必須包括原始碼,必須允許以原始碼方式釋出、還必須允許以編譯 後的形式釋出。如果產品的某個部分沒有與原始碼一同釋出,那麼必須提供通行的、不需要支付合理範圍之外的任何費用的手段以獲得原始碼---從 上免費是一種可取的方式。原始碼必須是程式設計師對其進行修改的最佳形式。故意地使原始碼變得含混晦澀是不允許的。也不允許給出預處理 器或翻譯器處理的中間結果。(理由)

3. 派生作品

許可證必須允許修改軟體和派生軟體,並且必須允許它們按照原軟體的 許可證的條款進行釋出。(理由)

4. 作者的原始碼的完整性 只有在許可證允許與原始碼一同釋出""(該"補丁檔案"以在建立時對程式進行修改為目的)時,許可證才能限制對修改形式的原始碼的 釋出。許可證必須明確地允許釋出由修改後的原始碼生成的程式。許可證可以要求派生的作品採用不同的名稱或不同的版本號以區別於原來的軟體。 (理由)

5. 不得歧視任何個人或團體

許可證不得歧視任何個人或者由多人組成的團體。(理由)

6. 不得歧視任何應用領域(fields of endeavor) 許可證不得限制任何人把程式應用於任何領域。例如,不得規定程式不能應用於商業領域或基因研究領域。(理由)

7. 許可證的釋出 與程式有關的權利必須適用於該程式的任何使用者,並且程式的使用者 也不需要為了使用該程式而獲得其它許可證的許可。(理由)

8. 許可證不能針對於一個產品 與程式有關的權利不能由該程式是否作為某個軟體產品的一部分來決定。
如果程式從那個釋出中被抽出來,並且按照程式的許可證的條款進行使用 和釋出,那麼得到該程式的當事人或組織將獲得與得到原程式的使用者相同的權利。(理由)

9. 許可證不能影響其它軟體 許可證不得向與採用它的軟體一同釋出的其它軟體提出任何限制。例如,
許可證不能堅持要求在同一上釋出的其它程式都是開放原始碼軟體。 (理由)

Conformance (本節不是開放原始碼定義的一個部分)

  我們認為本開放原始碼定義涵蓋了由絕大多數軟體團體使用的術語"開放 原始碼"的最初含義和當前含義。然而,該術語被廣泛地應用,並且它的含義變得不精確了。OSI Certified標誌是某個軟體釋出許可證是否服從開放 原始碼定義的OST方式。一般的術語"開放原始碼"並不提供這種擔保,但我們仍然鼓勵使用"開放原始碼"這一術語以表明它符合"開放原始碼定義"。 關於OSI Certified標誌的資訊,以及已經透過了OSICertified、符合"開放 原始碼定義"的許可證,請參見OSI Certified標誌與綱要。

開放原始碼定義之原理

給出開放原始碼的定義的目的是:把我們所確信的、由團體所公 認的"開放原始碼"的含義作為一組具體的準則寫下來---該準則確保按照開放原始碼許可證釋出的軟體可以得到與其它軟體同樣認真的評審、使軟體可 以不斷地得到改良和遴選,從而提供非開放軟體所難以提供的可靠性與能力。

為了使此項工作持續發展,我們必須抵制人們為了短期利益而中止為軟體開發做出貢獻。這意味著,許可證的條款必須防止人們藏匿(lockup)源代 碼從而導致只有很少的人才能夠閱讀和修改它。 當軟體的開發者按照由OSI認證的許可證釋出他們的軟體時,他們可以在軟體中使用"OSI Certified"標誌。這種認證標誌告知,該軟體所採用的許可 證符合開放原始碼定義。關於我們的認證標誌的更多資訊及其綱要,請參見OSI Certified標誌與綱要。

1. 自由地再發布

透過強制要求許可證允許自由地再發布,我們抵制了任何為了獲得少量短期 銷售金額而放棄長期效益的誘惑。如果我們不這樣做,就會有很多壓力迫使合作者放棄承諾。

2. 原始碼 由於軟體只有透過修改才能夠得到改進,因此我們要求獲得易於理解的源代 碼。因為我們的目的是使軟體易於改進,我們也就希望軟體易於修改。

3. 派生作品 僅僅提供可以閱讀的原始碼,對於實施認真的評審、對於軟體的改良與 遴選來說都是不夠的。為了加快改進軟體的速度,人們需要能夠進行試驗和對修改進行重新發布。

4. 作者的原始碼的完整性 鼓勵對軟體進行各種改進是一件好事,但使用者有權知道誰應該對他們所使用的軟體負責。軟體的作者和維護者都有權知道需要他們提供支援的軟體是什 麼,以維護他們的名譽。 因此,開放軟體許可證必須保證可以容易地得到原始碼,但可以要求原始碼以原始原始碼和一組補丁檔案的形式釋出。按照這種方式,就可以獲得"非正 式的"的修改而同時又可以輕易地把它們從原始原始碼中區分出來。

5. 不得歧視任何個人或團體 為了從該程式中獲得最大的收益,應該給儘可能多的個人和團體以同等資格對開放原始碼軟體做出貢獻。為此我們禁止開放原始碼許可證把任何人排除在 這個程式之外。

6. 不得歧視任何應用領域(fields of endeavor) 該條款的主要目的是禁止許可證中含有使開放原始碼軟體無法在商業上使用的規定。我們需要商業使用者參與我們的工作,而不讓他們感到被排除在外。

7. 許可證的釋出 本條款的目的是禁止透過非直接的手段,例如需要簽署非公開的協定,使軟 件無法公開。

8. 許可證不能針對於一個產品 本條款用於預防其它許可證陷阱。

9. 許可證不能影響其它軟體 開放原始碼軟體的釋出者有權為他們自己的軟體做出選擇。 是的,GPL滿足這條要求。按GPL釋出的庫隻影響(contaminate)在執行時與之連線的軟體,於僅僅和它一同釋出的軟體無關。

OSI Certified標誌與綱要

開放原始碼定義給出了開放原始碼軟體的基本性質。不幸的是,術語"開放源 程式碼"遭到了濫用,並且由於它的描述性,它不能作為一個商標(這是我們的首選)被保護。由於社團需要一種可靠的方式以確定一份軟體是否真正是開放源 程式碼軟體。OSI為此目的而註冊了一個認證標誌,OSICertified。如果你在一份 軟體上看到了該標誌,那麼該軟體就是必定是按照遵從開放原始碼定義的許可證 釋出的,否則,該發行人就是在濫用該標誌而且違反了法律。

OSI Certified標誌被用於軟體而不是許可證:人們需要知道的是組成軟體的 包和它們的許可證是開放的原始碼。此外,單獨的許可證可能不是"貨物",它由美國專利和商標局註冊認證標誌。但是軟體的作者顯然必須能夠在不詢問我們的 情況下(自我認證)、在適當的時刻確認他們的軟體是按照OSICertified的開放 原始碼方式釋出的。所以認證按照兩步進行:

* OSI提供一個滿足開放軟體原始碼定義的開放原始碼許可證表。這些許可證經過 公眾的詳細審查並且被我們所批准。如果你有一個希望加入該列表的許可證,請與license-approval@open.org聯絡,它啟動了獲得許可證批准的程式。 * 如果你希望在你的軟體上設定OSICertified標誌,你可以從列表中選擇一個獲 得批准的許可證並根據它釋出軟體,並且適當地為軟體做標誌。 上面僅僅是一個概括。下面給出申請批准許可證和把OSICertified標誌應用在你 的軟體上的詳細說明。

獲得許可證的批准

1. 透過電子把許可證傳送給license-approval@opensource.org。在電子郵件中說明你是否願意以你的簽名或者匿名地把許可證傳送到許可證討論列表中。(我們 願意考慮那些根本不希望被髮送的許可證,但由於社團的評審是批准的一個重要組成部分,我們將不得不把該許可證私下地傳送給評審者:因此,對沒有被髮送到許可證 討論列表中的許可證的批准,要花費更長的時間,並且通常要更多地與你交流。)

2. 如果我們發現你的許可證不符合開放原始碼的定義,我們將與你一同解決這個問題。

3. 同時,我們將關注許可證論壇列表,並且與你一同工作以解決大家提出的任何未 包含的問題。

4. 作為該過程的一部分,我們還將就許可證問題向外界尋求法律上的建議。

5. 一旦許可證符合了開放原始碼定義,並且在許可證論壇上經過了充分的討論或者 其它的評審者沒有提出我們認為重要的問題,我們將通知你,許可證已經被批准了,同時它被複制到我們的網站上,並且被加入以下的許可證列表。

使用該標誌

你可以在這兩種軟體的發行上使用OSI Certified標誌。該軟體的釋出包括並且達到 了被批准的許可證列表中某個許可證的要求,或者該軟體的原始碼已經被明確地放到公眾可以得到的位置。

為了表明你的軟體是按照OSI Certified釋出的,你必須不加任何修改地把下面兩者之一,按照下述方式加入你的軟體。完整的宣告是:

This software is OSI Certified Software.

OSI Certified is a certification mark of the Open Source Initiative.

較簡短的宣告是: OSI Certified Open Source Software

你的軟體的每種釋出形式都有自身的要求:

* 如果軟體以電子的形式釋出(而不是實物(tangible)的形式),你必須把完整 的宣告放在README檔案或者類似的、人類使用者將首先閱讀的檔案中。
* 如果軟體以實物形式釋出,你必須完成以下所有可行的任務:

  . 如果軟體的釋出包括印刷品,你必須把完整的宣告加入該印刷品。

  . 如果軟體釋出在可擦寫的媒體(例如軟)、CD-ROM、磁帶等媒體上,它們在物理上可以新增能夠被人的裸眼所閱讀的簡短宣告,而不影響它們的功能,你必須把完整的宣告或簡短的宣告標註在該媒體上。

  . 如果軟體的釋出是一個的包,從而使其中的宣告不能被閱讀。你必須在包的外 面放置完整的宣告。

如果不能把以上任何條款用於釋出,請與我們聯絡,我們將把你選擇的位置加入本列表。

獲得批准的許可證

以下許可證滿足開放原始碼的定義,並且已經被批准用於OSI Certified的開放源 程式碼軟體。沒有給出批准日期的許可證是在1999年1月1日以前批准的。

* The General Public License(GPL);

* The GNU Library(Lesser) General Public License(LGPL);

* The License;

* The X Consortium License;

* The Artistic License;

* The Public License(MPL);

* The QPL;

其它符合定義的許可證包括:libpng許可證、許可證、IJG JPEG許可證和OPL (Open Public License)許可證
 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987517/,如需轉載,請註明出處,否則將追究法律責任。

上一篇: MMX Instructions (轉)
開放原始碼的定義 (轉)
請登入後發表評論 登入
全部評論

相關文章