開源

開源

開源(Open Source,開放源碼)被非盈利軟體組織(美國的Open Source Initiative協會)註冊為認證標記,並對其進行了正式的定義,用於描述那些源碼可以被公眾使用的軟體,並且此軟體的使用、修改和發行也不受許可證的限制。人們需要知道的是組成軟體的包和它們的許可證是開放的原始碼。此外,單獨的許可證可能不是"貨物",它由美國專利和商標局註冊認證標誌。但是軟體的作者顯然必須能夠自我認證、在適當的時刻確認他們的軟體是按照OSI Certified的開放原始碼方式發布的。

基本信息

定義

OpenSource(即開放原始碼)的定義由BrucePerens(曾是Debian的創始人之一)定義如下:
●自由再散布(FreeDistribution):獲得原始碼的人可自由再將此原始碼散布。
·
原始碼(SourceCode):程式的可執行檔在散布時,必需隨附完整
開源領軍人物近照以及部分標誌(7張)
原始碼或是可讓人方便的事後取得原始碼。
衍生著作(DerivedWorks):讓人可依此原始碼修改後,在依照同一授權條款的情形下再散布。
●原創作者程式原始碼的完整性(IntegrityofTheAuthor’sSourceCode):意即修改後的版本,需以不同的版本號碼以與原始的程式碼做分別,保障原始的程式碼完整性。
●不得對任何人或團體有差別待遇(NoDiscriminationAgainstPersonsorGroups):開放原始碼軟體不得因性別、團體、國家、族群等設定限制,但若是因為法律規定的情形則為例外(如:美國政府限制高加密軟體的出口)。
●對程式在任何領域內的利用不得有差別待遇(NoDiscriminationAgainstFieldsofEndeavor):意即不得限制商業使用。
●散布授權條款(DistributionofLicense):若軟體再散布,必需以同一條款散布之。
●授權條款不得專屬於特定產品(LicenseMustNotBeSpecifictoaProduct):若多個程式組合成一套軟體,則當某一開放原始碼的程式單獨散布時,也必需要符合開放原始碼的條件。
●授權條款不得限制其他軟體(LicenseMustNotRestrictOtherSoftware):當某一開放原始碼軟體與其他非開放原始碼軟體一起散布時(例如放在同一光碟片),不得限制其他軟體的授權條件也要遵照開放原始碼的授權。
●授權條款必須技術中立(LicenseMustBeTechnology-Neutral):意即授權條款不得限制為電子格式才有效,若是紙本的授權條款也應視為有效。

區別

開源開源
開源軟體與自由軟體的區別
許多人將開放原始碼與自由軟體(FreeSoftware)視為相同,其實不然。以定義條件而言,自由軟體僅是開放原始碼的一種,也就是說自由軟體的定義較開放原始碼更為嚴格。
並非開放原始碼的軟體就可稱為自由軟體,要視該軟體的授權條件是否合乎自由軟體基金會對自由軟體所下的定義。
1.自由再發行
許可證不能限制任何團體銷售或贈送軟體,軟體可以是幾個不同來源的程式集成後的軟體發行版中的其中一個原件。許可證不能要求對這樣的銷售收取許可證費或其他費用。
2.程式原始碼
程式必須包含原始碼。必須允許發行版在包含編譯形式的同時也包含程式原始碼。當產品以某種形式發行時沒有包含原始碼,必須非常醒目的告知用戶,如何通過Internet免費的下載原始碼。原始碼必須是以當程式設計師修改程式時優先選用的形式提供。故意地擾亂原始碼是不允許的。以預處理程式或翻譯器這樣的中間形式作為原始碼也是不允許的。
3.派生程式
許可證必須允許更改或派生程式。必須允許這些程式按與初始軟體相同的許可證發行。
4.作者原始碼的完整性
只有當許可證允許在程式開發階段,為了調整程式的目的將“修補檔案”的發行版與原始碼一起發行時,許可證才能限制原始碼以更改後的形式發行。許可證必須明確地允許按更改後的原始碼所建立的程式發行。許可證可以要求派生的程式使用與初始軟體不同的名稱或版本號。
5.無個人或團體歧視
許可證不能都有針對任何個人或團體制在專門奮鬥領域內的任何人使用該程式。例如不能限制程式套用於商業領域,或者套用於遺傳研究。
6.對程式在任何領域內的利用不得有差別待遇
該條款的主要目的是禁止許可證中含有使開放原始碼軟體無法在商業上使用的規定。我們需要商業用戶參與我們的工作,而不讓他們感到被排除在外。
7.許可證發行
伴隨程式所具有權力必須適用於所有的程式分銷商,而不需要這些團體之間再附加許可證簽字蓋章。
8.許可證不能特製某個產品
如果程式是某個特殊的軟體發行版中的一部分,伴隨該程式所具有的權力不能只以來於這一發行版。如果程式是從那一發行版中摘錄出來的,使用或發行時用的都是那個程式的許可證,分銷程式的所有團體都應擁有與初始軟體版所允許的所有權力。
9.許可證不能排斥其他軟體
許可證不能限制隨該許可證軟體一起發行的其他軟體。例如,許可證不能要求所有與之一起發行的其他軟體都是開源軟體。
10.許可證實例
GNUGPL、BSD、XConsortiun和Artistic許可證都是我們認為符合開源軟體定義的許可證。MPL也是一樣。

許可證

介紹

開源開源
開放原始碼定義給出了開放原始碼軟體的基本性質。不幸的是,術語"開放原始碼"遭到了濫用,並且由於它的描述性,它不能作為一個商標(這是我們的首選)被保護。由於社團需要一種可靠的方式以確定一份軟體是否真正是開放原始碼軟體。OSI為此目的而註冊了一個認證標誌,OSICertified。如果在一份軟體上看到了該標誌,那么該軟體就是必定是按照遵從開放原始碼定義的許可證發布的,否則,該發行人就是在濫用該標誌而且違反了法律。
許可證將特定的權利賦予用戶,但同時也會規定用戶必須遵守的約束。開源軟體通常使用開源許可證。所有的開源許可證由開放原始碼促進會標準組織(OpensourceInitiative,OSI)認證。
獲得批准的許可證
以下許可證滿足開放原始碼的定義,並且已經被批准用於OSICertified的開放原始碼軟體。沒有給出批准日期的許可證是在1999年1月1日以前批准的。
*TheGNUGeneralPublicLicense(GPL)
*TheGNULibrary(Lesser)GeneralPublicLicense(LGPL)
*TheXConsortiumLicense
*TheArtisticLicense
*TheMozillaPublicLicense(MPL)
*TheQPL
*OpenLDAPPublicLicense
其它符合定義的許可證包括:libpng許可證、zlib許可證、IJGJPEG許可證和BSD許可證。

分類

