桌面Linux操作系统:闭源软件与开源软件的较量

        【eNet硅谷动力专稿】大多数的IT人士在谈到Linux的时候,他们首先会生动地描述一个开源的操作系统内核,然后是一些运行在Linux平台上的其它软件,这些组合在一起就构成了了免费的并且开源的Linux服务器和桌面操作系统。对Linux的这种描述是相当准确的。毫无疑问,正是开源技术和社区合作使得Linux发展成为目前操系统领域的一股强大的力量。

        但是,到底什么时候我们可以接受—无论我们喜欢与否—闭源应用将最终被允许进入这个"开放"的世界里?毕竟,这么多年来,这种情况一直在发生,尽管Linux纯粹主义者一直强烈要求占据用户所有的时间。

        事实上,在Linux的世界里,闭源代码每天都在使用。一个比较有趣的事情是:我们大多数人从来就没有真正考虑过这件事情。

Linux闭源—这不是一个新概念

        虽然桌面Linux操作系统的核心(不论是那个发行版)是由开源代码驱动的,但是,它们也经常与一些很少引起人们注意的代码一起使用—事实上,许多Linux纯粹主义者似乎忘记了闭源软件和驱动程序每天都被成千上万的用户用于Linux桌面操作系统。

        从某些Linux发行版添加的特定的固件(用于确保无线兼容性)到大家所熟悉的开源软件WINE(WINE允许用户在Linux环境下运行封源的Windows应用程序),专有代码在Linux桌面操作系统上占有自己的一席之地。

        此外,如果没有Windows专有无线驱动程序,那么大多数本来是为Windows设计的笔记本电脑初获取无线连接?闭源代码现在已经成为了—很可能永远都是—Linux桌面操作系统的一个重要组成部分。

        如果代码工作正常,那么保持下去。

        最近发生的一件事—著名显示芯片生产商NVIDIA未能提供它的基于Linux的显卡驱动程序的源代码,再次引发了开源和闭源用户之间的敌对情绪。然而,与ATI不同地是,我本人在使用NVIDIA的闭源驱动程序时从来没有遇到过一个问题。任何出现的问题都被NVIDIA自己以相当快的速度解决掉了。

        那么,为什么又再次产生问题了呢?

        在过去,Linux开发人员已经对于"不得不围绕这些NVIDIA提供的驱动程序进行工作"表示过自己的顾虑和担心。主要是因为他们提前想到了如果用户选择安装了NVIDIA显卡驱动可以会引发的一些问题。

        尽管Linux开发人员存在顾虑,我想指出地是,一直以来NVIDIA对于错误控制做得相当好,并且令人难以理解地是,尽管目前闭源NVIDIA 驱动程序许可存在一些问题,不过Linux人员已经能够让事情顺利地进行下去。

        虽然任何一个开发人员都受挫于NVIDIA驱动程序的许可问题,事实上这些年来NVIDIA提供闭源驱动程序一直运转得非常好,每一个用户都受益于此。

        不要误会我的意思,我也很愿意看到NVIDIA向其它开源厂商一样开发自己的显卡驱动程序的源代码。不过,看到Linux 纯粹主义者大声呼吁联合抵制NVIDIA这样一个事实上支持Linux平台的供应商,这只不过是乞求尚未浮出水面的未来效应。

        对于任何想要涉足Linux开发领域的闭源软件公司来说,上述事件反映出来的负面影响将会给他们呈现出更大的问题。鉴于大多数软件公司和硬件公司都使用闭源软件,闭源世界对NVIDIA的决定的反应将会严重影响那些想要致力于Linx兼容性研究的硬件厂商的发展方向。

        一个令人感到同情的事情是,很多硬件厂商会因此会尽可能地推迟开源技术的研发,因为Linux开发人员在很大程度上被闭源世界视为"异类"。

        应用一致性,而不是源代码政治 

        不管人们对于NVIDIA这样的公司的决定感觉如何,事实上,目前有一些闭源应用软件与被广泛用于Linux环境下。并且,令人感到难以解释地是,似乎没有人对这些闭源软件的开放性斤斤计较,事实上这些软件对于代码的有效性限制地非常严格。 Skype就是一个很好的例子。

        Skype应用程序为Linux用户以及其它比较流行的操作系统平台提供了一个非常好的的VoIP客户端。VoIP软件功能非常强大,电话通话清晰,视频播放流畅。因此,虽然市场上已经出现了不少与Skype功能类似的开源产品,比如Ekiga (可用于Linux和Windows两种环境),不过大多数人仍选择在家里的Linux电脑上安装一个Skype VoIP客户端。

        尽管名称古怪的Ekiga与Skype功能类似,并且很多Linux发行版上(比如Ubuntu)默认安装Ekiga,不过大多数希望使用VoIP的用户在每次选择产品的时候都首选Skype。他们中的很多人其实并不关心Skype是如何得到许可的。他们所知道地只是每个人都是用Skype。

        此外,Skype几乎能够运行在你想到的任何一个平台上。另一方面,Ekiga刚开始设计的时候是专门为Linux平台打造的,只是后来才被修改成能适用于Windows平台,而苹果的OS X操作系统用户则完全被Ekiga拒之门外。

        综上所述, 可以很清楚地看到Skype给用户提供了一系列的一致性,而理解这一点是很关键的。掌握了一点你就能更好地理解为什么更多的人将不去理会Skype的开源替代品Ekiga。Ekiga或许比Skype提供了更多的"选择权",这是很多用户渴望得到的。比如,Ekiga支持SIP以及其它协议,而Skype只支持它自己的协议—Period。基于用户数,可能是由于市场营销的原因,Skype用户真的不关心他们的通信所使用的VoIP协议类型。

