【IT168 分析】本文还是主要写给尊敬的孙永杰先生。有关Linux和windows的争论是一个永恒的话题。在经过了长期的口水战之后,我们可以适当从全局角度来分析下现状。最终我们会得出一个结论,我们应该理性看待Linux,而且Linux和Windows各有优势,各有市场,不存在竞争,这两个操作系统完全遵循和谐社会的准则。我们从以下几个角度分别作分析,本人主要想以通俗的形式阐述相关概念,部分技术细节问题未详究,如有疏漏您可以到LUPA社区里sanool的博客进行补充。
历史角度:
Linux为什么会出现?
这要追溯到所有中国人还不知道什么叫电脑的那个时代。当时一些软件公司已经开发了商用软件并投入市场,比如UNIX(那时还没有windows)。随着历史的发展,人们尤其是技术人员意识到使用那些专有的商业软件时在修改方面十分的不方便。因为那个时候应用软件不是很丰富,商业软件出来之后很难满足部分用户的实际需求。因此有人开始提出开放源代码(针对非技术人员如孙永杰先生,源代码的相关概念会在下一节解释)。当一些开源软件发布并由技术人员参与修改之后,大家发现这个东西还是比较有需求的。人们各取所需。稍微懂点技术的可以去下载开源软件,自己编译,优化性能或者做二次开发,可以供自己使用,也可以出售给用户(因为作者已经做了修改,付出了劳动,适当的收费是可取的)。随着这个概念的盛行。芬兰一个大学生也写了点代码来实现一个操作系统的基本功能。该功能就是能够在计算机接上电源启动之后实现对硬件的初步控制,包括内存、CPU以及显示等。这个就是Linux的雏形,当时的0.0.1版本在计算机启动之后唯一的功能就是在屏幕上显示出“AB”这个符号。但这个举动吸引了大量计算机爱好者。因为当这起步工作完成了之后就再继续做扩展就变得适当容易了些(写程序的人最怕开发驱动也就是那些和硬件打交道的程序)。于是乎通过互联网,越来越多的人参与到这个0.0.1版的Linux的扩展开发,很多人提交代码,然后由项目管理员进行审核,再次发布。这一切都是义务的,just for fun。其实这个程序应该叫做kernel。是Linux系统的核心部分。然后经过十多年的发展,造就了现在的Linux。
那现在的Linux到底是什么?
由于Linux的协作开发过程缺乏严格的过程管理,因此出现了专门负责整理和发布的企业(比如Redhat)。该类企业将网络上发布的linux内核(kernel)以及各种应用程序(比如文本编辑工具、办公软件、浏览器、播放器等)整合在一起,制作统一的界面,制作安装包,刻录光盘以提供给用户。也就是现在的fedora,suse,ubuntu等系统。当然也有些开源爱好者对企业的这种行为表示不满,所也有开放的组织在完成这个工作,比如centos、debian等。其实Linux就是一系列的代码开放的软件,想用的人那就去下载来用吧。而近期我们争论的无非是Linux 在个人桌面市场能否与windows竞争。这种争论毫无意义,但是在争论过程中恶意的去中伤Linux或者打击windows,那就不对了,不和谐了。
技术角度:
计算机所能识别的是0和1,程序员大多书负责编写人类较容易看懂的代码,然后交由编译器处理,转换成0和1,让计算机执行。Linux就是一个源代码开放的系统,这是一个对人类有贡献的杰作。因为计算机硬件通常就是这些CPU、内存、硬盘等,而有了Linux,则相当于对所有技术人员而言,编写操作系统有了一个参考的实例,技术人员可以做更多的事情。特别是在学习计算机原理的时候,有了Linux ,那就能很好的理解计算机内部是怎么运作的,各个硬件是如何协调的。这方面的价值无法从windows体现。因此可以说Linux实现了对计算机的底层操作,这成了一种可行的行业方案,而且非常具有价值,甚至windows在开发的过程中也参考了部分linux的优秀设计理念。Linux是操作系统的一个典型实例。当然windows在细节方面尤其是用户体验方面则考虑的更为周到。
那windows是什么?
我们可以这么理解,windows是一个源代码不开放的linux,他的诞生是微软投入了大量的人力物力才出现的一个产品。windows很优秀,尤其在图形显示和用户体验方面。于是乎微软不想将这么辛苦研制出来的软件开放给大家,这我们应该谅解。
因此从技术角度来说,开放源代码是善事。具体可参考我的你一定是个半开源程序员。
商业角度:
说到钱的问题,那就麻烦了。windows在中国几乎垄断了个人市场,因此在基于windows的应用软件方面微软赚到了足够的钱。于是乎我们不能面对这样的现状而不采取行动。一是考虑到垄断问题,这个后果大家都知道,都知道垄断意味着什么。二是安全性问题,因为linux实现了对计算机的底层操作,而且技术公开,这成了一种可行的行业方案,因此linux完全有存在的必要。大量的金融系统、军用系统都需要利用linux这个基础进行扩展。
但目前的状况就是linux在经过了大量的改进后开始涉足个人用户市场。开始影响到了windows的利益,哪怕是很小的一部分。于是斗争出现了。这个是问题的关键。经济利益是任何争论的根本因素。在此我们可以静观其变,用户会自己选择的,用户不是傻瓜。
开源的弊端:
开源是一种相对松散的开发模式,这点我们必须承认。做软件的都知道,当我们调用了一个开源的开发库,比如libxml。去实现我们需要的应用时难免会出现问题。当libxml自身升级时,甚至在开发接口上都会产生变化。究竟是采用开源的开发库还是商业版本,这值得思考。开源由于缺少强大的资金支持,缺少完善的产业链,在个人用户市场没有实现大量基础的娱乐性的应用,也是因为缺少用户群,缺少应用软件企业的支持。
任何事物总是有两面性的,我们看到了Linux的优势也应直面linux的劣势。对待windows也应如此。
能否更进一步?
回到争论的焦点,有关linux在个人市场能否更进一步呢?linux缺少娱乐等方面的应用是否恰好可以在政府机构、企业内部推广呢?
这么分析下来,我们可以发现有关Linux与Windows的斗争是没有意义的。双方本身就有各自存在的价值和意义。
记得微软官方最开始忽略过linux,然后嘲笑过linux,最后也打击过linux,现在呢?linux依旧,windows依旧。
可都发展到这个阶段了,尊敬的孙永杰先生还冒出来去重复历史,这也来的太晚,太不是时候了吧。即使是微软要请枪手,那也不会推出如此没有水准的软文。当然您的文章再次让更多的人知道了Linux,再此我起码可以代表LUPA开源社区的几十万成员以及大量的开源软件爱好者向您表示感谢。