標籤: 暫無標籤

開源(Open Source,開放源碼)被非贏利軟體組織(美國的Open Source Initiative協會)註冊為認證標記,並對其進行了正式的定義,用於描述那些源碼可以被公眾使用的軟體,並且此軟體的使用、修改和發行也不受許可證的限制。

1 開源 -基本簡介

開源開源

開放源碼軟體通常是有版權 ( copyright ) 的,它的許可證可能包含這樣一些限制:著意地保護它的開放源碼狀態,著者身份的公告,或者開發的控制。實際上,開源軟體同時涉及源碼本身和開發過程,涵蓋了三個方面的意義:免費分發的源代碼、模塊化的體系和集市式的開發--在這種開發方式中,任何地方的任何人都可以參與最終產品的製造,三個方面互相之間有密切的聯繫,集市式的開發過程給開源軟體以強大的改錯能力,因為它將程序中的錯誤公開給了數量巨大的觀眾,他們都是潛在的改錯者。另一方面,任何人都可以復用和發行開源軟體的代碼這一事實又支持了公眾利益,因為創新的觀念被整個集市所共享。另外,「open source」這一術語還被延伸到其他智力團體中,指那些可通過公開手段獲得的智力資源,比如報紙、教學課件等。

美國在像網路這樣的虛擬環境中,驅動系統的底層代碼,尤其是廣為人知的那些應用程序之間的通信協議,它們在某種意義上很像現實社會中的法規。換句話說,這些代碼對網上的行為給出了一些規範,它鼓勵某些行為,而限制其他行為,就像現實社會的法律一樣。因此,開放源碼帶來了一個更民主的開發方式,在這種方式下,好的主意將被集體分享,而不是作為智力資本被個人秘藏著。在這種意義上,開放源碼實質上成為一種政治哲學。

開放源碼的精神在於使用者可以使用、複製、散布、研究、改進軟體。最早可以回朔到1960 年代。當時,售賣大型計算機的廠商如IBM,把一些軟體及原始碼一併送給客戶,讓客戶能夠因不同需求而自行更改軟體。在 1991-1992 年期間,住在芬蘭的Linus Torvald製造了第一版的 Linux 操作系統。在一群熱心的程序人員努力下,把 Linux 操作系統以及外圍的應用程序逐一打造。
出名的作品除了趨於成熟的Linux 操作系統外,還有Apache網頁伺服器、Perl 程序語言、MySQL 資料庫、Mozilla 瀏覽器、open office等等。近來,在政府的推動及各軟體大廠(如IBM、Redhat、Apple 等)的推動下,預料這股旋風將會掀起新的軟體革命。源代碼開放是信息技術發展引發網路革命所帶來的面向未來以開放創新、共同創新為特點的、以人為本的創新2.0模式在軟體行業的典型體現和生動註解。

2 開源 -版本版權

開源開源
開放原始碼軟體是以全世界有抱負有理想的工程師為研發團隊,持續不斷的創造及改進新一代的軟體產品。 它的精神不在於收取軟體的使用費用,而在於分享,所以不收費,但是使用者需要尊重原著作者的創作以及相對應開放原始碼的版權問題。

開放原始碼軟體就是正版軟體,隨著使用者的增加,開放原始碼軟體趨於精緻產品化,功能介面甚至不輸給高價位的商用軟體。

全世界有超過幾萬套開放原始碼軟體,從網頁瀏覽器、文書處理工具、操作系統以至於企業應用程序等一應俱全。

版權常見問題

常見問題

ASF

BSD

CPL

GPL

LGPL

LGPL*

MIT

得到這些原始著作后,散布(distribute) 時是否可收取高於散布成本之費用

否*

否*

否*

散布時是否必須連同原始碼一起散布

是否可再授權

是否得與非自由軟體整合

把原始著作放在自創的軟體里,是否必須使用與原著作完全一致的授權條款

是否必須公開原始碼

是否必須附加原著作之著作權聲明

是否必須附加說明文件
例如,說明所修改的範圍與修改時間

3 開源 -定義標準

開源開源
關於開放源代碼的定義

開放源代碼並不僅僅意味著對源代碼的訪問權。開放源代碼軟體的發布條款必須滿足以下條件:

1、自由地再發布

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

2、源代碼

