Ⅰ 開源軟體、開源代碼的開源是什麼意思
到網上給你找的比較詳細的解釋:開源(Open Source,開放源碼)被非贏利軟體組織(美國的Open Source Initiative協會)注冊為認證標記,並對其進行了正式的定義,用於描述那些源碼可以被公眾使用的軟體,並且此軟體的使用、修改和發行也不受許可證的限制。 開放源碼軟體通常是有版權 (right ) 的,它的許可證可能包含這樣一些限制:著意地保護它的開放源碼狀態,著者身份的公告,或者開發的控制。實際上,開源軟體同時涉及源碼本身和開發過程,涵蓋了三個方面的意義:免費分發的源代碼、模塊化的體系和集市式的開發--在這種開發方式中,任何地方的任何人都可以參與最終產品的製造,三個方面互相之間有密切的聯系,集市式的開發過程給開源軟體以強大的改錯能力,因為它將程序中的錯誤公開給了數量巨大的觀眾,他們都是潛在的改錯者。另一方面,任何人都可以復用和發行開源軟體的代碼這一事實又支持了公眾利益,因為創新的觀念被整個集市所共享。另外,"open source"這一術語還被延伸到其他智力團體中,指那些可通過公開手段獲得的智力資源,比如報紙、教學課件等。 美國一些進步的評論家指出,在象網路這樣的虛擬環境中,驅動系統的底層代碼,尤其是廣為人知的那些應用程序之間的通信協議,它們在某種意義上很象現實社會中的法規。換句話說,這些代碼對網上的行為給出了一些規范,它鼓勵某些行為,而限制其他行為,就像現實社會的法律一樣。因此,開放源碼帶來了一個更民主的開發方式,在這種方式下,好的主意將被集體分享,而不是作為智力資本被個人秘藏著。在這種意義上,開放源碼實質上成為一種政治哲學。 開放源碼的精神在於使用者可以使用、復制、散布、研究、改進軟體。最早可以 回朔到1960年代。當時,售賣大型計算機的廠商如IBM,把一些軟體及原始碼一並送給客戶,讓客戶能夠因不同需求而自行更改軟體。在 1991-1992 年期間,住在芬蘭的 Linus Torvald製造了第一版的 linux 操作系統。在一群熱心的程序人員努力下,把 Linux 操作系統以及外圍的應用程序逐一打造。 出名的作品除了趨於成熟的Linux 操作系統外,還有 Apache網頁伺服器、Perl 程序語言、MySQL 資料庫、Mozilla 瀏覽器、OpenOffice等等。近來,在政府的推動及各軟體大廠(如 IBM、Redhat、Apple 等)的推動下,預料這股旋風將會掀起新的軟體革命。
Ⅱ 什麼叫開源代碼,什麼叫非開源代碼
開源代碼是指開放源代碼,也稱為源代碼公開,指的是一種軟體發布模式;反之,若不公開源代碼則為非開源代碼。
一般的軟體僅可取得已經過編譯的二進制可執行檔,通常只有軟體的作者或著作權所有者等擁有程序的原始碼。
有些軟體的作者會將原始碼公開,此稱之為「源代碼公開」,但這並不一定符合「開放源代碼」的定義及條件,因為作者可能會設定公開原始碼的條件限制,例如限制可閱讀原始碼的對象、限制衍生品等。
(2)源碼開源非開源怎麼設置擴展閱讀:
開源代碼的作用:
1、軟體成果獨占權帶來的弊端
基於知識產權保護的獨占權,就阻礙了他公司進入此類市場的「商業壁壘」,無相關產品接應,無市場競爭,從而形成了壟斷。
2、軟體的源代碼保密帶來的危害
由於知識產權保護,各個公司對軟體源代碼保密,只有公司內部流通交流,軟體技術專家和學者無法進行學習和研究,造成了軟體的重復開發和使用,浪費社會勞動力。並且,軟體的安全性和改進完善受到了限制。
由於軟體行業的壟斷,造成了學術界的強烈不滿,因此開源運動和自由運動產生了。開放源代碼軟體源於自由軟體運動。
參考資料來源:網路-開放源代碼
Ⅲ 怎麼證明代碼是開源還是不開源
是否開源,要看源碼發布的授權協議。
1.BSD開源協議(original BSD license、FreeBSD license、Original BSD license)
BSD開源協議是一個給於使用者很大自由的協議。基本上使用者可以」為所欲為」,可以自由的使用,修改源代碼,也可以將修改後的代碼作為開源或者專有軟體再發布。
但」為所欲為」的前提當你發布使用了BSD協議的代碼,或則以BSD協議代碼為基礎做二次開發自己的產品時,需要滿足三個條件:
如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
如果再發布的只是二進制類庫/軟體,則需要在類庫/軟體的文檔和版權聲明中包含原來代碼中的BSD協議。
不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。
BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由於允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟體發布和銷售,因此是對 商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。
2. Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)
Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布(作為開源或商業軟體)。需要滿足的條件也和BSD類似:
需要給代碼的用戶一份Apache Licence
如果你修改了代碼,需要再被修改的文件中說明。
在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。
Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要並作為開源或商業產品發布/銷售。
3. GPL(GNU General Public License)
我們很熟悉的Linux就是採用了GPL。GPL協議和BSD, Apache Licence等鼓勵代碼重用的許可很不一樣。GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改後和衍生的代 碼做為閉源的商業軟體發布和銷售。這也就是為什麼我們能用免費的各種linux,包括商業公司的linux和linux上各種各樣的由個人,組織,以及商 業軟體公司開發的免費軟體了。
GPL協議的主要內容是只要在一個軟體中使用(」使用」指類庫引用,修改後的代碼或者衍生代碼)GPL 協議的產品,則該軟體產品必須也採用GPL協議,既必須也是開源和免費。這就是所謂的」傳染性」。GPL協議的產品作為一個單獨的產品使用沒有任何問題,還可以享受免費的優勢。
由於GPL嚴格要求使用了GPL類庫的軟體產品必須使用GPL協議,對於使用GPL協議的開源代碼,商業軟體或者對代碼有保密要求的部門就不適合集成/採用作為類庫和二次開發的基礎。
其它細節如再發布的時候需要伴隨GPL協議等和BSD/Apache等類似。
4.LGPL(GNU Lesser General Public License)
LGPL是GPL的一個為主要為類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生之GPL類庫的的軟體必須採用GPL協議不同。LGPL 允許商業軟體通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟體的代碼。這使得採用LGPL協議的開源代碼可以被商業軟體作為類庫引用並 發布和銷售。
但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須採用LGPL協議。因此LGPL協議的開源 代碼很適合作為第三方類庫被商業軟體引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟體採用。
GPL/LGPL都保障原作者的知識產權,避免有人利用開源代碼復制並開發類似的產品
5.MIT(MIT)
MIT是和BSD一樣寬范的許可協議,作者只想保留版權,而無任何其他了限制.也就是說,你必須在你的發行版里包含原許可協議的聲明,無論你是以二進制發布的還是以源代碼發布的.