了解Linux发展历史的详细信息
最近看了一篇文章《黑客是一门艺术还是一门科学》,产生了一系列联想。把艺术和文化联系起来是很自然的。人类的历史不仅是科技史,也是艺术史,艺术(包括广义的文学)和科技构成文化。现在好像技术和文化脱离了,又要谈文化了。因为不同于其他以商业为主导的产品,Linux是一种文化的象征。
第一,在linux媒体上看到马克思的头像很可笑,但想了想才明白:信息不就是生产资料吗?开源和私有制恰恰是信息分发方式的区别。
当事物与金钱挂钩,信息的圈地运动正式开始。过几年再去争取。不同于社会的发展,软件行业直接从“原始共产主义”跳到了“资本主义”。用钱换软件,在一定时期内确实对经济有很大的促进作用。但是它限制了更多人生产更多样化软件的能力。从长远来看,这对发展不利。于是,这种常见的信息发布方式被一些人重新重视起来。
这种共享信息的复兴代表了这种软件的复兴,也就是文化的复兴。开源的意义在于,首先,它传播文化,文化生产软件。就像艺术上很难找到两幅相似的油画一样,社区里也很难找到两个概念过于接近的软件。这就是开源社区的精神:知识高度共享,高效利用,最大限度避免重复浪费。
早期的开源作者也是理想主义者。和早期的无产者一样,信息无产者也是理想主义者。理想主义者感染理想主义者,却排斥更多的实用主义者。一定程度上制约了自身的发展。Eric不是理想主义者,所以当他提出开源作为商业模式的时候,就好像人们第一次听说中国的改革发展一样!事实证明,这个决定是正确的!不同的文化有优秀的特点和优秀的人。优秀的特质是借来的,优秀的人是被吸引来的,文化群体也能由此成长!相反,如果我们不能与其他群体的人和谐相处,我们就会攻击和嘲笑这些人,认为linux有优越感。而不是为我们团吸引更多优秀的支持者。也会让其他群产生我们自己群号低的印象。
Linux和Windows的区别,文化和市场
我个人认为讨论Linux和Windows的技术差异没有任何意义。因为很难指定一个合适的标准来衡量它们。然而,它们的一些特征分别清楚地反映了文化和市场的特征:
分配机制
最初的linux用户真的是从零开始的。因为发布的内核不同于网络各个角落的各种GNU软件。包括要有图形界面,还要安装x后编译一大堆其他软件,为上市开发的Windows是一个庞大的软件包。因为要做到真正的“友好”,用户不可能在一个月内安装好应用软件,更何况初学者根本不会安装应用软件。你记得你周围的一些人花了多长时间才明白“添加和删除程序”。
同样,大众化或商业化也必然要走融合的道路。从最早的红帽到侏儒和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和Settings下的用户名文件夹下),其他措施保证无论你以什么身份运行和登录,杀毒软件都能正常工作。但是大部分国产软件以管理员身份安装后,在另一个管理员的桌面和菜单上都找不到图标!有些软件把数据包存放在安装目录下,这是单用户系统的习惯。比如QQ,默认情况下,权限低的用户根本无法正常使用。你要设置腾讯文件夹的权限,这样这个文件夹就可以重新写给所有用户了!如果保存用户数据做* * * * ents和设置,每个用户相互独立的难度是什么?我怕照顾一些用98的用户或者自己的程序员!大家都用超级用户,ok!我懒得研究病毒什么的,也懒得提高权限!想怎么改就怎么改!我记得一个同学告诉我要杀病毒!我看看目前的病毒真的很简单!只需更改文件名,以避免感染文件。然后给autorun.ini加一个,保证运行和传播!而且这种病毒据说是著名的流行病!如果平时不需要管理员,恐怕这种病毒根本没有传播的可能!所以IE和火狐都利用漏洞,但是IE可能会回来感染系统,而火狐只能感染用户。这不是系统问题,是用户自己的问题。当然,系统要对用户开发的这些问题负责!
然后就是市场问题,记得*nix有没有病毒或者蠕虫。有人发布了补丁。这里不提蠕虫,因为蠕虫主要是通过服务传播的,是服务的缺陷。*nix的每一个病毒都象征着这些机制的问题。所以一旦纠正了这些机制,所有同类病毒都不会被感染!所以* *nix下的杀毒软件其实是在查杀通过samba monnt的目录下的windows病毒。但是对于windows来说,病毒意味着一个意想不到的市场!而且这么大的经济效益还能促进全球经济增长!按照三个代表的理论来看也是对人民有利的!
3)IDE
对于linux下IDE环境的那些观点,我想我是不认同的。对于一个好的程序员来说,整个Linux就是一个IDE,只不过你用命令和脚本代替了用鼠标点击。因为上面提到的目录的优点,所有的程序都组织在一起!实际上,传统IDE的不同功能模块在不同的程序中实现,合作更加灵活。这个IDE除了软件开发,还可以办公娱乐,集成度明显更高!有些人甚至使用脚本来处理书面标记的文本并将其发布。如果说有哪个IDE效率更高的话,自然是这种全自动的方式。
Linux在中国,文化与市场
Linux在中国今天的规模完全是因为市场的作用。老实说,教育部门所扮演的软弱角色是非常令人遗憾的。人们通过媒体了解Linux。不管是不是在宣传者的有意为之,linux都被赋予了“深刻”的光环。“CLI”、“用于服务器”等语句吓跑了一批看客,也吸引了一批喜欢挑战难度的人的目光。应该说这些人都是优秀的人,但并不是所有优秀的人都会对Linux感兴趣。因为宣传透露出linux的一个特点就是“不成熟”,“不成熟”就是没钱。
人才的缺乏给了勇者“钱途”。他们成为了优秀的程序员或者系统管理员,开发了很多优秀的软件。但是,大部分是为了公司,很少是为了社区。其他人已经成为商业unix系统的管理员。
客观来说,相对于市场向中国的扩张,Linux文化向中国的传播非常缓慢。中国大陆的Linux厂商和产品比港台多,但几乎所有拥有中国文化信息的国际开源社区的参与者都比中国大陆的活跃。你可以看到支持GB的软件远远少于支持zh_CN的文档也远远少于zh_TW。成熟的程序员也不想要一些入门文档。只有少数人作为论坛版主整理文章,收集资料。文件的缺乏和语言的障碍让我们很难真正了解国际社会的文化,更不用说回报社会了。媒体报道都是以市场为中心的...国际社会感到困惑。中国人到底对linux感兴趣吗?
关于市场结构的报道太多了,没有数据我无法评论。但与一些报道相反,作为一种特殊的商业产品。linux的市场不能单用订单来衡量,也不能用政府的笑脸来分析。在中国,RedHat/Fedora的用户数量是绝对占优势的(有程序员背景的用户更喜欢debian和gentoo),随便逛几个中国的Linux社区。这些现在的用户,一旦将来成为技术人员,就是潜在的订单。除了国际市场的规模,这种规模的用户份额主要与RedHat苦心经营的社区效应有关。通过fedora社区,RedHat的开发者与用户和贡献者几乎无缝地交流。相比之下,急于开拓市场的红旗并没有意识到这一点。大多数用户对红旗知之甚少。成为制约公司发展的瓶颈。从中国的现状来看,社群的意义不仅在于潜在的市场和用户,更在于为公司本身培养人才。
虽然我不赞成制作发行带有民族气质的linux发行版,但我还是希望越来越多的开发团队和其他基于社区开发的开发者社区在中国诞生。相比于市场的昙花一现,社区的发展壮大就像家一样持久有力。
文化视角下的Linux未来展望
观看近年来国际linux和其他开源系统的发展。社区的发展远比市场明显,从文化传播的角度来看这是一个巨大的成功。为了保持和发扬这一成就,我们需要为社区吸引更多的用户和开发者。让更多的软件使用开源许可协议。
中国的Linux用户可能会从学校开始逐渐扩大。但在市场上,可能还是体现在更多商业Unix人才的增加上。这些人才通常是在linux社区中成长起来的。此外,国内用户将更加了解国际开源社区。更多的资料被翻译成简体中文。最重要的是,国际社会将会有更多的中国人。国内也会出现一些成熟的、大规模的开发社区。
Linux程序员和用户的优秀素质和文化氛围会吸引更多渴望了解和使用Linux的人。他们社区的成员应该比以前有更好的姿态去面对这些未来的同伴。开源软件不仅影响自身的开发者和用户,对windows下的程序员也有较大的影响,从而促进windows下的开发者提高自身水平,能够写出与系统相同设计风格的软件。在提高安全性的同时,他们也意识到开源对他们的重大意义。
我没有权利在结合商业模式上做任何展望。就像试图预测股市一样。Linux对未来的意义在于:通过文化的影响,将一些被视为商品的技术尽快普及和贬值,从而消除知识传播的壁垒,刺激更新技术的不断更新。而对最新的技术开放源代码,也能让这些技术得到最快的推广和实现。
附:如何学习linux?
作为中国人的特例,学习linux对中国人来说有更多的意义:
1,以linux为荣,以帮助他人了解和学习linux为己任。
2.坚持访问英文网站,尤其是一些大师的个人主页。坚持阅读英文文档,并尝试将自己阅读过的文档翻译出来发布在国内社区,供他人阅读和整理。
3.了解unix,linux和hacker的历史。
4,尽可能多的接触,这样你就可以接触linux爱好者,尽可能多的了解你能接触到的最了解Linux的人的观点。并与自己的观点进行对比。
5.有空的时候,想想自己为什么喜欢linux,别人为什么喜欢linux。为什么喜欢的原因不一样?
6.阅读各种开源许可协议和商业用户许可协议。比较各自的问题和优势。
以上让你了解了开源文化,这是做一个合格的linux社区成员的前提。
7.安装linux的分布式版本。
8.尽你所能把你的学习、娱乐或工作环境转移到linux上。尽量避免在linux下寻找功能相似的软件,而是在linux下寻找解决相同问题的通用方法。并与windows下的解决方案进行了比较。
9.学习SHELL编程。SHELL几乎可以作为入门语言来学习。最低要求是能够理解您自己版本的linux的配置脚本。了解为什么一些帖子中提到的配置方法可以工作,以及您的发行版如何以环境变量的形式从每个配置文件中读取设置并使它们生效。
10,学会安装以各种方式分发的程序,并使其安装与你系统的做法一致。熟悉X窗口的操作。熟悉您的发行版的安全机制,并学习根据您的需要定制它们。
如果你只是一个用户,部分了解unix的哲学,以上几点就足够了。个人认为这几点足以成长为一个合格的Linux用户。甚至稍微扩展一下就可以自己做发行了!针对不同的用户群,比如办公室用户或者研究人员。第8条意味着不同的标准。
11.选择一种或多种语言社区常用的编程语言。
12.收集书籍或资料、网站、新闻组等。社区或黑客推荐。
13.选择一个用你正在学习的语言开发的小型开源项目。看他的代码,对比他的代码写的和你的形象是否一样?哪个更优越?
14,试着按照TODO里的要求给这个软件写代码,联系他的作者。学习autoconf和automake等工具的用法。
15,你也可以不参与项目的开发,但依然从代码阅读中受益。如果项目是你没有接触过的技术或标准的实现,那就收集信息去了解它!
16.学习使用linux下的调试工具。如果软件不稳定,它可以帮助找出错误并纠正它们。并学习制作补丁发给作者。
17.如果你是windows程序员,试着把开发环境转移到linux。或者在windows的开发中开始使用开源开发工具和SDK。
18.如果您是系统管理员,您应该学会在linux中部署更强的安全方案。但这已经不是学习linux的范畴了。
以上介绍了几个学习要求,主要强调学习的态度。至于什么样的技术,你应该具备的技术要求,你要按照上面介绍的方法逐步实现。
参考资料:
/article/79/79614.shtm