在网络上大家经常能看到争论Linux和Windows哪个更实用的帖子。两者无非抱持两种论点,Linux胜在价格和灵活性,Windows胜在简便和可用。一般来说都是说,不论怎么说,Linux可以如何如何而Windows不行。或者是,Windows可以什么什么而Linux不行。

总体来说,Windows擅长于桌面应用而Linux擅长于服务系统。Windows最大的资本在于品牌和延伸。Windows的品牌和可乐的不同在于,可乐的品牌仅仅是牌子,是虚拟价值。一旦可乐公司全部烧毁,那么能否靠可乐的牌子重新站起还是一个问题。但是Windows的牌子还附带了用户对于UI操作方式的粘滞。一旦M$烧了,别人也是很难抢这个蛋糕的。Linux长处在于免费,就单机成本来说,Linux远远要低于Windows。但是这是不完全的运营模式。一个不赚钱的项目?如何吸引别人?

我不考虑Windows和Linux哪个更好,而是考虑另外两个问题。他们是否有存在的必要,以及他们谁更适合我。

大家想必知道,POSIX标准下还有Linux,BSD,Solaris的分别。如果今天不是WL之争,是否会出现UL之争呢?我不知道,历史无法假设。不过我相信,多个公司多种模式的混合竞争,会造成好的效应。很多Windows项目,都潜在的为Linux项目提供了资金(至少M$养活了很多程序员)。而很多Linux项目,又为Windows项目提供了技术和支持。最重要的是,没有Linux的追赶,windows就会无限制的膨胀,垄断,守旧,出现问题。而没有挑战Windows的需要,Linux也不会不断进步。

很多人往往把Windows和Linux等同到开源软件和商业软件。其实这是不严格的。软件往往分为商业软件,试用软件,共享软件和免费软件。商业软件是指代码封闭,作为公司的一个资产。可以转让,可以有条件开放。软件收取使用费用,并且出品公司对于功能提供保证。这样的一类软件。试用软件是商业软件的特殊版本,指限制或者取消了部分或全部功能,准许用户合法免费有限使用的一种特例。代码可以封闭也可以开放(但即使开放也往往是部分代码,甚至是理论代码),通常是全部软件的一个部分,或者是修改版。往往可以通过缴费来变成商业软件。共享软件指软件作者保留软件的所有权,但是免费的发行软件,不收取费用或者仅仅收取手续费。源码可以封闭也可以开放。免费软件指作者按照源码形式发布软件,并且放弃源码所有权力。一般有有条件发布和无条件发布。GPL就是一种发布条件,虽然作者不继续拥有代码所有权力,但是这些代码不得进入商业领域。而无条件的免费软件,所有者放弃所有权力,任何人可以合法的运用其中的代码。

由此来看的话,大致是商业软件和试用软件一个阵营,共享软件和免费软件一个阵营。然后,Windows上有大量的共享软件,例如Winamp,这已经是Windows得以生存的一个基础了。Linux上面也有很多的商业软件,例如MAYA。往往是属于免费阵营的共享软件稳固了Windows的存在基础,给Windows系统提供了大量的功能和定制。而属于商业阵营的MAYA等为开发4Linux的软件,而为Linux提供了大量的资金。

至于哪个更适合我(注意,这里的我,可不是贝壳本人),则要看系统的功能,成本,特性而定了。首先是成本问题,M$曾经提出所谓总体拥有成本。即,Windows通过一次购买就可以低成本的运行,而Linux一般都是要为机器配备高水准的管理员。所以管理员水平的上涨引发的费用应当被计入成本中。而且Windows系统对于操作者是基本不用培训的,而Linux需要培训操作者,因此也会产生成本。

问题在于,Windows一次购买1000台机器的时候,大约40W是的纯软件成本。如果原来是需要配置3个网管,现在要配置5个高水准的。那么原来大约需要12W一年,现在需要25W一年。如果3年内需要购买升级产品,则会导致Windows的成本反而高。问题在于,Windows也是会购买升级的,所以软件的成本也会平摊在每年上。当运行的机器多了,就会导致网管的工资上升不算啥的状况。而且注意,其中还不包括因为要在Windows上工作而需要购买的其他软件,例如Office。如此计算下来,单纯从配置的平均拥有成本讲,Windows不占有优势。

不过在雇员培训上,Windows就非常有优势了。现在会Office的雇员满天飞,不会才奇怪。因此可以说是无成本的。然后不会的人找起来反而困难,加上培训,每人成本就要高出100-200。而且非Windows环境和Windows环境交互上比较麻烦,所以这个成本还要更高。从这点来说,一般企业都不适合用Linux。什么企业适合呢?1000台以上机器,雇员学历偏高,在和他人交互上需要他人配合的企业。其实去了企业就可以明白说是政府了。

特性上说,Linux奉行的是专业分工合作的模式。由一个软件完成一个非常专的部分,例如排序,或者下载。然后通过交互通道来协调各个软件,达到一个复杂软件的构成。例如一个邮件软件,可以在里面加入HTML,加入加密,加入VIM编辑。定制性非常强,对于和某些常见任务接近但是细节上有区别,又强调细节必须实现的特殊任务。往往可以非常简单快速的完成。例如同样一个从Internel上面抓专利信息形成数据库的工作,Windows下要专门写程序,而Linux下面可以通过连接lynx|sed>来完成。

然而这对于使用者水平要求非常高,如果不熟悉系统,根本无法做到。对于学校,专家来说,使用Linux是非常方便的。而对于正常用户来说,Linux可就是鸡肋了。

windows的特性是大而全,思考是基于用户傻瓜的模式。固然没人愿意说自己是傻瓜,可是做傻瓜考量的软件总不做天才考量的软件好用。简单来说,windows不追求低成本,不追求好用,只追求用户最简单可以用。可见,随着电脑普及,windows这种思路是无法持续的,或者至少是要萎缩的。

最后一个是功能,Linux的功能和windows总体评价来看差不多。不过Linux的软件更多是专业用的,例如免费的符号表达求解。而windows更多是娱乐的,例如游戏。因此要实现有限功能的人可以自由选择,例如办公环境。需要专业的人最好用Linux,需要娱乐的人最好用windows。

综上来说,对于政府,学校,专家,需要专业软件的人,建议选择Linux。而对于中小企业,需要娱乐的个人,最好选择Windows。