闲话混源应用
+lzy

前几天,老杨问我道:我这边需要一些混源应用的文章……
可是我将混源应用看成了“混混应用”,感到很奇怪,何谓混混应用?难道是老杨打错了?还是新出来的一个概念,一种混沌理论的应用吗?
闲话少说,言归正题。
所谓混源应用者,望文生义,就是将开源软件和闭源软件混合在一起应用。
也许大家初次听到混源应用,感到一头雾水。其实在平时的应用中,大家其实在无意中,实施了混源应用,只是自己不知道罢了。
相信大家可能都不知道Media Player Classic吧?但一定知道暴风影音、风雷影音……其实暴风影音们用的就是Media Player Classic,暴风影音将Media Player Classic整合进了许多视频×××然后打包改头换面重新发行,且不论暴风影音的做法是否符合GPL协议,就说大家使用暴风影音就是混源应用的一个典型。
混源,是最近两年才出现的新词汇,由“mixed source”翻译过来。是相对于闭源软件(closed source)和开源软件(open source)而言,它是兼有闭源软件和开源软件的一种混合体。
实际上,在很多环境中,尤其是大企业,都是处于一种混源的IT环境中,不仅仅是用开源软件来改善业务,更多的因素是节省软件费用。
从客户端的角度来看,混源应用较过去更为普遍。如Firefox7-Zip等,都占据了一些份额。最近出现了模仿Debian Linux及其衍生版本的APT软件包的升级方式,即win-get,类似apt-get,这就是混源应用的一个很不错的尝试。
从服务端角度来看,混源应用的环境也是很广泛的。知道WAMP吗?就是Windows平台搭配开源的ApacheMySQLPHP,其实就是一种混源应用。微软已经计划在IIS 7.0模仿开源 Apache的特性,通过FastCGI原生支持多种开源开发环境,如PHPPythonRyby on Rails等等。这就是开源和微软闭源有趣的结合。
但是,也有对于混源应用不利的消息,就是BitTorrent后来宣布封闭了源代码,我认为会对其他非BitTorrent官方客户端带来不可预料的影响,当然,不在本文讨论范畴之内。
话说回来,提到开源,第一个浮现在脑中就是Linux,公共的代码和年轻的理想主义者。
软件巨头的基层竞争者是不可抵挡的;从知识产权的外衣中剥去不符自然的法则的确很大胆;谁会不喜欢年轻的理想主义者呢?
但是尽管开源哲学已经做了很多有意义的工作,但大家都认为它还没完成它真正的内在需求。
的确,一个年轻的乖戾之人没有善心,一个年老的理想主义者没有头脑。
给开源代码一个合法手段确实很好,但时下有观点认为更重要的是把开源理念应用到数据上。
事实上,我们更希望数据能够被公开而不是代码。代码可以,经常也应该被一次又一次的重写,重构,但是只有合适的数据才能使系统运转。这个世界上相互关系已经越来越紧密了,不仅仅是人们,也有我们所用的计算设备,互相联系的越来越紧密。举个例子来说,我的日程安排软件的代码是开源还是的私有的变得越来越不重要;无论你使用微软的IIS还是Apache,使用.NETX.org都不重要。真正重要的是这个日程数据是不是符合(例如)iCalendar 格式。当数据的重要性明确以后,应用软件的来源,它是开源的还是闭源的,都无关紧要了。我想这就是混源应用的初衷,最基本的出发点。并不是开源和闭源之间不可调合的战争,也不能简单的看作是开源和闭源之间的妥协。
所以,讨论“开源闭源孰优孰劣”的命题,没有意义,因为如今应用的环境,完全闭源的环境和完全开源的环境很罕见了,而是混源状态。
我在这里,邀请51CTO同行们就混源应用撰写更多的好文,让我们一起进步,一起共享心得。