基本概括
從發行角度定義的開源軟體必須符合如下條件:
開源軟體條件
1、自由再發行
許可證不能限制任何團體銷售或贈送軟體,軟體可以是幾個不同來源的程式集成後的軟體發行版中的其中一個原件。許可證不能要求對這樣的銷售收取許可證費或其他費用。
2、程式原始碼
程式必須包含原始碼。必須允許發行版在包含編譯形式的同時也包含程式原始碼。當產品以某種形式發行時沒有包含原始碼,必須非常醒目的告知用戶,如何通過 Internet免費的下載原始碼。原始碼必須是以當程式設計師修改程式時優先選用的形式提供。故意地擾亂原始碼是不允許的。以預處理程式或翻譯器這樣的中間 形式作為原始碼也是不允許的。
3、派生程式
許可證必須允許更改或派生程式。必須允許這些程式按與初始軟體相同的許可證發行。
4、作者原始碼的完整性
只有當許可證允許在程式開發階段,為了調整程式的目的將“修補檔案”的發行版與原始碼一起發行時,許可證才能限制原始碼以更改後的形式發行。許可證必須明確地允許按更改後的原始碼所建立的程式發行。許可證可以要求派生的程式使用與初始軟體不同的名稱或版本號。
5、無個人或團體歧視
許可證不能都有針對任何個人或團體制在專門奮鬥領域內的任何人使用該程式。例如不能限制程式套用於商業領域,或者套用於遺傳研究。
7、許可證發行
伴隨程式所具有權力必須適用於所有的程式分銷商,而不需要這些團體之間再附加許可證簽字蓋章。
8、許可證不能特製某個產品
如果程式是某個特殊的軟體發行版中的一部分,伴隨該程式所具有的權力不能只以來於這一發行版。如果程式是從那一發行版中摘錄出來的,使用或發行時用的都是那個程式的許可證,分銷程式的所有團體都應擁有與初始軟體版所允許的所有權力。
9、許可證不能排斥其他軟體
許可證不能限制隨該許可證軟體一起發行的其他軟體。例如,許可證不能要求所有與之一起發行的其他軟體都是開源軟體。
10、許可證實例
GNU GPL、BSD、X Consortiun和Artistic許可證都是我們認為符合開源軟體定義的許可證。MPL也是一樣。
我們認為本開放原始碼定義涵蓋了由絕大多數軟體團體使用的術語"開放原始碼"的最初含義和當前含義。然而,該術語被廣泛地套用,並且它的含義變得不精確了。OSI Certified標誌是某個軟體發布許可證是否服從開放原始碼定義的OST認證方式。一般的術語"開放原始碼"並不提供這種擔保,但我們仍然鼓勵使用“開放原始碼”這一術語以表明它符合“開放原始碼定義”。關於OSI Certified標誌的信息,以及已經通過了OSI Certified、符合“開放原始碼定義”的許可證,請參見OSI Certified標誌與綱要。
定義之原理
給出開放原始碼的定義的目的是:把我們所確信的、由軟體開發團體所公認的"開放原始碼"的含義作為一組具體的準則寫下來---該準則確保按照開放原始碼許可證發布的軟體可以得到與其它軟體同樣認真的評審、使軟體可以不斷地得到改良和遴選,從而提供非開放軟體所難以提供的可靠性與能力。
為了使此項工作持續發展,我們必須抵制人們為了短期利益而中止為軟體開發做出貢獻。這意味著,許可證的條款必須防止人們藏匿(lock up)原始碼從而導致只有很少的人才能夠閱讀和修改它。
當軟體的開發者按照由OSI認證的許可證發布他們的軟體時,他們可以在軟體中使用"OSI Certified"標誌。這種認證標誌告知用戶,該軟體所採用的許可證符合開放原始碼定義。關於我們的認證標誌的更多信息及其綱要,請參見OSI Certified標誌與綱要。
是的,GPL滿足這條要求。按GPL發布的庫只影響(contaminate)在運行時與之連線的軟體,於僅僅和它一同發布的軟體無關。 OSI Certified標誌與綱要
其他信息
開放原始碼定義給出了開放原始碼軟體的基本性質。不幸的是,術語"開放原始碼"遭到了濫用,並且由於它的描述性,它不能作為一個商標(這是我們的首選)被保護。由於社團需要一種可靠的方式以確定一份軟體是否真正是開放原始碼軟體。OSI為此目的而註冊了一個認證標誌,OSI Certified。如果你在一份軟體上看到了該標誌,那么該軟體就是必定是按照遵從開放原始碼定義的許可證發布的,否則,該發行人就是在濫用該標誌而且違反了法律。
OSI Certified標誌被用於軟體而不是許可證:人們需要知道的是組成軟體的包和它們的許可證是開放的原始碼。此外,單獨的許可證可能不是"貨物",它由美國專利和商標局註冊認證標誌。但是軟體的作者顯然必須能夠在不詢問我們的情況下(自我認證)、在適當的時刻確認他們的軟體是按照OSI Certified的開放原始碼方式發布的。
所以認證按照兩步進行: * OSI提供一個滿足開放軟體原始碼定義的開放原始碼許可證表。這些許可證經過公眾的詳細審查並且被我們所批准。如果你有一個希望加入該列表的許可證,請與[email protected]聯繫,它啟動了獲得許可證批准的程式。 * 如果你希望在你的軟體上設定OSI Certified標誌,你可以從列表中選擇一個獲得批准的許可證並根據它發布軟體,並且適當地為軟體做標誌。
上面僅僅是一個概括。下面給出申請批准許可證和把OSI Certified標誌套用在你的軟體上的詳細說明。
許可證的批准
1.通過電子郵件把許可證傳送給[email protected]。在電子郵件中說明你是否願意以你的簽名或者匿名地把許可證傳送到許可證討論列表中。(我們願意考慮那些根本不希望被傳送的許可證,但由於社團的評審是批准的一個重要組成部分,我們將不得不把該許可證私下地傳送給評審者:因此,對沒有被傳送到許可證討論列表中的許可證的批准,要花費更長的時間,並且通常要更多地與你交流。)
2.如果我們發現你的許可證不符合開放原始碼的定義,我們將與你一同解決這個問題。
3.同時,我們將關注許可證論壇列表,並且與你一同工作以解決大家提出的任何未包含的問題。
4.作為該過程的一部分,我們還將就許可證問題向外界尋求法律上的建議。
5. 一旦許可證符合了開放原始碼定義,並且在許可證論壇上經過了充分的討論或者其它的評審者沒有提出我們認為重要的問題,我們將通知你,許可證已經被批准了,同時它被複製到我們的網站上,並且被加入以下的許可證列表。