歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux的開發模式和運作機制

Linux的開發模式和運作機制

日期:2017/3/2 10:10:31   编辑:關於Linux

自 由軟件的出現,改變了傳統的以公司為主體的封閉的軟件開發模式。采用了開放和協作的開發模式,無償提供源代碼,允許任何人取得、修改和重新發布自由軟件的源代碼。這種開發模式激發了世界各地的軟件開發人員的積極性和創造熱情。大量軟件開發人員投入到自由軟件的開發中。軟件開發人員的集體智慧得到充分發揮, 大大減少了不必要的重復勞動,並使自由軟件的脆弱點能夠及時發現和克服。任何一家公司都不可能投入如此強大的人力去開發和檢驗商品化軟件。這種開發模式使自由軟件具有強大的生命力。

商業Unix開 發過程中,整個系統的開發要有嚴格的質量保證措施、完整的文擋、完善的源代碼、全面的測試報告及相應的解決方案。開發者不能隨意增加程序的特性和修改代碼的關鍵部分,如果要修改代碼,他們得將其寫入錯誤報告中才能使其有效,並隨後接收源代碼控制系統的檢查,如果發現修改不合適,修改也可能作廢。每個開發者 設計系統代碼的一個或幾個部分,開發者只有在程序檢查過程中才能更改相應的代碼。質量保證部門在內部對新的操作系統進行嚴格的回歸測試,並報告發現的問題,開發者則有責任解決所報告的問題。質量保證部門采用復雜的統計分析系統以確保在下次發行時有百分之幾的程序錯誤已修改。

總之,商業Unix開發過程使得其代碼非常復雜,因此,公司為了保證下次操作系統的修訂質量,因此得收集和統計分析操作系統的性能。開發商業Uinx是一個很大的工程,常常大到有數以百計的編程者、測試員、文擋員以及系統管理員參與。

對於Linux,你可將整個組織開發的概念、源代碼控制系統、結構化的錯誤報告、統計分析等通通扔到一邊去。

Linux最初是由一群來自世界各地的自願者通過Internet共同進行開發的。通過互連網和其它途徑,任何人都有機會輔助開發和調試Linux的內核、鏈接新的軟件、編寫文擋或幫助新用戶。實際上,並沒有單獨的組織負責開發此系統,Linux團體大部分通過郵遞清單和USENET的消息組通信。許多協定已跳過開發過程,如果你想將自己的代碼包括進“正式”內核,只需給Linus Torvalds發一個郵件,他就會進行測試並將其包括進內核(只要代碼不使內核崩潰並且不與整個系統設計相悖,Linus都很樂意將其包括進去)。

Linux系統本身采用徹底開放、注重特性的方法進行設計。一般規律是大約隔幾個月就發行一個Linux內核的新版本。當然發行周期還依賴於其它一些因素,如排除的程序故障數、用戶測試預發行版的返回數以及Linux的工作量等。

可以說在兩次發行間,並不是每個故障都已排除,每個問題都已得到了解決。只要系統不出現很挑剔或明顯的故障,就認為比較穩定,可以推出新版本。Linux開發的動力不在於追求完美、無故障,而是要開發Unix的免費實現。

如果你想把新的特性或應用軟件增加到系統上,你就得經過一個“初始”階段。所謂“初始”階段,就是一個由一些想對新代碼挑出問題的用戶不斷進行測試的階段。由於Linux團體大多在Internet上,“初始”軟件通常安裝在一個或多個LinuxFTP上,並且在LinuxUSENET消息組上張貼一張如何獲取和測試其代碼的消息,從而使得下載和測試“初始”軟件的用戶可以將結果、故障或問題等郵件告之作者。

初始代碼中的問題解決後,代碼就進入“第二”階段:工作穩定但還不完全(即能夠工作,但可能還不具備所有特性)。當然,它也可能進入“最後”階段,即軟件已完備並且可以使用。對於內核代碼,一旦它完備,開發者就可讓Linus將其包括進標准內核內,或者作為內核的可增加選項。

注意,這些僅只達成協定,並未形成規則。很多人對他們的軟件不必發行“初始”或測試版充滿信心,因此發行哪個版本是根據開發者的決定而定的。

你可能對一群自願者居然能編寫、調試出完整的Unix系統驚訝不已。整個Linux內核通過拼湊湊而成,沒有采用專利的源代碼,大量工作都由自願者完成,他們將GNU下的免費軟件移植到Linux系統下,同時開發出庫、文件系統以及通用的設備硬件驅動程序等。

實際上,Linus率領的分布在世界各地的Linux內核開發隊伍仍然在高速向前推進。當前推出的穩定的Linux內核的2.4.x版本充分顯示了Linux開發隊伍的非凡的創造能力以及協作開發模式的價值。

Copyright © Linux教程網 All Rights Reserved