按照使用條件的不同,開源軟體許可證可以分為三類(嚴苛程度遞減)
1.使用該開源軟體的代碼再散布(redistribute)時,源碼也必須以相同許可證公開。
代表許可類型:GPL,AGPL
例:GPL
GNU通用公共許可協定(英語:GNUGeneralPublicLicense,簡稱GNUGPL或GPL),是一個廣泛被使用的自由軟體許可證條款,最初由理察·斯托曼為GNU計畫而撰寫。GPL是自由軟體基金會的主打許可證,常用的是1991年的第2版和2007年的第3版。
GPL授予程式接受人以下權利:
以任何目的運行此程式的自由;
再發行複製件的自由;
改進此程式,並公開發布改進的自由(前提是能得到原始碼)。
GPL許可協定具有強Copyleft,有“病毒效應”,意味著用戶如果要對GPL許可的軟體或基於GPL許可的軟體的作品做再發行即Redistribution(例如作為用戶的產品的一部分發行),那么必須以不強於GPL許可證限制的條款發行,即必須也是開源和免費,這就是所謂的“傳染性”。
GPL許可協定是目前最流行的開源許可證,被諸多有名的開源軟體使用,例如Linux核心、MySQL資料庫等。
2.使用該開源軟體的代碼並且對開原始碼有所修改後再散布時,源碼必須以相同許可證公開。
代表許可類型:LGPL,CPL,CDDL,CPL,MPL等
例:LGPL
GNU寬通用公共許可協定(英語:GNULibraryGeneralPublicLicense,簡稱LGPL),又名GNU庫通用公共許可證,同樣出自自由軟體基金會,有1999年的2.1版和2007年的3.0版。
LGPL是GPL的寬鬆版,它對產品所保留的權利比GPL少,總的來說,LGPL適合那些用於非GPL或非開源產品的開源類庫或框架。因為GPL要求,使用了GPL代碼的產品必須也使用GPL協定,開發者不允許將GPL代碼用於商業產品。LGPL繞過了這一限制。
LGPL具有弱Copyleft效力,較商業友好:
允許動態連結;
有條件地允許靜態連結
對於LGPL許可的代碼本身做了修改,那么再發行就必須使用LGPL或GPL許可證進行。
3.使用該開源軟體的代碼(包括修改)再散布(redistribute)時,沒有特殊限制,只需要明記許可。
代表許可類型:ASL,BSD,MIT等
例:MIT
MIT協定可能是幾大開源協定中最寬鬆的一個,由麻省理工學院在1988年推出,又名X11許可證或者X許可證,有不少變種。
核心條款是:該軟體及其相關文檔對所有人免費,可以任意處置,包括使用,複製,修改,合併,發表,分發,再授權,或者銷售。唯一的限制是,軟體中必須包含上述著作權和許可提示。
這意味著:你可以自由使用,複製,修改,可以用於自己的項目。可以免費分發或用來盈利。唯一的限制是必須包含許可聲明。MIT協定是所有開源許可中最寬鬆的一個,除了必須包含許可聲明外,再無任何限制。
例:BSD
BSD許可證源自加州大學伯克利分校,所有者是加州大學的董事會。跟其他許可證相比,從GNU通用公共許可證(GPL)到限制重重的著作權(Copyright),BSD許可證比較寬鬆,甚至跟公有領域更為接近。事實上,BSD許可證被認為是copycenter(中間著作權),界乎標準的copyright與GPL的copyleft之間。"Takeitdowntothecopycenterandmakeasmanycopiesasyouwant"。[1]可以說,GPL強迫後續版本必須一樣是自由軟體,BSD的後續版本可以選擇要繼續是BSD或其他自由軟體條款或封閉軟體等等。
該協定有多種版本,不同項目發行的BSD許可證不同,比如Apple的BSD許可證與4.4BSDLite衍生作業系統的BSD許可證最主要的版本有兩個,新BSD協定與簡單BSD協定,這兩種協定經過修正,都和GPL兼容,並為開源組織所認可。
新BSD協定(3條款協定)在軟體分發方面,除需要包含一份著作權提示和免責聲明之外,沒有任何限制。另外,該協定還禁止拿開發者的名義為衍生產品背書,但簡單BSD協定刪除了這一條款。

批准

1.通過電子郵件把許可證傳送給[email protected]。在電子郵件中說明你是否願意以你的簽名或者匿名地把許可證傳送到許可證討論列表中。(我們願意考慮那些根本不希望被傳送的許可證,但由於社團的評審是批准的一個重要組成部分,我們將不得不把該許可證私下地傳送給評審者:因此,對沒有被傳送到許可證討論列表中的許可證的批准,要花費更長的時間,並且通常要更多地與你交流。)
2.如果我們發現你的許可證不符合開放原始碼的定義,我們將與你一同解決這個問題。
3.同時,我們將關注許可證論壇列表,並且與你一同工作以解決大家提出的任何未包含的問題。
4.作為該過程的一部分,我們還將就許可證問題向外界尋求法律上的建議。
5.一旦許可證符合了開放原始碼定義,並且在許可證論壇上經過了充分的討論或者其它的評審者沒有提出重要的問題,我們將通知你,許可證已經被批准了,同時它被複製到我們的網站上,並且被加入以下的許可證列表。

軟體套用

