毫无疑问,开放源码软件以及开放源码哲学在2007年获得了巨大的进步。尽管回顾过去容易对进步感觉良好,但现在是整个社区需要尽量向前看,已决定继续加快这个进步的趋势所需要做的事情。
为抛砖引玉,我编排了开放源码在2008年需要做的五件事情,其中一些事情属于广传福音,一些则让我们反省。所有的这些事情在2007年已经获得了一些关注,在2008年也同等重要,甚至更为引人注目。这个清单并不详尽,目的是激发进一步的讨论。
1、更好的硬件支持
我们需要更多的硬件制造商投入开放源码的浪潮,包括台式PC制造商和其他类似的设备厂家。
已经得到在开放源码软件中运行的认证、或者将开放源码软件作为标准的主流硬件设备越来越多。戴尔公司将UbuntuLinux作为预装产品,采用 Linux的EverexgPC销售良好的做法鼓舞人心, Asus提供运行Xandros的整个亚笔记本产品线(EeePC),这些都鼓舞人心。
这些产品不仅仅将Linux推向更多用户的手中,而且为更多的硬件推出了开放源码驱动程序。这样的开发将推动制造商制造更多没有人为限制、更好的产品的竞争。举个例子,某个硬件产品通过其中的固件限制使用某些功能,而这些被限制的功能能够通过第三方固件被起用。
例如,当我购买下一代室内网络路由器时,我计划购买能够支持Tomato这样的开放源码固件的产品。我不希望被制造商的限制所用的功能,尤其是他们提供固件升级的速度与开放源码项目相比,其速度像冰川世纪一样缓慢。
我怀疑制造商不愿意以这么快的速度升级的原因在于存在一个人为制造的稀缺市场,而且这个市场可能将一直存在。这是制造商锁定市场的具体表现,使制造商能够控制消费者。例如,我的佳能数码相机本身能够拍摄未压缩的RAW照片的功能,但是在我这个型号中不能使用,可能是因为使用消费级光学镜头拍摄RAW照片用处不大。尽管如此,这款照相机仍然可能拍摄RAW照片,在需要的时候我当然愿意使用这个功能。事实上,由第三方破解人士提供的专门固件使我能够拍摄RAW 照片。
我认为开放源码并不能够完全终结这个人为制造的稀缺市场,而且肯定有人希望购买被固件限制的产品的市场,他们也无意去掉这些限制,而厂家也锁定市场也总有其原因。但是我相信开放而不是封闭是标准作法的市场已经越来越可能、越来越使人满意,我们应当从各个方面向硬件制造商施加压力。
2、对开放源码友好的无线环境
我们需要国家级的无线运营商尽可能友好地对待开放源码和开放标准。这方面已经有些开始,但是,相关的开放细节、gotchas和backtracking比各种承诺和停留在书面的联盟更重要。
首先让我们看看好的方面:Google的Android和Verizon的开放网络承诺。Android能够在通常不欢迎它的手机软件上运行,Verizon则承诺与通过认证的产品进行互操作。
尽管如此,仍然存在许多不足的地方。
在网络方面,尽管使用产品的自由是一个问题,但还不成为一个大问题,数据自由才是问题所在。如果数据的流通成本高得令人却步,那么开发、灵活并得到支持的设备在这样的网络上也没有什么用处。
然而,一旦开放设备开始在这样的网络上使用,它们创造的可能性可能使无线运营商重新考虑其商业模式,否则就会输给竞争对手。如果手机成为人们上网的主要途径,当前的计划、手机和应用程序都不足够,这样的压力就是这些设备需要做更多的事情。
一般认为基础设施而不是部署政策是拖慢变化的主要因素。日本和韩国的电信和无线网络常常与美国的电信和网络进行比较,原因很多,而国家的大小则是一个原因:像韩国这样大小的国家部署下一代宽带更容易、成本更低,而在美国的一个州做这样的事情都很难。
但是问什么大门一直关上却没有原因。现在正是移动电信开放的时机,一旦大门打开一个门缝,就无法再关上了。
3、微软公布真相
我们需要微软公司一次性地提出其Linux专利要求,或者干脆闭上嘴巴,不要咬人,也不要推出没有细节内容的条条款款。如果微软公司想利用而不是打击 Linux(或者Unix),它就需要光明正大地行事,需要提供完整清晰的文件来证明Linux和Unix中的专利技术。
微软设立了OpenSourceLab,希望成为开放源码国度的一个更好的市民,我们表示欢迎,但我们很难认可它的举动,因为它在开放源码里的主要行为就是暗中接触相关的居民,向各家Linux厂家发放专利许可。
微软当然有理由这样做,这就给他们利用这些公司提供了条件。微软表示不希望起诉各家公司,但微软与其达成的协议对大家保密,不让人知道哪些技术、哪些方面进行许可,这就可能把别人拖进麻烦之中。
开放源码社区如何面对微软的诚心呢?
如果微软公司确实坦诚那些专利被侵犯了,就可能发生两件事。其一,任何绕不过取得专利将被开放源码社区标上标签,尽管有不方便和互操作性的代价,只能将其抛弃。例如,如果微软公司反对使用未经授权地对 NTFS进行逆向工程应用,Ubuntu将更难于将Windows用户迁移到Linux,除非从微软获得这个技术的许可。如果微软公司找上门来, Ubuntu拒绝申请许可,Ubuntu将失去其一大开箱即用的功能。如果Ubuntu同意申请微软的许可,又将受到开放源码同伴的对抗。两种情况都不尽如人意。同时,看来微软公司仅仅解除了那些非常顺从的厂家。
其二,任何能够重新编写的部分将被重写以避免专利麻烦。这就是开放源码的自然力量所在:代码中没有神秘的东西,并且任何可能遭遇专利问题的部分都会被找出来,找到替换方案。然而,是不是侵权的部分都能绕过去还不一定,由于微软在Unix的时间很长,它们是否还有专利也并不清楚。
微软保持沉默的一个原因可能在于他们自己或者和其他公司一起正在缓慢、痛苦地搜寻,以确定自己拥有那些技术,并能够进行申明。目前的模糊不清的清单只是初步的结果。
有一点很明显:微软的所作所为面临巨大的外部压力。
那我们就保持这样的压力,并且表明我们的观点,他们不能再这样关起门来偷偷摸摸地行事。
4、可行的过渡途径
开放源码社区需要开辟出从专利知识产权向开放源码过渡的可行途径。无论你喜不喜欢,各种各样的专有知识产权,包括专利、限制性许可等各种形式,目前仍大行其道。如果你想从专有知识产权许可系统转向更为开放的系统,却发现没有可行的途径,你怎么办呢?
随着更多的产品进入开放源码领域,这个问题就越来越突出。典型例子就是SunMicrosystems将Java归到通用公共许可(GPL)这件事。知识产权法的迷藏使其成为GPL的速度让大家都不满意。
如何对待这些现有的知识产权还不明朗,但也可以做一些事情,在专有知识产权和自由的开放源码软件许可之间架起桥梁,使双方更易于跨越这个鸿沟。更大范围地宣传和培养允许知识产权从专有向FOSS所有者模型过渡的许可方案将对此有所帮助,这样专有软件开发人员或者专有软件用户不会受到不公平的对待,而开放源码开发人员也能受益。
过渡到开放源码的正确途径
其中一种方法就是双重许可方法 (duallicensing)。许多开放源码产品有多种许可方式,客户可选择最适合自己的方式。MySQL就是这样的产品:它有GPL版本和专有版本,二者都来自同样的代码。许可之间也可以转换,但是是单向转换:即不能从GPL版本转向专有版本。其情形虽然也复杂,但比Sun的Java情形要简单。
另一种许可方式是Ghostscript采用的方式:递减许可(regressivelicensing,),即最新的产品版本采用商用许可,而此前的版本则采用GPL许可。由于这是从专有代码许可向 GPL过渡,因此并不违背GPL的条件。如果一个公司希望对代码的最新版本进行适当严格的控制,这种方法不损害子最初的开发,又能够使产品进入开放源码社区。
我认为后面的这种选择也是从专有知识产权转向FOSS模型最直接的途径,虽然不适用于目前只在专有模式下许可的所有软件产品(如Java),但适用于不完全属于FOSS的新项目,又不会因为改变许可模式而饱受批评。
5、开放的心态
开放源码社区需要一点点地反思,最主要的是需要长远考虑,以及想清楚需要实现的目标,以及为此付出的代价。
我从定义开始。“开放源码社区”指的是大声宣传和实行开放源码哲学的人,他们设立其他人跟随的趋势,对其领域产生重大的影响。他们已经使开放源码软件不仅可行,而且有人很需要。
有关哲学的一个问题就是太容易从特殊的角度看待任何事情。某个组织不将其软件开放给开放源码社区,必定有其自身的考虑,也是适当的选择,并不自动的隐含道德的沦丧,对其进行攻击的努力更适于开发出替代产品。
在某些情况下,将一个产品推出为开放源码产品是合适的,另一些情况则需灵活对待。前不久我写过关于将OS/2边城开放源码的努力,然而相关的工作令人畏缩,是否值得去做也不一定。
接受现实世界,通过开放源码的思维方式带来切实、积极、清晰的好处,这就是开放源码社区运作最佳的时候。好的开放源码产品就是开放源码得最好论据,如桌面版Linux、OpenOffice.org和Firefox。
专有软件的开发人员也不能认为他们的方法就是最佳。尽管开放源码软件常常是更好的选择,也应该意识到这并不是唯一的选择。