歡迎您光臨本站 註冊首頁

二進位驅動程序在自由操作系統中的角色(2)

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

來自linux人社區 www.linux-ren.org

商業的秘密

通常廠商認為:代碼或文檔的公開往往會影響公司的競爭力,在某些情況下,這種想法是對的。例如,在顯卡加速市場, 許多優化是軟體實現的。 一個競爭者能知道所以技術細節,那原來廠商就可能失去他的部分優勢。當公司把一部分資金投入到這些優化的設計和實現上的時候,公司肯定是認為這些軟體投入比投入到硬體然後在從競爭者那裡買驅動更值得。

然而使用別人的驅動有時是不可行的,因為大多數硬體,不是完全相同,各自都有部分很複雜,因此在一種硬體上的實現的優化技術在其它硬體上可能還降低性能。


這個論點的失敗在於介面的說明書。硬體介面說明書基本上就沒給出實現的細節。例如,他們會告訴你:對於某個特殊的操作,需要設置哪些寄存器。內部實現很複雜。來看看Pentium II和Athlon,它們執行相同的指令集,有相同的介面, 但是執行的方式不同。

一些顯卡廠商已經聲明他們的代碼是有license的,在這種情況下, 他們不可能給出全部代碼。這是一個大問題。當Sun公司收購StarOffice時候,公司花了相當長的時間對代碼進行審查,看看哪些是專有的, 哪些是licensed。Solaris也正在做類似的事。去判別驅動的哪部分可以released不總是一個經濟可行的措施。但這並不妨礙給出說明書。


硬體差

不給出文檔的一個原因是驅動程序繞開會導致硬體崩潰的操作,因為廠商不希望對外界宣布他的硬體有多麼差。

給問題的一個很好的實例就是Realtek 8139 Ethernet控制晶元。該晶元的OpenBSD的驅動開頭是 “我把此失敗歸咎於RealTek的設計….”,而FreeBSD給予了更嚴厲的批評: Realtek 8139 PCI NIC 重新定義了 "low end." 這可能是除了SMC的FEAST晶元以外的最差的PCI Ethernet 控制器。

這樣的評論會影響晶元的銷售嗎?不會, 在我認識的人中至少有一個人在用這樣的晶元。儘管設計如此差,但是由於其價格便宜同時該晶元的功能滿足用戶的需要, 所以使用免費軟體的用戶 還是會選擇該晶元。


說明書已經不存在了。

儘管很少將之作為借口,但這是公司不公開他們設備的說明書的最可能的理由。公司的驅動程序開發小組可能用不完整的說明書或與開發實現相關的材料。如果沒有質量說明書,那隻能寫一個。這個要求可能太高,因為不能贏利, 估計很難讓公司的管理層確信寫說明書會帶來好處。

對於驅動開發小組來說,好的硬體文檔通常有利於提高驅動程序的質量。如果公司不給一個詳細的說明書是因為沒有文檔,那麼,當使用
該廠商的驅動程序時,要多加小心。


結論

不支持開發免費的驅動程序有許多原因。在這些原因中,有合理的,但大多數是不合理的, 特別是因為不公開文檔給其它開發驅動程序的人而不支持開發免費的驅動程序。

你是否在免費OS里使用二進位驅動程序, 這取決於你為什麼選用免費OS。如果理由是透明、安全、穩定、可說明或自由, 那麼二進位的驅動程序可能會消弱這些特性。如果你有其它原因, 那麼使用二進位驅動程序可以說是一個比較實際的選擇。


[火星人 ] 二進位驅動程序在自由操作系統中的角色(2)已經有283次圍觀

http://coctec.com/docs/discuss/show-post-74700.html