對待開源 廠商為何“猶抱琵琶半遮面”

老魚筆記發表於2008-01-29

軟體設計天生就是可重用的,無論模組化設計,還是物件導向程式設計都體現了一個目標——減少不必要的重複開發。軟體是人類共同的財富,軟體的可繼承性是軟體迅速發展的基石。開源的目的也是最大程度地提高軟體的複用性。

  開源的好處是顯而易見的,甚至還是一些國家政府的要求,但為什麼各大軟體廠家在開源問題上還是“猶抱琵琶半遮面”呢?原因是多方面的。

  1.智慧財產權的保護

  保護智慧財產權是對人類科技工作的尊敬,專利保護已經有了上百年的歷史。然而到了資訊時代,這個保護卻變得有些困難,因為資訊產品的研發成本高,但複製的成本太低廉了。

  2.開原始碼的非產品性

  對於廠家來說,無論自己開放與否,都可以使用開源的程式碼為自己服務。降低研發成本就意味著利潤的增加,但是開源的程式碼直接使用的問題也很多。

  程式碼功能設計目的是不同的。自由程式碼的編寫是愛好者的思路,沒有具體的使用目標,而廠家推出的產品,是要對客戶負責的,目的性要強很多,所以對程式碼的改造是必然的,而程式碼的再造成本就要重新評估了。

  在程式碼測試中,原始碼是否在廠家產品的適用範圍,以及程式碼本身的測試,是使用開原始碼首先要解決的問題。由於開原始碼的編寫者大多數是愛好者,一般是在實驗環境中實現的,所以對實際工作環境的具體問題很難考慮周全。

  公共程式碼的漏洞是可怕的。取自公共的程式碼用到產品上,這段程式碼本身的缺陷同時也會帶到產品中。

  3.使用者的擔心

  產品是給使用者使用的,使用者對產品是否開源的心理是矛盾的,主要是擔心安全方面的問題。一方面,使用者希望廠商告訴自己實際的情況,使用者希望對自己使用的產品有足夠的瞭解,心理才能踏實。另一方面,使用者不希望知道的人太多,從安全的最小化原則講,知道的人越少就越安全。

  使用者的這種既要了解又不希望擴散的心理,對廠家的影響是巨大的。

  廠家是否選擇開源的程式碼,是否把自己的程式碼開放,都需要從使用產品的客戶角度去考慮。比如一些具有絕對壟斷地位的軟體有著難以衡量的安全隱患,我們認為讓其開源也是不錯的選擇,促使從開源的土壤中走出更多的競爭產品,打破壟斷地位。使用者有了真正的選擇權利,才是解決安全問題的根本方法。

  所以,我們提倡開源聯盟的發展,但不提倡所有的廠家都參與開源。商業與技術的發展關係緊密,但不是簡單的等價。

作者: 翟勝軍 來源: 中國計算機報

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11310314/viewspace-164241/,如需轉載,請註明出處,否則將追究法律責任。

相關文章