開放源碼

所有的軟體都用源碼編寫,並通過編譯最終生成系統或套用。開放源碼軟體保證所有人可以得到這些代碼,這意味著沒有一個公司可以完全獨占它。開放源碼意味著自由選擇的權力,而自由選擇意味著激發更多創新的能量。

簡介

我們深信開放源碼在軟體發展過程中是必然的。它把控制權交還給使用者和客戶。您可以查看系統運作的所有源碼,或進行修改,或從中汲取相關的知識。系統缺陷和漏洞可以更快地被發現並加以修正。並且,當客戶不滿意一個供應商的服務,他們可以選擇更好的服務提供商來建設他們的信息基礎設施。沒有技術的壁壘,也沒有市場的壟斷。
同時,我們深信開放源碼有利於開發更高質量,更穩定可靠的軟體系統。它可以幾何級數地提升各個公司的開發能力。大家協同工作,最好的軟體將獲得認可和勝利。我們不再局限於一個公司的小範圍開發,我們在基於網際網路的世界範圍的合作團體和社區內工作,並通過網際網路即時地傳遞新的想法和代碼,促進整個軟體開發的進步和繁榮。
因此,開放源碼的模式可以幫助開發出更高質量,更安全,更易用的集成軟體。它的確使軟體開發的步伐邁得更加快速,並有效降低了成本。

技術介紹

概括地說,開放源碼是一種協作。更具體地說,它是軟體項目上的公共協作。IBM 在開放源碼方面作出了巨大貢獻,奉獻了 120 多個項目,其中包括耗資超過 10 億的 Linux® 開發。根據開放源碼促進會(Open Source Initiative,OSI)的定義,可將開放源碼定義為:“開放源碼通過支持原始碼的獨立同業互查(independent peer review)和快速發展演變提高了軟體的可靠性和質量。要通過 OSI 認證,軟體必須在獲得許可證的情況下發布,該許可證可保證免費讀取、重新發布、修改和使用該軟體的權利。”
開放源碼還經常套用於個人、組織和公司的民眾運動,尋求將這類軟體融入主流套用的方法。根據開放源碼促進會的定義,開放源碼由10點組成,下面對這10點進行了複述。開放源碼並不只意味著訪問原始碼。

開放源碼軟體的標準

1. 免費重新發布
當軟體是幾個不同來源的程式集成後的軟體發行版本中的其中一個組件時,許可證不能限制任何團體銷售或分發該軟體,並且不能向這樣的銷售或分發收取許可費和其他費用。
2. 原始碼
程式必須包含原始碼,並且必須允許以原始碼或已編譯的形式發布。如程式在發布時未帶原始碼,則必須以一種非常公開的方式,在不超過合理重造成本的情況下,讓人們獲得原始碼,例如可以在不收取費用的情況下,放在網路上供人們下載。原始碼無疑是編程人員最容易修改程式的形式。不允許故意混亂原始碼。也不允許使用中間形式,比如預處理器或轉換器的輸出。
3. 衍生產品
許可證必須允許修改原產品和衍生產品,並且必須允許在與原始軟體相同的授權情況下發布修改過的產品。
4. 作者的原始碼的完整性
許可證可以禁止他人以修改過的形式發布原始碼,只在該許可證基於修改程式的目的時,才允許隨原始碼發布 “補丁檔案”。該許可證必須明確允許發布根據修改過的原始碼構建的軟體。許可證可能要求衍生產品必須附加不同於原始軟體的名稱或版本號。
5. 不得歧視任何人或團體
許可證不得歧視任何人或任何團體。
6. 不得歧視程式在任何領域內的使用
許可證不得禁止任何人在特定領域內使用某一程式。例如,不得禁止程式在商業上的套用,或者在基因研究上的使用。
7. 許可證的發布
附加在程式上的權利必須套用於那些使用重新發布的程式的人,無需通過其他人額外加以授權使用。
8. 許可證不得專屬於特定產品
附屬於程式的權利不得僅限於作為特定軟體發行版一部分的程式。如果程式衍生自該發行版並以獲得該程式的授權的名義被使用或發布,則使用重新發布的該程式的其他所有人應該享有原始軟體發行版本中所授予的那些權利。
9. 許可證不得對其他軟體加以限制
許可證不得對其他隨已許可的軟體一起發布的軟體附加任何限制。例如,不得規定在相同媒體上發布的其他所有程式接受該許可證的限制。
10. 許可證必須是技術中立的

相關詞條

相關搜尋

熱門詞條

聯絡我們