保持"开放路线"

        当你阅读本文的时候,一定要认识到这并不是对Linux或开源技术的抨击,这一点非常重要。而要将本文看作是唤醒大家关注软件可用性和实用性的暮鼓晨钟。

        如果可能地话,我很想看一看Linux平台所遇到的每一个挑战,以及开源软件是如何应对这一挑战的。然而,当你所生活的世界到处充斥着专利MP3、加密的DVD、三维加速驱动模块和闭源Windows无线驱动程序时,你很快就会认识到闭源仍然是非常真实的—不管你每天使用的操作系统平台是什么。

        当然这也会有摩擦。如果某一操作系统平台的闭源应拥程序能够带来足够的可以感觉到的价值,那么用户将会非常乐意为它付钱。

        也许用户为Linux操作系统购买闭源软件的一个最好的例子就是一个特定的视频编辑应用软件— MainActor。MainActor现在已经停售,它曾经给Linux用户提供了极大的方便性,而和它功能类似的开源产品KDENLive则远远没有它做得好。

        对于一般的用户,MainActor是他们学习视频编缉最好的选择。因为它允许各个技术水平阶层的用户编辑视频,用户界面非常友好并且向导非常详细。因此,即使MainActor刚开始发布的时候,市面上已经又功能类似的开源产品了,但是这些开源产品要么没用户界面不够友好从而不能满足大多数Linux用户的需要,要么不稳定不适合专业人士使用。

封源代码对于现在的Linux发行版是不是一个威胁呢?

        当思考Liux桌面操作系统的闭源问题是,需要时刻牢记的一件事就是Linux内核本身必须"保持纯洁",不能遭到任何闭源技术的"攻击"。

        这意味着,专有代码不会突然开始出现在最高级别的Linux内核开发中,从而突然违反了我们长久以来一直熟知的Linux定律。Linux从来就没有真正受到威胁。

        组成操作系的最重要的代码块有一些安全保护措施以确保它不会使用那些未经开源许可授权的代码。这并不是说一些Linux发行版不采用Vanilla 内核或者不添加任何适合使用的新功能。但是这对于那些不使用这些Linux发行版的用户来说绝对没有任何影响。

        然而,封源代码在Linux中顽强的存活了下来,并且大有发展壮大之势。作为Linux用户来说,在一些基本的水平上这是我们日常生活的一部分。的确,闭源代码已经成为了现有的Linux桌面操作系统领域的一个相当大的组成部分,这是一个难以否认的事实。不过,每一个Linux用户对这一事实如何作出反应则他们自己思想斗争的结果。