開源軟體源碼
⑴ 開源的源碼怎麼控制授權
License是軟體的授權許可,裡面詳盡表述了你獲得代碼後擁有的權利,可以對別人的作品進行何種操作,何種操作又是被禁止的。軟體協議可分為開源和商業兩類,對於商業協議,或者叫法律聲明、許可協議,每個軟體會有自己的一套行文,由軟體作者或專門律師撰寫,對於大多數人來說不必自己花時間和精力去寫繁長的許可協議,選擇一份廣為流傳的開源協議就是個不錯的決策。
世界上開源軟體協議OPEN SOURCE LICENSE的種類非常之多,並且同一款協議有很多變種,協議太寬松會導致作者喪失對作品的很多權利,太嚴格又不便於使用者使用及作品的傳播,所以開源作者要考慮自己對作品想保留哪些權利,放開哪些限制。
⑵ 開源軟體源碼編譯移植的時候獲取源碼可以從
開源軟體源碼一般託管在某個網站或者其鏡像網站上,盡量選最新穩定版本進行移植。
⑶ 開源軟體、開源代碼的開源是什麼意思
到網上給你找的比較詳細的解釋:開源(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 等)的推動下,預料這股旋風將會掀起新的軟體革命。
⑷ 什麼是開源代碼
開放源代碼軟體源於自由軟體開源運動,簡稱開源軟體。是指那些源代碼公開,可以被自由使用、復制、修改和再發布的一系列軟體的集合。開源軟體許可證,是對開源軟體進行規范的授權合同,也可以稱為授權協議書。其類別繁多,在選擇適用上,了解彼此的權利讓渡程度是其關鍵因素。
開放源代碼軟體就是在開放源代碼許可證下發布的軟體,以保障軟體用戶自由使用及接觸源代碼的權利。這同時也保障了用戶自行修改、復制以及再分發的權利。
簡而言之,所有公布軟體源代碼的程序都可以稱為開放源代碼軟體。 開放源代碼有時不僅僅指開放源代碼軟體,它同時也是一種軟體開放模式的名稱。
(4)開源軟體源碼擴展閱讀:
源代碼好處:
1、它們能降低企業部署網路和各種服務的成本,如果採用開源方案,你只需要一台伺服器,其他的都可以免費,而用windows,你必須花錢購買操作系統(假設沒有盜版)。
2、可以在源代碼的基礎上進行二次開發,完善或豐富現有系統功能。
3、參考學習。通過分析源代碼,可以學習開發、了解開發者的思路,學習開發者如何通過巧妙的方式、演算法解決業務問題,閱讀源代碼是提高開發水平的快捷方式。
⑸ 如何讀懂一個大型開源軟體的源代碼
開源項目一般都有示例,從示例入手。示例會有主入口,示常式序中會使用調用開源項目的代碼,這時就可以跟蹤到開源項目的源碼中了。這樣,你就有一個很清晰思路了.
⑹ 怎樣研究開源軟體的源碼
開放源碼軟體(open-source)是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟體,並且此軟體的使用,修改和分發也不受許可證的限制。開放源碼軟體通常是有right的,它的許可證可能包含這樣一些限制: 蓄意的保護它的開放源碼狀態,著者身份的公告,或者開發的控制。「開放源碼」正在被公眾利益軟體組織注冊為認證標記,這也是創立正式的開放源碼定義的一種手段。
⑺ 如何學習開源軟體源代碼 csdn
導讀:對於開發者來說,社區里豐富的開源代碼其實是筆極為寶貴的財富。如果能充分利用好開放源代碼的資源,不僅可以掌握多種編程方法,提高實踐能力,還能獲得好的思想,激發編程靈感。開源代碼怎麼學以及怎樣才能學好是大家經常關注的話題,日前,在問答網站知乎上,有人拋出了「如何更有效地學習開源項目的代碼?」的話題,眾技術好手各抒己見,CSDN軟體研發頻道對本文內容進行了整理,方便大家學習與參考。盛大創新研究院研究員 庄表偉:學習開源 盡可能在代碼里找答案 庄表偉提供了以下9個建議:1.在下載源代碼之後,首先要跑起來,編譯通過、正常運行;2.在你覺得最有可能運行到的地方,設置斷點或者拋出異常,這樣,就能夠找到一個項目在正常運行時的入口點;3.從入口點所在的那個源文件開始閱讀,逐步把握整個項目是如何啟動起來;4.隨便改點代碼,看看會不會報錯,如果報錯,會從哪裡報錯;5.試著把報錯屏蔽、修復、或者繞開;6.嘗試理解一個系統的內部結構,多少組成部分,主線模塊是哪些?輔助模塊是哪些?7.從實際需要出發,修改這個項目,滿足自己的某一個小的需求。(注意在此之前,盡量不要在網路上找答案);8.看看相關的討論與心得,是否與自己的理解相一致;9.提交bug fix或者某個新的功能代碼。在學習開源的過程中,有幾個方面會獲得大量收獲,1.架構與模式;2.開源社區常見的一些慣用法;3.相關領域的結構與演算法。總結一點:學習開源,盡可能在代碼里找答案,而不是在代碼之外找答案,那些都是二手的,而且很可能不準確。互聯網評論員 朱曉陽:從簡單做起 理論聯系實踐朱曉陽對此發表了兩點看法:首先,從簡單做起。剛開始的時候學習一些領域內基礎理論,然後找一些簡單的東西去實現,不能一開始就去找開源項目。建議大家經常動手寫一些小程序,如改進宿舍網路登錄客戶端等。積小成多,能顯著提高自己的編程能力。其次,學習的知識一定要和自己生活或工作有聯系,這樣才會有樂趣或動力。互聯網評論員孫竟:先構想一個想做的項目首先,構想一個想做的項目(比如論壇、博客、微博等);然後,思考需要什麼功能,應該怎麼去實現,盡可能包括各種細節,有必要時記錄下來;最後,去找個類似的開源應用,看看它是怎麼實現的,和你的想法有什麼差異,有什麼可以學習或需要改進的地方。互聯網草根hqman:我的5個建議:1.反復地使用軟體,熟釋軟體的組成文件和軟體功能,注意IE地址欄內的地址變化;2.打開資料庫文件或存放數據的XML文件,參照數據字典了解各個表和欄位的數據含意;如果沒有數據字典,就運行軟體輸入數據,參照所輸入的數據,了解各個表和欄位的數據含義;3.利用Visio進行反向工程,將類圖抽出來;4.研究類之間的關系,注釋各個類的屬性和方法,弄清程序的整體框架;5.另開一個項目,按照軟體開發的流程,將代碼分段復制進新的項目,進行編譯調試,關注一些實現細節,學習一些編程的技巧。在讀研究生張偉:在校學生空閑時間多參加一下比賽張偉的建議是大家在空閑時間多參加一些比賽。一個完整的項目,不管再小,只要做完了,就會有收獲。多看一些比較大的開源項目源代碼,每次看完後都會受益匪淺。從網上成熟的開源代碼里,可以學到很多的設計思想。他認為,從項目入手,以項目為驅動,可激勵自己進步。當然,是否一定需要看開源代碼,這將取決於個人的興趣和需要。畫出程序流程圖 理解程序流程思想CSDN博客專家i_like_cpp:曾在CSDN分享了《如何將源代碼學好》的博文,對此,他給出了四點建議:1. 畫出整個程序的流程圖,理解整個程序流程的思想。畫流程圖的方式更讓人很直接的理解程序的整體流程,而不會被代碼所干擾,讓程序員總體上把握整個程序;2. 對流程各節點(函數或過程)的理解,流程的每一節點是構成整個流程的不可缺少的部份;3.再把流程和流程各節點串起來理解整個程序,可能的話最好寫出讀書筆記;4. 如果想深刻的學習到源代碼的精髓所在,請寫一個相近的程序進行操練。理解了這個程序並不表明掌握了這個程序,只有在操練一個相近的程序時,才知道你到底理解了多少,掌握了多少。編後語:源代碼的學習是一個從整體到不斷細化的過程,是一個極為繁瑣的過程同時也是一個不斷認清事物本源的過程。本文總結的源代碼的學習經驗,希望對您有所幫助。那麼,CSDN的網友們,你們是如何對待開源項目源代碼的呢?
⑻ 開源軟體的開放源代碼如何獲得
你得先確定他到底是不是開源軟體,很多所謂開源只是免費而已,開放源代碼的軟體沒那麼多。如果有的話,一般作者會放到官網上,和二進制碼放一塊供人下載,同時還有開發文檔什麼的。大部分在sourceforge上都有。不確定你這個是不是開源。說實話,我實在不太確定你要那玩意幹嘛。IDE的源碼對於軟體初學者而已沒什麼用處,那個是相當難的。。。
⑼ 怎樣查看一個軟體的源代碼
對於現在的軟體來說,源代碼是最基礎的部分,得到了源代碼也就幾乎得到了軟體的全部。源代碼對於商業性質的軟體來說是極其重要的,一旦泄露就會造成非常大的損失,所以源代碼是一個軟體開發團隊的最高機密。
正因如此,很多人出於不同目的,會想辦法得到軟體的源代碼,但是我們知道,軟體的最終產品一般是已經編譯過的文件,就像我們初學C語言時生成的 exe 文件一樣,是一些二進制符,不能直接查看源碼。
想要查看一個軟體的源代碼,首先要確定這個軟體的開發者是否已經將其開源,如果開源的話就不必大費周章地去反編譯了,直接去開源社區里就會發現該軟體的源碼,開發者一般也會提供源碼的下載鏈接。
如果軟體不開源,那就要進行反編譯了,查看大多數軟體的源碼都需要用到這個方法,即使反編譯了,看到的源代碼也是非常混亂的,因為為了保護源碼,開發者在編譯前都會進行混淆,目的就是即使有人反編譯成功,也無法看懂代碼里的邏輯,這也是保護源碼的最後一道防線。