開放源代碼
開放源代碼(Open source code代碼代碼)也稱為源代碼公開,指的是一種軟件分發模式。一般軟件只能獲得編譯好的二進制可執行文件,通常只有軟件的作者或著作權人擁有程序的源代碼。一些軟件作者會將源代碼公開,這被稱為“源代碼公開”,但這不一定匹配“開放源代碼”的定義和條件,因為作者可能會對源代碼的公開設置限制,例如限制可以讀取源代碼的對象、限制衍生品等。
定義簡介 編輯本段
開源軟件起源于自由軟件開源運動,簡稱開源軟件。指的是那些源代碼開放,可以免費使用的、復制、一組修改和重新分發的軟件。開源軟件許可是對開源軟件進行標準化的授權合同,也可以稱為授權協議。有很多種,互相理解權利轉移的程度是選擇和運用它們的關鍵因素。
開源軟件是在開源許可下發布的軟件,目的是保護軟件用戶自由使用和接觸源代碼的權利。同時也保證了用戶可以自己修改、復制和再分發的權利。簡而言之,所有發布軟件源代碼的程序都可以稱為開源軟件。開源有時不僅指開源軟件,也指一種軟件開放模式的名稱。使用開源和開放模式的軟件代表是GNU/Linux操作系統。
嚴格來說,開源軟件和自由軟件是兩個不同的概念,符合開源軟件定義的軟件才能稱為開源軟件(開源軟件)自由軟件是一個比開源軟件更嚴格的概念,所以所有的自由軟件都是開源的,但并不是所有的開源軟件都可以被調用“自由”但在現實中,大多數開源軟件也符合自由軟件的定義。例如,符合GPL的軟件是開放和免費的。
定義
![Open Source[開放源碼]](https://27142293.s21i.faiusr.com/2/ABUIABACGAAgn6LsmwYoobXp6wUw9AM4lQI.jpg)
Open Source來源來源[開放源碼]
開源代碼由Bruce Perens定義(Debian 的創始人)定義如下:
1)自由的再散布
符合開放源代碼定義的授權不得限制任何一方出售或轉讓已成為其一部分的開放源代碼,即使聚合軟件包含來自許多不同來源的程序。這種授權不應要求版稅或其他費用。
2)程序源代碼
程序分發必須包括源代碼及其編譯形式。如果程序在發布時不附帶源代碼,則必須在不超過合理的復制成本的情況下,以開放的方式使人們可以獲得源代碼,例如,可以在互聯網上免費下載。這里所謂的“源代碼”一定是程序員修改程序最容易的形式,故意混淆源代碼或者以所謂的中間形式,比如預處理器、或者編譯器處理的結果不允許。
3)衍生作品
符合開放源代碼定義的授權必須允許修改程序和衍生作品”的產生.這種授權必須允許在相同的條件下發布衍生作品。
4)原作者的完整性及的程序源代碼
符合開放源代碼定義的授權可以禁止其他人以修改的形式分發源代碼,除非該授權允許以修改程序為目的使用源代碼“附加檔案”為了區分這部分非原作者 s創作。該授權必須明確允許被許可人有權分發修改后的軟件。此外,許可內容要求衍生作品必須附有不同于原軟件的名稱或版本號。
5)不要歧視任何個人或團體
符合開源代碼定義的授權不得歧視任何人或任何團體。因為包括美國在內的一些國家對某類軟件的出口進行管制,這類軟件通常會有警示標語來揭示這種管制規定;但是這個警告標語并沒有包含在符合開源定義的許可證本身中。
6)不要歧視任何領域中程序的使用
符合開源代碼定義的授權不得禁止任何人在特定領域使用本程序。例如,它不得禁止程序的商業用途或在遺傳研究中的使用。
7)授權的散布
開源許可證中的權利適用于所有再分發的程序,不需要通過其他許可證來行使。換句話說,符合開源代碼定義的許可必須具有適用于所有衍生作品的連續性,以防止被許可方通過附加其他許可間接影響軟件的開放性。
8)授權不得專屬于特定產品
程序附帶的權利不應局限于特定軟件分發的需要。所有程序的被許可人在發布時享有與原始程序相同的權利。
9)授權不應限制其他軟件
符合開放源代碼定義的授權不得對隨本軟件發布的其他軟件施加任何限制。例如,不允許規定在同一媒體L中分發的其他軟件應受本許可證和開放源代碼的約束。
10)授權必須是技術中立的
任何規定不得基于任何獨特的技術或類型12。比如不應該局限于點擊包的使用(Clik-Wrap)下載,否則會阻礙文件傳輸協議、CD-通過ROM或網站映射下載和使用源代碼的可能性。
產生原因 編輯本段
知識產權模式極大地促進了軟件產業的快速發展,軟件產品的獨占權被賦予了許多軟件公司(尤其是規模 的軟件公司)帶來了巨大的商業利潤,微軟就是最好的例子。然而,隨著軟件產業的發展,傳統的知識產權模式越來越顯示出其不足。主要表現在以下兩個方面:
1、軟件成果專有權帶來的弊端
基于知識產權保護的專有權阻止了他的公司進入這些市場“商業壁壘”,沒有相關產品滿足,沒有市場競爭,從而形成壟斷。
2、軟件源代碼保密的危害
由于保護知識產權,各公司對軟件源代碼保密,只有公司內部流傳,使得軟件技術專家學者無法學習研究,造成軟件重復開發使用,浪費社會勞動力。而且軟件的安全性和改進也是有限的。
由于軟件行業的壟斷,學術界強烈不滿,于是出現了開源運動和自由運動。開源軟件起源于自由軟件運動。
優勢缺點 編輯本段
優勢
它的主要優勢在于長期可靠性、平行除錯、平行研發、完美的應用程序編程接口、版本發布速度等等。就長期可靠性而言,只要企業短期內不會被排除在競爭市場之外,就可以稱之為長期可靠性。因為在開源軟件開發模式下,源代碼在很多地方都可以輕松獲得,可以自己使用、修改源代碼,這樣即使軟件不再開發,你也可以自己進一步使用源代碼。另外,通過互聯網技術的發展,開源軟件的開放模式可以采用并行調試、平行研發的實踐d使得網絡上的潛在無限開發者免費使用,可以同時進行,不受時間限制、由于地域限制,最終只能選擇合適的方案,所以只要有足夠多的參與者,源代碼發布速度通常會更快;就完善的應用程序接口而言,開源軟件開發模式將基于源代碼的開放性,讓用戶通過源代碼來驗證,而不像傳統的閉源計算機軟件,只能將其信心建立在軟件公司的形象上。開源軟件開發模式最大的優勢就是可以得到大量開源社區的支持,就像擁有大量的免費軟件開發者和測試者一樣。這樣,世界各地的優秀人才都被取為己用,而他們卻沒有 不用付高薪,這是傳統的閉源軟件開發模式不可能做到的。
劣勢
當然,開源軟件開發模式也有其缺點,主要表現在管理成本上、設計程序問題和組織可靠性等。首先,在管理成本方面,主要是因為一旦計劃發展到一定程度,其創新、改版的質量必然會變大,參與人數多,肯定會造成一定的管理成本此外,整合、決策結構會增加管理成本;其次,就設計程序而言,新版本的不斷發布會造成消費者需要不斷重裝的麻煩,而且因為他們通常不會 不要在意設計中的友好界面,這會增加用戶訪問它的難度;最后,在組織可靠性方面,用戶會關心自己使用的計算機軟件如何得到開發組織的支持,以及軟件未來的發展方向。但是,由于開源軟件是由不同社區的成員貢獻的,不負責質量保證,與傳統軟件企業相比,確實有可能得不到完善的支持,無法保證軟件未來的發展方向。另外,雖然新的開源市場開發模式已經在全球運行了一段時間,并且有很多典型的成功案例如Linux,可以說對計算機軟件行業產生了一定的影響。但是,與傳統的發展模式相比,它也有其不足之處。
放棄權利 編輯本段
開源軟件放棄下列版權所有者享有的權利:
1、作品復制權:
接受開源軟件公共許可協議的用戶可以自由復制初始軟件作品,也放棄了在初始軟件作品被修改和改進后限制復制衍生軟件的權利。
2、作品修改權:
接受開源軟件公共許可協議的用戶,在按照協議復制目標代碼和源代碼后,可以對原軟件作品的源代碼進行修改,修改后的衍生軟件作品必須按照先前存在的公共許可協議明確放棄對后續用戶的修改權,賦予后續用戶繼續修改的權利。
3、作品傳播權:
接受開源軟件公共許可協議的用戶,在自由獲得按照協議發布的軟件作品并進行相關修改和改進后,有義務按照協議繼續無條件向后續用戶發布初始軟件作品和修改后的軟件作品。
附件列表
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。