早期軟體源碼
A. 源代碼究竟是什麼
源代碼就是人類可以看懂的機器文字,程序員在寫完代碼以後,會將源代碼編譯為機器代碼,可能是一個可執行程序exe啥的,我們平時用的就是這個可執行程序,要想增加功能,或者改善程序,就需要有源代碼了,因為人不可能通過0和1編出高級程序。
舉個例子:你用Word寫好一個文檔,生成一個PDF文件,一般來說PDF是不可修改的,你可以把這個PDF發給別人閱讀,但是別人要想修改這個PDF就不好操作。而你有這個PDF的原稿(Word文檔)你可以很方便的修改然後再生成PDF文檔。這里的Word文檔就相當於源代碼,PDF文檔就相當於軟體。
簡介
代碼,沒什麼可說的,廣義的,只要算是程序語言寫的都是,c寫出來的是代碼,編譯後,成匯編語言程序,也可以說是代碼;再匯編成,機器語言程序,也可以說是代碼;不過,算得上代碼的,也算是程序,一般都是廣義的說法。
說「源」的問題、你用c寫出來的,讓我看,那是源代碼;你把編譯成.exe文件的代碼,讓我直接運行,那就不是源代碼、你做的java游戲,如果你把自己寫的java代碼給我,那是源代碼;把處理過的可執行文件給我,那不是源代碼。
B. 開放源代碼軟體的歷史
開放源碼軟體主要被散布在全世界的編程者隊伍所開發,但是同時一些大學,政府機構承包商,協會和商業公司也開發它。開放源碼軟體在歷史上曾經與UNIX,Internet聯系得非常緊密。在這些系統中許多不同的硬體需要支持,而且源碼分發是實現交叉平台可移植性的唯一實際可行的辦法。在DOS,Windows,Macintosh平台上僅僅有很少的用戶有可用的編譯器,開放源碼軟體更加不普遍。對開放源碼開發模式的更詳細的討論請看Eric Raymond寫的「The Cathedral and the Bazaar」。 傳統的商業軟體有巨大的廣告和商標預算,在這些背後給了它太多的關注,已經遠遠超出了它的重要性。傳統的商業軟體事實上只是所有軟體的很小的一部分。Lion(獅子)是被各種組織開發,並且是為了它們自己內部的需要。內部開發源碼,特別是被美國政府所命令的重要源碼的共享是具有開發源碼牌照的。這實際上是由於絕大多數軟體專家不編寫商業軟體。
要去定量的描述開放源碼軟體的整個影響和平均利益是困難的,但是很明顯這兩者都被公眾廣泛傳播又低估其價值。現在,許多開放源碼軟體由商業開發支持。同時,開放源碼經營模式的成功和開放源碼開發的高生產效率及高質量都說服Netscape(公司名)在1998年年初決定要將它的瀏覽器開發在開放源碼許可之下。
現在有巨大的動力推動著開放源碼的運動。看到如此多的傳統商業開發者們為了與他同步不得不謀取發展是很有趣的。計算機工業早已看到了幾個激動人心的發展和革新的浪潮,例如,二十世紀七十年代的第一台微機,以及八十年代中期到現在對日用微機的大量生產,還有同一時期Internet(互聯網)的崛起。使用開放源碼模式的商業軟體可能是下一個重要的新潮流。 歷史上許多人開發過這樣一種軟體(也就是免費軟體基礎)簡稱為「free software」,而媒介一般稱它為「freeware」。不幸的是這兩種術語都被證明是不明確的且含糊的。
對於大多數人來說「free」僅僅用於購買的費用。比這個初始花費更重要的是由於缺乏許可證限制而帶來的費用。這些是幾種有可能是免費的軟體類型,但是明顯不是open-source software,因為它們具有某些限制或是缺乏公開的源碼。
C. 源碼是什麼意思啊
源碼指編寫的最原始程序的代碼。
用戶平時使用軟體時就是程序把「源碼」翻譯成我們可直觀的形式表現出來供用戶使用的。任何一個網站頁面,換成源碼就是一堆按一定格式書寫的文字和符號。
源碼主要功用
1、生成目標代碼,即計算機可以識別的代碼。
2、對軟體進行說明,即對軟體的編寫進行說明。為數不少的初學者,甚至少數有經驗的程序員都忽視軟體說明的編寫,因為這部分雖然不會在生成的程序中直接顯示,也不參與編譯。
但是說明對軟體的學習、分享、維護和軟體復用都有巨大的好處。因此,書寫軟體說明在業界被認為是能創造優秀程序的良好習慣,一些公司也硬性規定必須書寫。
(3)早期軟體源碼擴展閱讀:
計算機裡面運行的所有東西都是用程序編出來的,而編寫程序要用到計算機語言,用計算機語言直接編出來的程序就叫源碼,比如用VisualBasic編寫的源碼文件一般為.bas文件,而用C++編寫的一般為.cpp文件,源代碼不能直接運行,必須編譯後才能運行。源碼經過編譯處理後就可以直接在操作系統下運行了。
從字面意義上來講,源文件是指一個文件,指源代碼的集合.源代碼則是一組具有特定意義的可以實現特定功能的字元(程序開發代碼)。「源代碼」在大多數時候等於「源文件」。
D. 軟體源代碼是如何產生的 為什麼有源代碼
軟體源代碼是軟體編寫時候的程序,軟體exe形式是用基本計算機語言,c,c++,vb,vf之類編好後生成的,有了源代碼就相當於有了軟體的版權,可以自己再編輯和再開發
E. 什麼是源碼
源碼是一種語言,屬於自由言論,受法律保護。
在計算機科學中,源碼(通常只是源或代碼)的任何聲明或在一些人類可讀的計算機編程語言的書面聲明的集合。源碼是程序員最經常用於指定的行動的機制,由計算機完成。
源碼通常是在一個或多個文本文件中,或存儲在資料庫中,有時一個程序作為存儲程序,也可能出現在書籍或其他媒體印刷代碼段。大量的源碼文件可以組織成一個目錄樹,在這種情況下,它也被稱為樹的來源。
計算機程序的源碼需要從人類可讀的格式轉換為某些類型的計算機的可執行文件的二進制形式。源碼可能會被編譯器轉換成一個可執行文件。
對於特定的軟體作品的源碼可以包含在單個文件或多個文件。雖然這種做法並不常見,一個程序的源碼可以寫在不同的編程語言。一些軟體的組成部分可能分別用任意編程語言編寫和編譯,如Java語言:每個類是單獨編譯成一個文件,在運行時解釋的聯系。
源碼主要是用來作為輸入的過程,產生一個可執行程序(即編譯或解釋)。它也可以用來作為人與人之間溝通的方法和演算法(例如,代碼段)。
程序員通常通過現有的源碼,了解編程技術。源碼在共享開發者之間常常是作為一種促進因素,使他們的編程技能更加成熟。有些人認為源碼是一種藝術語言的表達。
如果沒有源碼,將軟體移植到其他的計算機平台通常是極端困難的。
可執行程序的反編譯可用於生成源碼,無論是在匯編代碼或在高級語言。
在美國,截至2003年,法院尚未決定是否將源碼視為言論自由的憲法保護的形式。源碼可能作為自由發言的論點,這是因為源碼傳達的信息對程序員是一種語言,可以用來分享,像其他藝術如幽默那樣,它是一種溝通的受保護的形式。相反的觀點認為,源碼主要實現函數功能,函數功能表現得比藝術功能更多,因而在美國憲法第一修正案中沒有受到權利的保護。
首批法院關於源碼的性質案件,涉及言論自由,加州數學教授丹伯恩斯坦,曾在他創建的源碼大學的網際網路上公布了一個加密程序。當時,加密演算法被列為國家安全,美國政府軍火出口到其他國家的加密被認為是國家安全問題,必須由國務院批准。電子前沿基金會代表美國政府控告伯恩斯坦,法院裁定其源碼是自由發言,受第一修正案的保護。
F. 怎樣查看一個軟體的源代碼
對於現在的軟體來說,源代碼是最基礎的部分,得到了源代碼也就幾乎得到了軟體的全部。源代碼對於商業性質的軟體來說是極其重要的,一旦泄露就會造成非常大的損失,所以源代碼是一個軟體開發團隊的最高機密。
正因如此,很多人出於不同目的,會想辦法得到軟體的源代碼,但是我們知道,軟體的最終產品一般是已經編譯過的文件,就像我們初學C語言時生成的 exe 文件一樣,是一些二進制符,不能直接查看源碼。
想要查看一個軟體的源代碼,首先要確定這個軟體的開發者是否已經將其開源,如果開源的話就不必大費周章地去反編譯了,直接去開源社區里就會發現該軟體的源碼,開發者一般也會提供源碼的下載鏈接。
如果軟體不開源,那就要進行反編譯了,查看大多數軟體的源碼都需要用到這個方法,即使反編譯了,看到的源代碼也是非常混亂的,因為為了保護源碼,開發者在編譯前都會進行混淆,目的就是即使有人反編譯成功,也無法看懂代碼里的邏輯,這也是保護源碼的最後一道防線。