程序必須包括源代碼,必須允許以源代碼方式發布、還必須允許以編譯后的形式發布。如果產品的某個部分沒有與源代碼一同發布,那麼必須提供通行的、不需要支付合理範圍之外的任何費用的手段以獲得源代碼――從網路上免費下載是一種可取的方式。源代碼必須是程序員對其進行修改的最佳形式。故意地使源代碼變得含混晦澀是不允許的。也不允許給出預處理器或翻譯器處理的中間結果。

3、派生作品

許可證必須允許修改軟體和派生軟體,並且必須允許它們按照原軟體的許可證的條款進行發布。

4、作者的源代碼的完整性

只有在許可證允許與源代碼一同發布「補丁文件」(該「補丁文件」以在創建時對程序進行修改為目的)時,許可證才能限制對修改形式的源代碼的發布。許可證必須明確地允許發布由修改後的源代碼生成的程序。許可證可以要求派生的作品採用不同的名稱或不同的版本號以區別於原來的軟體。

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

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

6、不得歧視任何應用領域(fieldsofendeavor)

許可證不得限制任何人把程序應用於任何領域。例如,不得規定程序不能應用於商業領域或基因研究領域。

7、許可證的發布

與程序有關的權利必須適用於該程序的任何使用者,並且程序的使用者也不需要為了使用該程序而獲得其它許可證的許可。

8、許可證不能針對於一個產品

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

9、許可證不能影響其它軟體

許可證不得向與採用它的軟體一同發布的其它軟體提出任何限制。例如,許可證不能堅持要求在同一媒體上發布的其它程序都是開放源代碼軟體。

4 開源 -定義原理

開源開源
本開放源代碼定義涵蓋了由絕大多數軟體團體使用的術語「開放源代碼」的最初含義和當前含義。然而,該術語被廣泛地應用,並且它的含義變得不精確了。OSICertified標誌是某個軟體發布許可證是否服從開放源代碼定義的OST認證方式。一般的術語「開放源代碼」並不提供這種擔保,但仍然鼓勵使用「開放源代碼」這一術語以表明它符合「開放源代碼定義」。關於OSICertified標誌的信息,以及已經通過了OSICertified、符合「開放源代碼定義」的許可證。

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

為了使此項工作持續發展,必須抵制人們為了短期利益而中止為軟體開發做出貢獻。這意味著,許可證的條款必須防止人們藏匿(lockup)源代碼從而導致只有很少的人才能夠閱讀和修改它。當軟體的開發者按照由OSI認證的許可證發布他們的軟體時,他們可以在軟體中使用「OSICertified」標誌。這種認證標誌告知用戶,該軟體所採用的許可證符合開放源代碼定義。

開放源代碼軟體的發布者有權為他們自己的軟體做出選擇。GPL滿足這條要求。按GPL發布的庫隻影響(contaminate)在運行時與之連接的軟體,於僅僅和它一同發布的軟體無關。

5 開源 -標誌綱要

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

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

OSI提供一個滿足開放軟體源代碼定義的開放源代碼許可證表。這些許可證經過公眾的詳細審查並且被所批准。如果你有一個希望加入該列表的許可證,請與license-approval@opensource.org聯繫,它啟動了獲得許可證批准的程序。

如果你希望在你的軟體上設置OSICertified標誌,你可以從列表中選擇一個獲得批准的許可證並根據它發布軟體,並且適當地為軟體做標誌。上面僅僅是一個概括。下面給出申請批准許可證和把OSICertified標誌應用在你的軟體上的詳細說明。

6 開源 -許可審批

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

2、如果發現你的許可證不符合開放源代碼的定義,將與你一同解決這個問題。

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

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

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

7 開源 -標識聲明

開源開源
可以在這兩種軟體的發行上使用OSI Certified標誌。該軟體的發布包括並且達到了被批准的許可證列表中某個許可證的要求,或者該軟體的源代碼已經被明確地放到公眾可以得到的位置。為了表明你的軟體是按照OSI Certified發布的,你必須不加任何修改地把下面兩者之一,按照下述方式加入你的軟體。

完整的聲明是:
This software is OSI Certified Open Source 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 GNU General Public License(GPL);
The GNU Library(Lesser) General Public License(LGPL);
The BSD License;
The X Consortium License;
The Artistic License;
The Mozilla Public License(MPL);
The QPL;

其它符合定義的許可證包括:libpng許可證、zlib許可證、IJGJPEG許可證和OPL(Open LDAP Public License)許可證。

上一篇[國美掃黃]    下一篇 [Mozilla Suite]

相關評論

同義詞:暫無同義詞