一位知名軟件開發者表示,廠商搶著推出新技術的壓力使得軟件質量逐漸下滑,但開放源代碼領域的質量標准則稍高一些。
目前任職於美國軟件公司DAFCA的軟件設計專家James Coplien在參加牛津ACCU大會時的一次采訪中表示,軟件產業不太可能作出改變。
“所有廠商都有爭第一的市場壓力,除非你是前三位推出產品中的一個,否則根本沒有機會勝出。”Coplien表示,“為了趕時間大家只好犧牲品質。---人們買最新的產品,而不是最好的。事實是,消費者為了使用最新的產品,寧願以產品的質量為賭注。”他指出,目前整個軟件產業中以產品質量而自豪的只有開放源代碼社群。
“只有這些人帶來了一線希望,他們說:‘為了鼓舞軟件行業,我們會寫出優秀的軟件,並將它們公布。’” Coplien說:“我向這些人致敬。而Linux正是開源社群開發的質量最高的軟件之一。”
Coplien認為開源碼軟件質量較高的原因是因為有開源開發者的共同努力,同時又有一群核心的開發人員。他們是安全IT系統的最好構成方式。
“安全問題是一個系統問題,而且這是一個復雜的系統,” Coplien稱:“自然怎麼對付復雜的系統呢?每個單元各司其職。(開源社群中)成千上萬個人的補充的、獨立的、無私的行為就能解決系統的問題。---在無數人的努力下,這個系統變得更加強大。如果這個系統不能協調,它就無法起作用。且要以一群核心開發者為中心。”
不過其它參與ACCU大會的產業專家則不認為開源程序會優於封閉程序。現德克薩斯州農工大學教授,C++創始人Bjarne Stroustrup稱,開源軟件的質量並不一定更出眾。
“開放源代碼是個好主意,但也非所有開源程序都是好的。” Stroustrup說:“有些全球最好的程序代碼就不是開源代碼。”
“例如,火星探測船(Mars Rover)的專屬程序就寫得相當好,已經在火星上運作了15個月,而且不得不進行遙控調試。”
Coplien爭辯說,由於有更多人關注開源軟件,並從中找出漏洞。與閉源軟件相比,它經過更好的測試。“如果我能在Linux中找到一個漏洞,這可說是一個終身的成就。” Coplien講。“在Linux社群中,找出一個漏洞就像是獲得一枚勳章一樣。”他說,並補充道,由於開源開發者知道自己寫出的代碼會受到許多別的開發者的審查,在這種壓力下,他們會寫出更優秀的代碼。
但開源代碼軟件的安全性受到爭議。Linux 核心共同維護人Andrew Morton本周就表示,由於測試Linux這一開源操作系統的人員缺乏“名聲、金錢或其它肯定”,這個系統的長期穩定性受到威脅。另一位劍橋大學安全工程教授Ross Anderson在ACCU大會的講話中表示,開源軟件基本上不會比封閉源碼軟件更安全。盡管使用者可以看到程序代碼,可以尋找漏洞,並對代碼的弱點進行修復。但這也可能使有心者更容易攻擊這類軟件。
但是,如果不對等的情況出現,就會使攻擊者或保護者擁有額外的優勢,這就會影響開源或閉源軟件的安全,Anderson稱。降低閉源軟件安全性的因素包括商業考慮,即公司由於費用問題不願修復漏洞;或是公關考慮,即公司為了避免負面影響試圖隱瞞軟件的漏洞信息。Anderson說。
Anderson對這一問題的研究的一個PDF文件可以在劍橋大學的網站上找到。