開源定義(The Open Source Definition)
開源定義(The Open Source Definition)是開放原始碼促進會(OSI)所制定的內容,其目的在促進開放原始碼自由的修改與發佈。
引言
開源不僅僅是指可以存取原始碼。開源軟體的分發(distribution)條款必須符合以下標準:
1. 自由再發佈
授權條款不得限制任何團體將軟體作為整合集成軟體的一部分進行銷售或贈送,即使其中包含來自多個不同來源的程式。授權條款不得要求在這種銷售中支付版稅或其他費用。
2. 原始碼
程式必須包含原始碼,必須允許以原始碼形式和編譯後形式發佈。如果某產品的一部分沒有以原始碼形式提供,必須有公開的途徑以不超過合理的複製成本(最好是透過網際網路免費下載)獲取原始碼。原始碼必須是程式設計師修改程式所偏好的形式。不允許故意混淆的原始碼。中間形式如預處理器或翻譯器的輸出是不被允許的。
3. 衍生作品
授權必須允許修改及衍生作品,並允許在與原始軟體相同的條款下分發這些作品。
4. 保持作者原始碼的完整性
授權可能限制原始碼以修改過的形式分發,但僅在授權允許在組建時透過原始碼「修補檔(patch files)」進行程式修改的情況下。授權必須明確允許從修改後的原始碼生成的軟體分發。授權可能要求衍生作品使用與原始軟體不同的名稱或版本號。
5. 不得歧視個人或團體
授權不得歧視任何個人或團體。
6. 不得歧視使用領域
授權不得限制任何人在特定領域使用程式。例如,不得限制程式用於商業用途或基因研究。
7. 授權的分發
與程式相關的權利必須適用於所有被再分發該程式的人,而不需這些團體執行額外的授權。
8. 授權不得限於特定產品
與程式相關的權利不應依賴於該程式作為特定軟體分發的一部分。如果程式從該分發中取出並在程式授權的條款下使用或分發,所有被再分發的團體應享有與原始軟體分發中授予的相同權利。
9. 授權不得限制其他軟體
授權不得對與被授權軟體一起分發的其他軟體施加限制。例如,授權不得要求所有在同一介質上分發的其他程式都必須是開源軟體。
10. 授權必須技術中立
授權的條款不得依賴於任何特定技術或介面風格。