近来看一篇“hacking是艺术还是科学”的文章,由此产生了一系列的联想。由艺术联系到文化是再自然不过的事,人类的历史既是科技的发展史,也是艺术的发展史。艺术(广义上包括文学)和科技构成了文化。而当今似乎科技被从文化中分离开来,于是我们不得不重谈文化。因为同商业主导的其他产物不同,Linux更是一种文化的象征。
Linux的发展,是文化的发展
近来看一篇“hacking是艺术还是科学”的文章,由此产生了一系列的联想。由艺术联系到文化是再自然不过的事,人类的历史既是科技的发展史,也是艺术的发展史。艺术(广义上包括文学)和科技构成了文化。而当今似乎科技被从文化中分离开来,于是我们不得不重谈文化。因为同商业主导的其他产物不同,Linux更是一种文化的象征。
第一在linux的媒体上看到马克思的头像觉得很可笑,但是思索一番后方才醒悟:资讯难道不是一种生产资料吗?开源与私有,恰恰就是资讯的分配方式的区别。
件同货币联系起来时,资讯的圈地运动正式开始。并在几年的你争我夺中拼杀下来。同社会的发展不同的是,软件业是直接从“原始的共产”跳向“资本”形式的。以货币来交换软件的确在一定的时期对经济起到很大的促进的作用。但是却限制了更多的人生产形式更加多样化的软件的能力。长远角度看这是对发展不利的。于是,共有的分配资讯的方式又被一些人重新重视起来。
这种共有资讯的复苏代表这软件的文艺复兴,也就是文化的复兴。开源的意义在于,首先是传播文化,文化产生软件。如同艺术中很难找到两部及其相似油画一样,社区中很难找到两部概念过分接近的软件。这就是开源社区的精神:知识的高度分享,而且高效的利用,最大限度地避免重复浪费。
初期的开源作者也是理想主义者。同早期的无产者一样,资讯无产者也是理想主义者。理想主义者感染理想主义者,却拒绝了更多的实用主义者。一定程度上限制的自身的发展。Eric不是理想主义者,所以当他提出开源作为商业模式时,就同人们第一次听到中国改革开发一样!事实证明这种决定是正确的!不同的文化中都有优秀特点、优秀的人。优秀的特点借鉴过来,优秀的人吸引过来,文化群体才能由此而壮大!相反,如果我们不能同其他群体的人和睦相处,对这些人进行人身攻击和冷言嘲讽,认为linux具有高高在上的优越感。这样非但不能为我们的群体吸引更多的优秀的支持者。也会使其他的群体产生我们本身的群体数字偏低的印象。
Linux同Windows,文化于市场的差别
我个人认为Linux同Windows不存在讨论技术的差别的意义。因为很难指定出一种适普的标准来衡量它们。但是,他们身上一些特点的却十分明显地分别体现出文化与市场的特征:
分发机制
最初的linux用户真正的是from scratch。因为发布的内核同各类的GNU软件分不在网络的各个角落。包括为了拥有图形界面,也要在安装X之后编译大量的其他软件。而为上市而开发的windows却是一个超大的软件包。因为要做到真正的“友好”,不可能让用户用一个月的时间来安装应用软件,何况入门用户还根本无法安装应用软件。大家记得身边有些人是花多长时间理解“添加删除程序的”。
同样,普及或者商业化必然就要走集成的道路。从最早期的红帽子,到GNOME,KDE的问世。社区已经尽力提供了各种手段来促进Linux的市场和普及。当然也越来越类似windows,一些操作方式开始向windows兼容。而近年来国内一个Linux厂商的发行本将这种趋势推至极限,因此相当的受国际社区的反感。
第三方软件的管理机制
除了历史遗留问题和向DOS兼容问题。一些Windows的机制我认为不是一个Linux爱好者们所说的缺陷,而是最大限度的面向市场的结果。下面一一举例说明:
1)目录的管理方式和注册表
windows使用相互独立的第三方软件目录组织方式,并且尽量避免不必要的软件安装到系统的目录下。这样的组织正是市场最大化的结果。由于商业竞争,封闭源代码的原因。每个厂商在开发软件时的命名相互之间经常产生冲突,即使是共享库之间也互不兼容。唯一的办法就是放在各自的目录下。但这样运行程序的时候的路径又成了问题,于是目录的方式必然导致了注册表的诞生,让程序员通过注册表解决路径问题。同样也捎带解决了配置文件的路径问题,可以尽量少的避免使用配置文件了。
linux向来就没有第三方的软件的概念,从unix被发明时起就是这样。所有的软件都装在标准的几个目录下,而信息的高度共享是避免冲突的最有效的方式。这种方式可以把脚本的作用发挥到极限,以我个人的观点:同样是脚本,对windows和linux的意义有本质的区别。二者区别的根本原因就是目录的组织。而由于是信息的透明,如存在操作系统对第三方软件的保密问题,也不存在冲突问题。但是,也注定起不到windows那样的商业效果。
2)病毒的肆虐,历史遗留和市场综合作用的结果
我个人不同意*nix上鲜有病毒是因为用户数量过少的说法。我认为windows上的病毒肆虐主要有两个因素:
首先是历史遗留问题。unix从一开始就是多用户多人的操作系统,所以首先从一开始就要为权限等安全问题考虑,并且制定了一套在相当长一段时期行之有效的安全机制。而DOS的目标是在一个性能十分有限的微型计算机上提供一个简单的系统。这是十分合理的!但是却为后来的系统设计安全机制带来了兼容的问题。这是作为一个厂商和封闭源代码的软件必须考虑的。也导致了早期windows的16位代码等等。而且这些问题一直延伸到最新的操作系统和文件系统。最新的NT内核的系统也从unix身上借鉴了一些特性。但受兼容性的束缚很多问题的解决几乎是不可能的。很多问题不是微软造成的,包括第三方的厂商甚至是用户本身造成的。
具体来说现在装机用户很多都是用在零售商那里的ghost的系统。不论多大的硬盘会被等分4-6个分区。而且全都FAT32的文件系统。而且大多数用户在重新安装系统时也不会将系统分区改成NTFS,更不会改动其他的分区。这样就带来了更多的病毒隐患,而很多病毒是在机制上早就解决了的。
另外,几乎全部的XP的桌面用户每天都在以超级用户身份使用系统。一种原因是因为XP上默认的用户权限就是超级用户。而令一个原因也迫使用户不得不每天使用超级用户,应该是厂商的水平和遗留问题。绝大部分的应用软件,尤其是国产软件在其他低权限的用户的登录上是无法正常使用的。通常情况厂商限于水平无法同系统的安全机制达成一致。比如国产杀毒软件很多,但注册系统服务的不多。我所见的同windows的安全机制结合的最好的恐怕是诺顿的软件。注册系统服务。而且用户数据保存在用户的主目录下(Do*****ents and Settings下的用户名的文件夹下)等等措施保证了无论以任何身份运行登录,杀毒软件都能够正常的起作用。而大多数的国产软件以一个管理员的身份安装之后,在另一个管理员的桌面和菜单上都找不到图标!一些软件将数据包存在安装目录下,这本来就是单用户系统下的习惯。比如QQ,默认情况下低权限用户根本没办法使用正常,要设置Tencent文件夹的权限才行,这样这个文件夹又成了对所有用户可写的了!如果把用户数据保存到Do*****ents and Settings下,每个用户相互独立有什么困难?恐怕是照顾一些使用98的用户或者自己的程序员吧!大家都使用超级用户,好啊!病毒什么的都懒得研究什么权限提升了!想改什么就改什么!记得一个同学叫我去杀毒!我一看现在的病毒真的是简单了!直接把文件名一改省得感染文件了。然后在autorun.ini里加上一条就可以保证运行传播了!而这个病毒据说还是大名鼎鼎的流行!如果大家平时不用管理员的话,这个病毒恐怕根本没有传播的可能!所以IE和firefox都用漏洞,但IE可能就回感染系统,而firefox只能感染用户。这不是系统的问题,只是用户自身的问题,当然系统要对用户养成这些毛病负责!
然后就是市场问题,记得*nix出现病毒或者蠕虫的话。都是有人发布补丁的。蠕虫这里不谈,因为蠕虫主要是通过服务传播的,是服务的缺陷。*nix的每个病毒都象征这一些机制的问题。于是这些机制一旦修正,所有同类的病毒就不会感染了!于是*nix下的杀毒软件其实是查杀通过samba monnt的目录上的windows病毒。但作为windows来讲,病毒意味着意想不到的市场!而且这么大的经济效益也能推动全球的经济增长!用三个代表判断也是对人民有利的!
3)IDE
我觉得不同意那些对linux下IDE环境的看法。对优秀的程序员来说,整个Linux就是一个IDE,只不过你同他打交道不是用鼠标点击,而是用命令和脚本程序。由于上面谈到的目录的优势,所有的程序都被组织在一起了!其实是一个传统IDE的不同功能模块被在不同的几个程序中实现了,而且合作起来也更加灵活。而这个IDE除了软件开发还可办公和娱乐,集成度显然更高了!有些人甚至网页之类的都用脚本来处理写好的带标记的文本来发行出去。如果说哪种IDE更加高效的话,理所当然是这种全自动的方式。
Linux在中国,文化和市场
Linux在中国达到今天的规模完全是市场的作用,说实话教育界起到的微弱的作用让人十分遗憾。人们透过媒体知道了Linux。不管是否处于宣传者的本意,linux被扣上了“高深”的光环。“CLI”、“用于服务器”之类的说法吓走了一批观望者,也有吸引了一批喜欢挑战难度的人眼球。应该说这批人都是优秀的人,但不是全部优秀的人都会对Linux产生兴趣。因为宣传中透露出linux一个特点“不成熟”,“不成熟”意味着没钱途。
人才的缺乏却给了勇敢的人“钱途”。他们成了优秀的程序员或者系统管理员,开发了很多优秀的软件。然而绝大多数为了公司,却很少为了社区。也有人成为了商业u