Linux再遇能否使用专有代码老问题
在Linux 中实现漂亮图形的计划引发了一个老生常谈的问题:专有软件能够被应用在开放源代码的Linux 吗?
这一问题牵涉到被称为驱动程序的软件模块。驱动程序是软件与网卡、硬盘、显卡等硬件通讯的桥梁。在Linux 中使用这样的驱动程序非常常见,但对于让操作系统界面更吸引眼球来说,这几乎是必需的。
要在桌面上实现3D效果和与Windows 相似的视觉效果,软件就需要利用图形芯片的强大处理能力。尽管Linux 内核是开放源代码软件,但Nvidia和ATI 的驱动程序却不是开放源代码软件。
专有驱动程序引起了纯开放源代码主义者和实用主义者之间的冲突。自由软件基金会(FSF )表示,GPL 许可禁止使用专有的驱动程序。但是,尽管FSF 在开放源代码软件领域的势力非常强大,它在这一问题上遭遇了激烈反对。
The 451 Group 的分析师拉文说,如果Linux 希望得到更广泛厂商的支持,开放源代码社区需要向专有软件作一定的妥协。
要在没有来自Nvidia或ATI 的帮助下开发开放源代码的显卡驱动程序是件非常困难的事。高端Linux 硬件厂商Phoronix的创始人迈克尔表示,在很大程度上,专有驱动程序是现代图形芯片的唯一选择。
Nvidia的GeForce 7 系列和ATI 的Radeon X1000系列芯片目前都没有提供任何的开放源代码驱动程序。采用反向工程的方法开发开放源代码驱动程序通常需要数个月的时间,而且通常也相当粗糙。
ATI 表示,出于知识产权的原因,它的驱动程序仍然是专有的。ATI 的Linux 软件技术经理马太说,ATI 许可了第三方的一些知识产权,我们必须保护这些知识产权。
显卡市场的竞争异常激烈,尤其是在高端市场,我们拥有许多知识产权,我们希望在尽可能的情况下保持它们的专有性,它们是商业秘密的一部分。
对于Nvidia来说,知识产权是一个次要的问题。Nvidia的软件产品经理安德鲁说,开发开放源代码的驱动程序非常困难。另外,客户也没有要求开放源代码的驱动程序。
Nvidia的一些组件是开放的,包括一些驱动程序配置工具和与内核通讯的一个驱动程序组件。我们相信使驱动程序开放源代码化是非常重要的。
对于使Linux 具有可以与Mac OS X和微软Windows Vista 相媲美的3D图形效果的计划,二家公司都采取了合作态度。
ATI 正在与Novell就Xgl 软件进行紧密合作。Nvidia负责Unix图形驱动程序的经理安迪表示,Nvidia更青睐Red Hat 的AIGLX。
Linux的创始人托瓦尔兹表示,在Linux 中使用一些专有模块是允许的,因为它们并非来自Linux 内核,而是为其它操作系统编写的。如果最初是为Linux 内核开发的,则它们必须符合GPL 许可方式。
FSF 则反对这种看法。FSF 的律师埃本在1 月份接受采访时说,如果内核完全符合GPL ,就不能在内核中连接专有显卡驱动程序,无论是动态的还是静态的。
即使是有效的,专有的驱动程序也会带来一些复杂性。英特尔负责Linux 和开放源代码战略的的主管德克说,如果采用了开放源代码的内核,如果在其中增添了专有的二进制模块,它将削弱向客户提供相同等级服务的能力。
Red Hat 的技术总监史蒂文斯表示,出于商业原因,他们对专有驱动程序说不。他说,有许多聪明的人在开发开放源代码的驱动程序。
Red Hat 呼吁图形硬件厂商通过共享硬件详细规格帮助开放源代码编程人员,史蒂文斯说,我们已经直接要求它们完全开放产品规格,尽管它们目前还没有这样做。
英特尔相信它可以利用开放源代码驱动程序蚕食Nvidia和ATI 的市场,它已经获得了Red Hat 的支持。史蒂文斯说,英特尔与开放源代码社区的合作是其一大优势。