開源開源
OSICertified標誌被用於軟體而不是許可證:人們需要知道的是組成軟體的包和它們的許可證是開放的原始碼。此外,單獨的許可證可能不是"貨物",它由美國專利和商標局註冊認證標誌。但是軟體的作者顯然必須能夠自我認證、在適當的時刻確認他們的軟體是按照OSICertified的開放原始碼方式發布的。所以認證按照兩步進行:*OSI提供一個滿足開放軟體原始碼定義的開放原始碼許可證表。這些許可證經過公眾的詳細審查並且被批准。與[email protected]聯繫,它啟動了獲得許可證批准的程式。
*如果在軟體上設定OSICertified標誌,可以從列表中選擇一個獲得批准的許可證並根據它發布軟體,並且適當地為軟體做標誌。
使用該標誌
你可以在這兩種軟體的發行上使用OSICertified標誌。該軟體的發布包括並且達到了被批准的許可證列表中某個許可證的要求,或者該軟體的原始碼已經被明確地放到公眾可以得到的位置。
為了表明你的軟體是按照OSICertified發布的,你必須不加任何修改地把下面兩者之一,按照下述方式加入你的軟體。完整的聲明是:
ThissoftwareisOSICertifiedOpenSourceSoftware.
OSICertifiedisacertificationmarkoftheOpenSourceInitiative.
較簡短的聲明是:
OSICertifiedOpenSourceSoftware
你的軟體的每種發布形式都有自身的要求:
*如果軟體以電子的形式發布(而不是實物(tangible)的形式),你必須把完整的聲明放在README檔案或者類似的、人類用戶將首先閱讀的檔案中。
*如果軟體以實物形式發布,你必須完成以下所有可行的任務。
*如果軟體的發布包括印刷品,你必須把完整的聲明加入該印刷品。
*如果軟體發布在可擦寫的媒體(例如軟磁碟)、CD-ROM、磁帶等媒體上,它們在物理上可以添加能夠被人的裸眼所閱讀的簡短聲明,而不影響它們的功能,你必須把完整的聲明或簡短的聲明標註在該媒體上。
*如果軟體的發布是一個包,從而使其中的聲明不能被閱讀,你必須在包的外面放置完整的聲明。
如果不能把以上任何條款用於發布,請與我們聯繫,我們將把你選擇的位置加入本列表。

發展緩慢

1、中國教育依舊落後
雖然中國的IT職業教育學校和全日制的本專科院校每年可以向中國IT界輸入大量的新人,但是整個IT教育依舊處在落後地位。大多數的學校的教學內容非常偏重於C/S程式(比如非常熱門的java,.net)這些內容相比真正的開發真的太過簡單。如何讓學生可以學到更多複雜的程式開發技術是中國教育界多年來始終無法解決的一大問題,如果中國的教育還是跟不上全球的技術發展和全球的消費者行為的話,社區還依然沒有機會實現繁榮。
2、個性的缺失是中國oss社區發展最大的悲哀
中國是一個有著五千年文化的傳統型國家,個性創新在中國這個特定的環境中並不能得到更好的發展。越來越多的人希望自己可以成為和別人一樣的人,這將讓這些本有機會個性創新的人才們在他們人生最重要的時刻錯過了最重要的事情,所以個性的缺失是中國oss社區發展最大的悲哀。
3、英語水平
目前OSS的概念在國外是最火熱的,所以如果沒有良好的英語基礎是難以推動OSS發展,跟上世界技術潮流的。雖然國小從三年級開始就學習英語,但是相比里最基本的OSS英語基礎還有了不小的距離。
4、中國人不夠主動
很多OSS社區的領導人,oss活動的發起人都是外國人,中國人一般都不太樂意去發起甚至參加這類可以學到更多技術的活動。哪怕要他們作為一名本地的東道主去外國人發起的OSS活動中分享一下自己的經驗,他們也會覺得中國人的技術不應該外流,但其實正因為中國人不夠主動,中國人也很難通過OSS社區了解到最新的技術。

相關搜尋

熱門詞條

聯絡我們