近年来,源代码开放运动闹得轰轰烈烈,不仅让微软胆战心寒,连整个软件业都为之侧目。日本、中国、美国、英国、德国等国家的政府有关部门也纷纷表态,将在政府采购中倾向于开放源代码软件,无疑给开放源代码的支持者们吃了定心丸。印度总统阿卜杜尔·卡拉姆最近更是在一次演讲中表示,发展中国家应当广泛使用开放源代码软件。然而,在方兴未艾的源代码开放运动中,出现了许多让人意想不到的尴尬,不能不引起大家的重视。
尴尬之一:知识产权
开放源代码(Open source)是指将软件的源代码公开,例如把软件的源代码放在网上供人下载或者是以极其低廉的价格出售,用户对这类软件有使用、修改、复制的自由。根据开放源码促进会(OSI)的有关条款,发布开放源代码软件必须采用一定的许可协议。开放源代码的许可协议种类很多,主要有通用公共许可协议(GPL)、伯克利源码发布许可协议(BSD)、Sun社区源代码许可协议(SCSL)等。目前大部分开放源代码软件采用的是通用公共许可证(GPL)。
不管采用哪一种许可协议,开放源代码软件都会面临这样的尴尬,就是可能被修改者有意或者无意地添加进去某些侵犯他人知识产权和版权的代码。根据有关法律规定,如果某种开放源代码软件中包含侵权代码,那么发行者和用户都要承担相应的法律责任。事实上,对于厂商和用户而言,要辨别出一款经过遍布全球的爱好者们多次修改的开放源代码软件中是否存在侵权代码,不啻于一场噩梦。
Linux是开放源代码软件中的典型,可以说整个源代码开放运动的兴起都与Linux的成功息息相关。Linux的蓬勃发展在很大程度上归结于它的内核采用了GPL许可协议,以至于全球各地的Linux爱好者都可以对它进行修改和完善。然而Linux没有逃脱知识产权的尴尬,今年3月9日,SCO公司控告IBM侵权并索赔10亿美元。SCO声称IBM将SCO拥有专利的Unix软件中的部分组件用在了Linux中,违背了当初达成的协议。5月15日,SCO公司向全球各地的Linux企业用户致信,声称Linux软件“未经授权侵犯了”Unix的技术,Linux商业用户将面临司法诉讼。
虽然这场闹得沸沸扬扬的官司至今还没有定论,但我们有理由相信SCO绝不会在没有丝毫证据的情况下上演一场闹剧。这场风波给提倡开放源代码的人们提了个醒,就是必须重视源代码开放软件可能引起的侵权问题。也就是说,对于发行源代码开放软件的厂商而言,应该严格注意选择代码的来源,尽量避免采用来路不明的代码。作为不希望招惹法律纠纷的用户,在购买源代码开放软件时则有必要与对方签订相应的免责协议,否则等于给自己留下了巨大的隐患。
尴尬之二:安全漏洞
有人认为,开放源代码软件会得到世界上成千上万的开发者们的审查,发现并修正它们的安全漏洞的时间会很快,因此在安全方面存在着天然优势。但究竟会有多少人查看软件公开的源代码并发现其中的漏洞还是个未知数,而且发现漏洞的人可能不会声张,甚至会利用这个漏洞达到不可告人的目的。从另一个角度看,正因为开放源代码能够让他人轻而易举地了解到软件的底层架构,那么来自黑客的攻击将更具有技巧和针对性。
事实上,从理论上分析开放源代码软件和封闭软件谁的安全漏洞更多、更容易遭到破坏是没有可靠依据的。根据国内知名的网络安全网站“绿盟科技”列出的安全漏洞记录分析,开放源代码软件的安全漏洞并不会比封闭软件少到哪里去。过去的半年中,出现过比较严重的安全漏洞的开放源代码软件包括:数据库MySQL及其客户端软件,广泛用于在Unix和Linux系统之间共享Windows文件的程序Samba,邮件服务器软件Sendmail,以及版本号为2.2和2.4的Linux内核。
无论是开放源代码软件还是封闭软件,存在安全漏洞都是不可避免的,即使有人不停地检查代码和修正安全漏洞,但随着软件功能的不断增强,新的安全漏洞又会出现。问题不是在于安全漏洞的多少,而是当安全漏洞出现的时候,谁来解决这个问题?对于封闭软件而言,软件开发商必须承担这项责任。但是谁又来为开放源代码软件的安全漏洞负责呢?是销售商还是最早提供软件的开发人员抑或是后来修改者?虽然目前开放源代码软件出现的安全漏洞大都是由相应的发行厂商解决,但从法律的角度分析,尚没有明确的条款来确保他们能够尽职尽责。随着开放源代码软件越来越多,安全漏洞层出不穷,最终由谁来全权承担消除安全漏洞的责任,还值得人们深思。
尴尬之三:用户需要
对于政府部门而言,软件是否开放源代码是一件非常重要的事情,毕竟这直接涉及到了国家的利益和安全。而且知道软件的源代码后,可以很方便地创建兼容性软件,既避免了为软件开发公司所控制,又能根据自身情况进行修改以更加符合使用要求,所以提倡政府部门使用开放源代码软件是很有必要的。正因为如此,微软也不得不低下高贵的头颅,向一些国家的政府开放了Windows的源代码。
但普通用户是不大可能关心软件是否开放源代码这个问题的,因为他们中的绝大多数人都没有能力去解读这些代码,更别说在此基础上进行二次开发了。就好像到商场买了台彩电,恐怕没有几个消费者会拆开研究里面的零件。一般的企业用户,如果不是专门的IT企业或者是有专门软件人才的公司,使用开放源代码软件与封闭软件的效果并没有多大的差别。因此,是否开放源代码很难成为人们选购软件的普遍标准。
以Linux操作系统为例,虽然从理论上讲每个用户都可以对其进行修改和编译,但实际上一般人连简单应用都成问题。开放源代码软件要想真正走向市场,赢得用户的青睐,单单凭“源代码开放”这个概念是远远不够的,还必须在易用性、可靠性等方面多下功夫,真正满足使用者的需求。如果有一天Linux同Windows一样简单,它才可能成为主流的桌面操作系统。
尴尬之四:商业开发
几乎任何一种源代码开放软件,要想得到大量应用的话,都得经过商业公司的修改、包装和出售。GNU颁发的GPL许可协议规定,任何人都能够对软件的源代码进行修改,但必须向别人无偿地开放自己所作的修改。BSD许可协议则允许企业将开放源代码软件转成专有软件。这里就出现了一个问题,就是一旦发现某种开放源代码软件极具市场潜力,那么很快就会出现一大批公司来争相推广,极容易造成恶性竞争。
Linux兴起后,立刻成了众多公司梦寐以求的摇钱树,它们纷纷推出各自的Linux版本。这样带来的恶果是一方面Linux版本繁多,用户难以选择,另一方面大批的Linux公司因为赚不到钱,不得不关门倒闭。开发Linux的厂商最多的时候有数百上千家,但时至今日,存活下来的已是寥寥无几,而且除了Red Hat尚能苟且偷生外,其他的Linux公司皆是摇摇欲坠。
源代码开放软件要想真正得到长足发展,必须能够带来足够的收益,才可能让相应的公司加大投入的力度,进一步提高其质量,赢得更大的市场。源代码开放软件由于成本低廉,销售价格也不可能高到哪儿去,因此很难从经营它们的本身来获取足够的利润,而必须想法从其他方面进行突破。所以,如何开发源代码开放软件的商业价值,便成了源代码开放运动能否真正兴起的关键。
到目前为止,开放源代码的Linux形成了年产值20多亿美元市场,但这个市场不是由开发Linux的软件公司主宰,而是由IBM、惠普、戴尔等电脑公司所控制。虽然全球的服务器市场不景气,预装Linux操作系统的服务器的销量却呈上升趋势。IDC最近发布的一份报告表明,今年一季度Linux服务器的出货量达到17.17万台,超过去年同期29.5%;营业额更是达到5.83亿美元,比去年同期增长35%。需要说明的是,Linux是被捆绑到服务器身上才被卖掉的。
这给了我们一种思路,就是把低成本的源代码开放软件作为一种附加值添加到其它产品(如硬件或服务)中去,增加这些产品的卖点,以此来赢得市场。然而从长远的角度看,这种做法无疑会大大降低源代码开放软件的重要性,对其自身的发展极为不利。究竟怎样做才能够有效地提高源代码开放软件的商业价值,还有待于IT企业在实践中摸索。




