熱心網(wǎng)友
什么是源代碼?很簡單,源代碼就是我們看到的軟件的源文件。關(guān)于開放源代碼的定義 (1。7版) 開放源代碼并不僅僅意味著對源代碼的訪問權(quán)。開放源代碼軟件的發(fā)布 條款必須滿足以下條件: 1. 自由地再發(fā)布 如果被發(fā)布的軟件是由不同來源的程序組成的,許可證不得限制任何當(dāng) 事人或組織(party)銷售或贈送作為被發(fā)布軟件成分之一的開放源碼軟件。 許可證不得從此項銷售中索取使用費或其它任何費用。(理由) 2. 源代碼 程序必須包括源代碼,必須允許以源代碼方式發(fā)布、還必須允許以編譯 后的形式發(fā)布。如果產(chǎn)品的某個部分沒有與源代碼一同發(fā)布,那么必須提供通行的、不需要支付合理范圍之外的任何費用的手段以獲得源代碼---從 網(wǎng)絡(luò)上免費下載是一種可取的方式。源代碼必須是程序員對其進行修改的最佳形式。故意地使源代碼變得含混晦澀是不允許的。也不允許給出預(yù)處理 器或翻譯器處理的中間結(jié)果。(理由) 3. 派生作品 許可證必須允許修改軟件和派生軟件,并且必須允許它們按照原軟件的 許可證的條款進行發(fā)布。(理由) 4. 作者的源代碼的完整性 只有在許可證允許與源代碼一同發(fā)布"補丁文件"(該"補丁文件"以在創(chuàng)建時對程序進行修改為目的)時,許可證才能限制對修改形式的源代碼的 發(fā)布。許可證必須明確地允許發(fā)布由修改后的源代碼生成的程序。許可證可以要求派生的作品采用不同的名稱或不同的版本號以區(qū)別于原來的軟件。 (理由) 5. 不得歧視任何個人或團體 許可證不得歧視任何個人或者由多人組成的團體。(理由) 6. 不得歧視任何應(yīng)用領(lǐng)域(fields of endeavor) 許可證不得限制任何人把程序應(yīng)用于任何領(lǐng)域。例如,不得規(guī)定程序不能應(yīng)用于商業(yè)領(lǐng)域或基因研究領(lǐng)域。(理由) 7. 許可證的發(fā)布 與程序有關(guān)的權(quán)利必須適用于該程序的任何使用者,并且程序的使用者 也不需要為了使用該程序而獲得其它許可證的許可。(理由) 8. 許可證不能針對于一個產(chǎn)品 與程序有關(guān)的權(quán)利不能由該程序是否作為某個軟件產(chǎn)品的一部分來決定。 如果程序從那個發(fā)布中被抽出來,并且按照程序的許可證的條款進行使用 和發(fā)布,那么得到該程序的當(dāng)事人或組織將獲得與得到原程序的使用者相同的權(quán)利。(理由) 9. 許可證不能影響其它軟件 許可證不得向與采用它的軟件一同發(fā)布的其它軟件提出任何限制。例如, 許可證不能堅持要求在同一媒體上發(fā)布的其它程序都是開放源代碼軟件。 (理由) Conformance (本節(jié)不是開放源代碼定義的一個部分) 我們認為本開放源代碼定義涵蓋了由絕大多數(shù)軟件團體使用的術(shù)語"開放 源代碼"的最初含義和當(dāng)前含義。然而,該術(shù)語被廣泛地應(yīng)用,并且它的含義變得不精確了。OSI Certified標志是某個軟件發(fā)布許可證是否服從開放 源代碼定義的OST認證方式。一般的術(shù)語"開放源代碼"并不提供這種擔(dān)保,但我們?nèi)匀还膭钍褂?開放源代碼"這一術(shù)語以表明它符合"開放源代碼定義"。 關(guān)于OSI Certified標志的信息,以及已經(jīng)通過了OSICertified、符合"開放 源代碼定義"的許可證,請參見OSI Certified標志與綱要。 開放源代碼定義之原理 給出開放源代碼的定義的目的是:把我們所確信的、由軟件開發(fā)團體所公 認的"開放源代碼"的含義作為一組具體的準則寫下來---該準則確保按照開放源代碼許可證發(fā)布的軟件可以得到與其它軟件同樣認真的評審、使軟件可 以不斷地得到改良和遴選,從而提供非開放軟件所難以提供的可靠性與能力。 為了使此項工作持續(xù)發(fā)展,我們必須抵制人們?yōu)榱硕唐诶娑兄篂檐浖_發(fā)做出貢獻。這意味著,許可證的條款必須防止人們藏匿(lockup)源代 碼從而導(dǎo)致只有很少的人才能夠閱讀和修改它。 當(dāng)軟件的開發(fā)者按照由OSI認證的許可證發(fā)布他們的軟件時,他們可以在軟件中使用"OSI Certified"標志。這種認證標志告知用戶,該軟件所采用的許可 證符合開放源代碼定義。關(guān)于我們的認證標志的更多信息及其綱要,請參見OSI Certified標志與綱要。 1. 自由地再發(fā)布 通過強制要求許可證允許自由地再發(fā)布,我們抵制了任何為了獲得少量短期 銷售金額而放棄長期效益的誘惑。如果我們不這樣做,就會有很多壓力迫使合作者放棄承諾。 2. 源代碼 由于軟件只有通過修改才能夠得到改進,因此我們要求獲得易于理解的源代 碼。因為我們的目的是使軟件易于改進,我們也就希望軟件易于修改。 3. 派生作品 僅僅提供可以閱讀的源代碼,對于實施認真的評審、對于軟件的快速改良與 遴選來說都是不夠的。為了加快改進軟件的速度,人們需要能夠進行試驗和對修改進行重新發(fā)布。 4. 作者的源代碼的完整性 鼓勵對軟件進行各種改進是一件好事,但使用者有權(quán)知道誰應(yīng)該對他們所使用的軟件負責(zé)。軟件的作者和維護者都有權(quán)知道需要他們提供支持的軟件是什 么,以維護他們的名譽。 因此,開放軟件許可證必須保證可以容易地得到源代碼,但可以要求源代碼以原始源代碼和一組補丁文件的形式發(fā)布。按照這種方式,就可以獲得"非正 式的"的修改而同時又可以輕易地把它們從原始源代碼中區(qū)分出來。 5. 不得歧視任何個人或團體 為了從該進程中獲得最大的收益,應(yīng)該給盡可能多的個人和團體以同等資格對開放源代碼軟件做出貢獻。為此我們禁止開放源代碼許可證把任何人排除在 這個進程之外。 6. 不得歧視任何應(yīng)用領(lǐng)域(fields of endeavor) 該條款的主要目的是禁止許可證中含有使開放源代碼軟件無法在商業(yè)上使用的規(guī)定。我們需要商業(yè)用戶參與我們的工作,而不讓他們感到被排除在外。 7. 許可證的發(fā)布 本條款的目的是禁止通過非直接的手段,例如需要簽署非公開的協(xié)定,使軟 件無法公開。 8. 許可證不能針對于一個產(chǎn)品 本條款用于預(yù)防其它許可證陷阱。 9. 許可證不能影響其它軟件 開放源代碼軟件的發(fā)布者有權(quán)為他們自己的軟件做出選擇。 是的,GPL滿足這條要求。按GPL發(fā)布的庫只影響(contaminate)在運行時與之連接的軟件,于僅僅和它一同發(fā)布的軟件無關(guān)。 OSI Certified標志與綱要 開放源代碼定義給出了開放源代碼軟件的基本性質(zhì)。不幸的是,術(shù)語"開放源 代碼"遭到了濫用,并且由于它的描述性,它不能作為一個商標(這是我們的首選)被保護。由于社團需要一種可靠的方式以確定一份軟件是否真正是開放源 代碼軟件。OSI為此目的而注冊了一個認證標志,OSICertified。如果你在一份 軟件上看到了該標志,那么該軟件就是必定是按照遵從開放源代碼定義的許可證 發(fā)布的,否則,該發(fā)行人就是在濫用該標志而且違反了法律。 OSI Certified標志被用于軟件而不是許可證:人們需要知道的是組成軟件的 包和它們的許可證是開放的源代碼。此外,單獨的許可證可能不是"貨物",它由美國專利和商標局注冊認證標志。但是軟件的作者顯然必須能夠在不詢問我們的 情況下(自我認證)、在適當(dāng)?shù)臅r刻確認他們的軟件是按照OSICertified的開放 源代碼方式發(fā)布的。所以認證按照兩步進行: * OSI提供一個滿足開放軟件源代碼定義的開放源代碼許可證表。這些許可證經(jīng)過 公眾的詳細審查并且被我們所批準。如果你有一個希望加入該列表的許可證,請與license-approval@ 聯(lián)系,它啟動了獲得許可證批準的程序。 * 如果你希望在你的軟件上設(shè)置OSICertified標志,你可以從列表中選擇一個獲 得批準的許可證并根據(jù)它發(fā)布軟件,并且適當(dāng)?shù)貫檐浖鰳酥尽?上面僅僅是一個概括。下面給出申請批準許可證和把OSICertified標志應(yīng)用在你 的軟件上的詳細說明。 獲得許可證的批準 1. 通過電子郵件把許可證發(fā)送給license-approval@ 。在電子郵件中說明你是否愿意以你的簽名或者匿名地把許可證發(fā)送到許可證討論列表中。(我們 愿意考慮那些根本不希望被發(fā)送的許可證,但由于社團的評審是批準的一個重要組成部分,我們將不得不把該許可證私下地發(fā)送給評審者:因此,對沒有被發(fā)送到許可證 討論列表中的許可證的批準,要花費更長的時間,并且通常要更多地與你交流。) 2. 如果我們發(fā)現(xiàn)你的許可證不符合開放源代碼的定義,我們將與你一同解決這個問題。 3. 同時,我們將關(guān)注許可證論壇列表,并且與你一同工作以解決大家提出的任何未 包含的問題。 4. 作為該過程的一部分,我們還將就許可證問題向外界尋求法律上的建議。 5. 一旦許可證符合了開放源代碼定義,并且在許可證論壇上經(jīng)過了充分的討論或者 其它的評審者沒有提出我們認為重要的問題,我們將通知你,許可證已經(jīng)被批準了,同時它被復(fù)制到我們的網(wǎng)站上,并且被加入以下的許可證列表。 使用該標志 你可以在這兩種軟件的發(fā)行上使用OSI Certified標志。該軟件的發(fā)布包括并且達到 了被批準的許可證列表中某個許可證的要求,或者該軟件的源代碼已經(jīng)被明確地放到公眾可以得到的位置。 為了表明你的軟件是按照OSI Certified發(fā)布的,你必須不加任何修改地把下面兩者之一,按照下述方式加入你的軟件。完整的聲明是: This software is OSI Certified Open Source Software。 OSI Certified is a certification mark of the Open Source Initiative。 較簡短的聲明是: OSI Certified Open Source Software 你的軟件的每種發(fā)布形式都有自身的要求: * 如果軟件以電子的形式發(fā)布(而不是實物(tangible)的形式),你必須把完整 的聲明放在README文件或者類似的、人類用戶將首先閱讀的文件中。 * 如果軟件以實物形式發(fā)布,你必須完成以下所有可行的任務(wù): 。 如果軟件的發(fā)布包括印刷品,你必須把完整的聲明加入該印刷品。 。 如果軟件發(fā)布在可擦寫的媒體(例如軟磁盤)、CD-ROM、磁帶等媒體上,它們在物理上可以添加能夠被人的裸眼所閱讀的簡短聲明,而不影響它們的功能,你必須把完整的聲明或簡短的聲明標注在該媒體上。 。 如果軟件的發(fā)布是一個的包,從而使其中的聲明不能被閱讀。你必須在包的外 面放置完整的聲明。 如果不能把以上任何條款用于發(fā)布,請與我們聯(lián)系,我們將把你選擇的位置加入本列表。 獲得批準的許可證 以下許可證滿足開放源代碼的定義,并且已經(jīng)被批準用于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許可證、IJG JPEG許可證和OPL (Open LDAP Public License)許可證。
熱心網(wǎng)友
經(jīng)典問題,推薦一下。樓上說得對!
熱心網(wǎng)友
1. 2.