主要區別——開源與專有軟件
開源軟件和專有軟件的關鍵區別在於,開源軟件發佈源代碼,而專有軟件保留源代碼。在最近的一段時間裡,開源軟件有了長足的發展。開源軟件已經成為軟件行業的主要參與者。這在經濟方面也產生了重大影響。在許多領域,開源軟件的服務質量優於專有軟件。
軟件將由兩部分組成:源代碼和目標代碼。源代碼可以由程序員編寫,他們將能夠理解代碼的含義和它可以執行的內容。基本編程語言可以用來創建這樣的代碼。通過使用編譯器,這些源代碼被轉換成目標代碼,目標代碼由計算機讀取和執行的位組成。編譯器是一個專用於轉換任務的軟件程序。
如果需要修改軟件,源代碼必須相應地更改。目標代碼在這方面沒有用處,因為對它的更改不會影響軟件程序。這就導致了開源軟件和專有軟件之間的關鍵區別:源代碼的可訪問性。
什麼是開源軟件(open source software)?
RichardStallman是1984年開發自由軟件的第一人。這個自由軟件可以根據用戶的喜好進行更改和修改。用戶可以自由修改、更改和共享源代碼。這是根據與用戶或特定組織簽訂的許可協議完成的。開源軟件有一些特性需要注意。分發可以自由進行,源代碼是可訪問的,源代碼可以修改,這些相同的修改也可以分發。
開源軟件能夠通過支持社區和它所採用的開發策略來發展。這反過來提高了軟件的質量,同時也鼓勵社區的積極參與。由於上述特點,那些推廣專有軟件的公司現在正在採用開源軟件。UNIX內核是開源項目中使用最多的內核之一。
什麼是專有軟件(proprietary software)?
專有軟件是唯一的,因為分發只能由軟件的作者完成。同一軟件可以在根據許可協議購買該軟件的人的計算機上運行。外人將無法訪問此軟件的源代碼。軟件所有者將是唯一能夠修改軟件以及添加或刪除軟件功能的人。購買軟件的人將受到許可協議的約束,禁止他們複製、分發或修改軟件。升級只能由軟件的創建者完成,這些升級也只能由用戶購買,這就是所謂的鎖定效應。
開源軟件(open source software)和專有軟件(proprietary software)的區別
開源軟件和專有軟件的定義:
開源軟件:任何人都可以修改或增強其源代碼的軟件。
專有軟件:個人或公司專有的軟件。
開源軟件和專有軟件的特點:
源代碼(主要技術差異):
開源軟件:開源軟件發佈源代碼
專有軟件:專有軟件不發佈源代碼,只發布目標代碼。
源代碼的分發、修改:
開源軟件:開源軟件源代碼可以修改和分發*
專有軟件:專有軟件不能修改或分發**
*促進了軟件源代碼的分發。取消了對軟件的限制,以使軟件達到最佳水平。
**由於開源軟件所帶來的競爭,專有軟件採用了不同的方法來應對它。在某些情況下,源代碼是可見的,用戶可以修改,但不能分發。在這些情況下,代碼被修改以滿足用戶的需求,同時保護軟件所有者的權利。
可用性:
開源軟件:開源軟件沒有經過專家評審,缺乏技術背景,
專有軟件:專有軟件由專家評審和技術支持支持。
文檔:
開源軟件:開源軟件缺乏文檔,可以通過在線社區和論壇學習。
專有軟件:專有軟件有很好的文檔記錄。
發展:
開源軟件:開源軟件是由用戶和開發人員共同開發的,因此軟件將是高效的、適應性強的。
專有軟件:專有軟件,開發人員,不要使用對用戶的改進和功能降低的軟件。
版本:
開源軟件:開源軟件發佈常規版本。
專有軟件:專有軟件版本發佈相對耗時。
開發者支持:
開源軟件:開源軟件得到了許多開發者的支持,從而帶來了創新、效率、自由和靈活性。
專有軟件:依賴研發的專有軟件
安全
開源軟件:開源軟件更容易出現安全風險。
專有軟件:專有軟件不太容易受到病毒和bug等安全風險的影響。
升級:
開源軟件:開源軟件升級是免費的。
專有軟件:專有軟件升級有時是要付出代價的。
開源與專有軟件
小結: