Linux程序员头像?程序员github头像
大家好,关于Linux程序员头像很多朋友都还不太明白,今天小编就来为大家分享关于程序员github头像的知识,希望对各位有所帮助!
看看一位清华计算机专业的学生怎么看linux与windows的
看看一位清华计算机专业的学生怎么看LINUX与WINDOWS的!(转载)
本文是一位清华退学学生所写!他的名字叫王垠,人很出名,不信GOOGLE一下就知道!
我已经半年没有使用 Windows的方式工作了。Linux高效的完成了我所有的工作。
GNU/Linux不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你
不需要了解下面这些了。
我不是一个狂热的自由软件份子,虽然我很喜欢自由软件。这篇文章也不是用来推
行自由软件运动的,虽然我觉得自由软件运动是非常好的。
这篇文章也不是用来比较 Linux和 Windows内核效率,文件系统,网络服务的。
我现在是作为一个用户而不是一个开发者来说话的,我们的讨论是基于操作,应用
层面的。是为了告诉大学里还不了解,或者不理解 UNIX的科学工作者和大学生,
UNIX比 Windows更适合用于科学研究工作,请大家理解 UNIX的工作方式,不要
用 Windows的标准来要求 Linux,而要用一个科学工作者的标准来要求自己,用
UNIX的思想来武装自己。
我显然是反对在大学,特别是理工科专业推广 Windows的。我也反对在对“娃娃”
们的计算机启蒙教育中使用 Windows。因为 Windows不论从技术上,经济上,思想
风格上都是与我们培养高科技人才的目标格格不入的。Windows的流行属于历史遗
留问题,爷爷一级的人当然已经不可救药,但是我们不应该让下一代继续走上歧途。
UNIX不是计算机专家的专利
当我建议一些非计算机专业的人用 Linux的时候,很多人说:“UNIX是计算机系
的人用的,我们不能理解。”“UNIX是男孩用的,我们女孩不用。”
但是其实世界上的大多数科学家和工程师几乎用的都是 UNIX作为他们的电脑工具。
就因为它简单,可靠,稳定,强大,有趣。甚至很多时候 UNIX就是唯一的选择。
你说:“我们都会用 UNIX的话,你们计算机专业的人还用来干什么?”很容幸的
告诉你,计算机专业的有一部分人就是专门为你们提供这样强大而方便的计算机工
具的。如果他们制造的工具只有自己会用的话,那这个工具还有什么用?
理解 GNU/Linux不要用 Windows的标准来要求 Linux。
由于GNU/Linux这个词太长,下面如果没有特别指明,“Linux”就是指“GNU/Linux”。
在这个年代,恐怕没有人需要我来介绍 Linux是什么了吧?如果你觉得“Linux只
不过是跟 DOS差不多的东西”,那请问问你旁边的 Linux用户,Linux到底是什么?
那为什么我还要写一篇这样的文章?因为,我发现还有很多人不不理解 Linux和
UNIX,虽然他们也在用它,但是他们有时会问:“为什么 Linux不能像 Windows那
样……?”,“怎么Redhat Linux不能 mount NTFS分区!”,“Linux下用什么
整理硬盘?”,“什么时候OpenOffice才能完全兼容Word文件啊?”,“现在还有什
么Windows能干的事情Linux干不了的?”……
他们有40G的硬盘,却只为 Linux分配了2G空间,有时还抱怨“这个东西怎么占这么
多硬盘!”似乎 Windows该占用大部分硬盘。他们把重要的数据装在Windows的分
区,似乎信不过Linux。他们总是到处寻找新奇的,好看的GUI程序,对命令行的东西
一概不屑一顾。他们对Drag&Drop,菜单配置,自动升级非常感兴趣。他们如果找到
一个很像 Windows程序的 Linux程序,一定会很高兴的说:“哈哈!Linux也能……了!”
如果Linux在某种测试中胜过Windows,他们会高兴得跳起来。他们没有办法用Linux
解决问题的时候,甚至用Wine来运行Windows程序。有时实在没办法,只好重起到
Windows,或者干脆省得麻烦,在 Windows下装一个 VMWare虚拟一个 Linux玩。
你如果出现了上面的情况,说明你的思想受到了 Windows的某种潜移默化的影响和
误导。你没有能够从本质上理解存在于 Linux身上的 UNIX思想。你支持 Linux,
你喜欢 Linux,你能从中感觉到快乐,这非常好。你现在只需要明白的是:Linux从
来就不是一个玩具,它是天才UNIX的后代。UNIX是自晶体管发明以来最伟大的发明,
它从诞生那一天开始就比 Windows的设计出色。
你要体会什么叫做“设计”,一个糟糕的设计并不是到后来缝缝补补就可以变好的,
而一个出色的设计,不但可以以不变应万变,而且可以影响到后来者。一个出色的设
计配上一个出色的实现,那就是非常出色的发明。Linux就是这样的一个出色的发明。
Linux并不需要追赶 Windows,也不需要打垮微软。它的最终目标是改变整个计算机
世界,还人们自由,给人们乐趣和方便。
Unix是简单的,你不需要成为一个天才也能理解这种简单。
UNIX的设计者 Dennis Ritchie说:“Unix is simple. It just takes a genius
to understand its simplicity.”但是我不这么认为,因为我不是一个天才,但是
我却勇敢的把 Windows完全删除掉,遇到不明白的事情的时候努力用 UNIX的方式
去解决,而不是寻求 Windows的帮助。现在我体会到了 UNIX的思想和好处,我可
以用比 Windows高效几倍的效率工作。因为我相信这样的信念:“Windows能办到
的事 Linux一定能办到,而且办的更好。”
这小节开头的话应该改成:“Unix是简单的,你不需要成为一个天才或是计算机专
家。但是在这个冲斥着 Windows错误观念的世界,你需要信念和勇气才能理解它的
简单。”我下面就告诉你一些我理解到的东西。首先,你要知道的是微软在国际科
学领域是根本没有地位的。
微软的地位
微软的名声在欧洲和美国的大学里,特别是在计算机系里之坏,大家可能有所耳闻。
我认识的 MIT,Stanford的教授,贝尔实验室的专家,甚至一个欧洲小国的高中计
算机老师都绝口不提微软的名字。在他们眼里,微软只是一个没有真技术,专靠在落
后国家商业宣传和垄断经营的小公司。这个“小”并不是说它人少,钱少,而是说它
先进技术少。
我上次和王益合作写了一个算法演示程序,那个算法是贝尔实验室一位科学家Steven
Fortune很天才的发明,为了程序能够被身边大多数人使用,我们选择了 VC+MFC作为
平台。我在分析算法时还得到 Fortune很热情的鼓励,寄给我一份资料,还多次回信
耐心的给我讲解了很多细节。但是程序完成之后,我把样品发给 Fortune,他回信说:
“对不起。我机器上没有 MFC。”话说的很客气,但是我已经感觉到了他对 Windows
的不屑。然后我把 MFC静态编译进程序再发给他,他就没有再回信了。他显然不是瞧
不起我,而是确实有难处。
你能感觉到这位科学家对微软和 Windows是什么态度了吧?不是反感,而是他心里根
本没有 Windows这个东西!微软在高科技领域没有发展,那么它怎么生存呢?到发展
中国家去发展一下,他们的人民还对电脑一无所知,我说不定甚至可以打入大学的计
算机系呢。我送他们软件,我捐钱盖大楼,我出钱找图灵奖获得者来演讲,让他们觉
得我们都是科学家!
好了,现在全国的大学包括清华,几乎所有人机器必装盗版 Win2000,Office XP,学
校的选课系统是非IE不能正确浏览,论文用 Word编辑,演示用ppt做,email的通知
附件是 doc文件,你不用 Word打不开,连 863项目都用 VC写程序了。我很久以
前就看到一份报纸说,“微软为什么不严厉打击盗版?”这篇文章说,微软非但不打
击中国的盗版行为,而且有放任之趋势。放长线吊大鱼,“以后我要你们加倍的来还
我!”确实如此,它的目的快实现了。
Windows笼罩下的中国计算机教育
说句丢脸的话,比尔盖茨很久以前是我的偶像……//blush
在中国,比尔盖茨被很多人奉为神圣,“少年电脑天才”,甚至有的人提到他的名字
就做出“抱拳对天”的姿势。很多人谈到微软的“新技术”,“高科技”都是眉飞色
舞。各种“VC编程圣经”,“深入了解 Visual C++”之类的书,在开头几页都会出现
非常肉麻的字眼,“在那团团的混沌中,一个开天辟地的精灵,Windows 1.0,诞生了……”
微软的软件被这么多人盗用,那么人们是怎样使用这些盗版程序的呢?先看看电脑培
训班,教的都是一些 DOS命令,打字,Windows基本操作,Word文档处理,Power
Point,高级班可能有 Excel,Access……参加各种微软认证考试,MCSE,MSDE的人
络绎不绝。考试辅导班都贴出了“280元,考过为止”之类的字样。考试参考资料更是
昂贵,有些电脑书店整整两书架都是“Microsoft Press”的东西。我有个同学参加认
证考试,每门考试都要200多元。而且你一次考不过可以再考,又要交钱。他后来还津
津乐道跟我说,看我,花了XXXX(一个四位数)元考过了微软认证,得到一张比尔盖茨
亲笔签名的证书和价值6000元的 Windows XP内部发行版。
“电脑要从娃娃抓起”,我们再来看看娃娃们学的是什么。大部分家长给孩子买了电
脑之后,他们首先就会装一个盗版的 Windows,然后买来盗版的游戏开始玩。如果哪
个孩子会用 Delphi编程序,那可不得了。报社记者,电视台争相报导,说,某某学
校的初中生某某,在别人都还在玩电脑游戏这种“初级阶段”的时候就已经用 Delphi
写程序了。镜头还瞄准了他显示器上面的像框中的比尔盖茨头像!
我刚进入大学计算机系时还不懂得什么是操作系统,因为我以前只用过“中华学习机”。
看到新入学的同学们各个谈论的都是“Windows 95”,“VC”……我简直觉得我落
后了好几十年一样,整个一土人,根本跟他们答不上话。好不容易找到一个比较熟的
同学问了一下:“你们天天谈论的瘟95是什么啊?”答:“win95就是一个操作系统,
跟DOS是一类。”“朵死是什么?”“你连DOS都不知道是什么?别在计算机系混了。”
学校上课当然不讲VC编程之类的东西,但是上 Pascal的老师有一次就说:“嗨,我
们学校真是落后。现在别人都用 C, C++,甚至 VC了,我们还在讲 Pascal。不知道
什么时候才能有VC课啊。你们出去也是要用VC的,只好自学了。”于是,有些同学很
多时候上课都捧着一本很重的“Windows编程大全”之类的书,根本没有听课。吃饭
时就念念有词的跟我说,“代码的优化是无止境的”,“匈牙利命名法真是伟大的发
明”……这就是中国很多大学计算机系的情况。
感觉到无知了?这不是偶然的,而是微软长久以来埋下的伏笔。它要让无知的大家都
把它奉为神圣,它要让支持UNIX,Xwindow的人一旦说 UNIX好,Xwindow好的时候,
都被一群人围着说教:“这个 Windows也能做到”,“你对 Windows有偏见”,
“微软才是主流啊”,“你敢瞧不起 win2k?”,“.NET就是世界潮流”,“微软的
毕竟是新技术”,“有钱就是有技术”……甚至在一番论战比较后败下来还是要说:
“Windows性能差点,但是易用性强”,“Windows是老百姓用的,要求别那么高”,
“微软那么有钱,以后想超过 UNIX还不容易吗?”……
发达国家的计算机教育
我前段时间在 USENET发文问有关 Scheme语言的问题时,认识了一位丹麦人。他解
决了我所有的问题,并且建议我阅读一些很“深奥”的有关程序语言语法,文法的书,
他告诉我很多网站可以学习 LISP,Scheme,人工智能,算法。他叫我看 Jonathan
Rees的论文\"Syntactic Closures\"。他还打包给我寄过来一份 MIT的\"How to
Design Programs\"。他说他在自己的 PC机上装的是 Linux,他用 Emacs编辑,运行
Scheme程序。他对 Emacs的了解和爱好真是使人惊讶。他大学本科毕业时做的毕业
设计是一个 Scheme解释器。这对于我来说是望尘末及了。
他是那么的不厌其烦,我的每一个问题他都详细的回答。我有时都觉得过于详细了,
怎么这么耐心啊?我觉得他似乎是我的高中老师。他是什么样的人呢?我好奇的打听
了他的情况。原来,他是丹麦一所普通高中的计算机老师。
他说他在高中里讲授程序设计和算法,计算机语言文法。他说用 Scheme,他的学生不
用再为内存泄漏等程序语言本身的问题而烦恼,而专注于问题和算法本身。有利于培
养学生解决问题的能力,特别是用计算机解决数学问题的能力。
天哪!为什么欧洲出现那么多数学家,几何学家?你看看别人重视的是什么!我们的
计算机教育如果继续这样下去,只会沿着弯路越走越远!
微软和它的朋友们的如意算盘
下面来看看微软的收入是怎么来的。首先,Windows 98系列操作系统,一个就是 100
多美元,每次升级又是几乎同样的价钱。Windows NT还要贵几倍,而且有用户数目限
制,5个用户的,10个用户的……以后如果要增加用户数目还要按比例付钱。
花了如此多钱买来的操作系统就能用了吗?它竟然连压缩程序都没有提供!你装上
Windows之后一般第一件事就是去下载一个 WinZip吧,“只要 29美元”。Windows
会中病毒啊,马上花 70美元买一个 Norton AntiVirus吧。还有黑客呢?再买一个
Norton Internet Security好了,100美元。系统需要优化,磁盘需要整理,买一个
Norton System Works是你最佳的解决方案,100美元。
可是你现在还是不能干正事啊!你想要一个 Word, PowerPoint?那就买一套 Office
XP吧,一起买便宜些,$459.90。
那些程序不会用啊!那些菜单怎么设置,到底有什么功能啊?看“帮助”也学不会。
买本书看看吧,我推荐“Special Edition Using Microsoft Office XP”,不贵,
$27.99。这本书里面大部分是屏幕抓图,还是买一本旧的比较划算,$17.85。
你如果只是当个秘书,上面的差不多还凑合了。可是你有更高的追求,你想成为 Windows
程序员。首先买一个 Visual Studio.NET吧,要不然怎么编译程序。$494.95。
为了紧跟微软动向,世界潮流,不能不注册个 MSDN什么的吧?这个贵一点,不过物
有所值啊,$2,799。
嗯,你现在已经是上层阶级,白领人士了。你现在可以像这样“自由”的,“安全”
的生活了:
为什么要反对使用 Windows
很多人都说不应该完全否定 Window,Windows也有它的长处。不应该骂微软。
对。Windows容易操作,适合普通用户。如果微软把它自己定位在 P&G,Philips那样
的地位,能够给我们的百姓提供周到的,完善的,价廉物美的服务。那我肯定是很喜欢
它的。
但是从上面的种种情况说明,微软是一个野心极大的国际垄断组织!它的产品没有一个
是不出问题的:Windows不稳定,容易中病毒,而微软不为大家免费提供杀毒软件。我
就是要让你们花钱买我的朋友 Symantec的杀毒软件,谁叫你们已经上了我的贼船?这
叫什么售后服务啊!
你买来微软的程序,安装的时候一般都有一个协议,说:“由于微软的程序造成你的数
据损坏或丢失,微软概不负责。”我想很多人肯定觉得这个不合理,不想按那个\"I
accept\"。但是你的软件买都买来了,钱都花了,现在一按\"I decline\",安装程序马
上就会退出。你只好被迫点击了\"I accept\"!这不是不平等条约吗?
我已经目睹了好几个朋友的文档被 Microsoft Word损坏,有的是编辑了十多天的30多
页的论文,有的是费了很大工夫做出来的个人简历,那个朋友为此失去了到自己向往的
P&G工作的机会。就在他要投简历的前一个晚上,就在那一瞬间……不知道他痛哭的
时候有没有想起要投诉微软,可是谁叫我们用的都是盗版呢,况且你还点击了\"I accept\"。
微软仗势已经占有大部分PC市场,制定不符合国际标准的“微软的标准”,以不合理的
方式压制其它公司的软件,这个问题已经在美国司法部闹了很久了。他甚至在 Windows
系列操作系统中放置能够通过网络泄漏用户信息的代码,以至于 Windows刚进入澳大
利亚时被澳大利亚ZF禁止使用。
有些人说:“微软毕竟开创了一个历史,造就了今天的 IT行业。”但是,如果没有
微软,我们今天早就用上非常稳定,非常可靠,非常方便,非常“傻瓜”的软件了!微
软是阻挡信息技术发展的罪魁祸首。
微软的程序的工作方式(注意,我只是说操作方式,病毒的事情另外算)确实适合于一般
家庭,上上网,发发邮件,打打游戏都不错。可是微软却要把自己包装成什么“高科技”
企业,要在世界各地设置“研究院”,在大学计算机系赠送不适合用于科研的 Windows
产品,甚至出钱请图灵奖得主来中国畅谈“二十一世纪的计算”,还在大会上宣传自己
的.NET技术。非要把别人认为自己是科学的,自己是领导世界高科技的。但是呢?它
什么高科技也没有。欧洲,美国,哪一个关键部门在用微软的东西?NASA? DOE? CERN?
你仔细想一想,微软的程序对人类到底有什么重大作用?
什么是 Windows能干而 Linux干不了的事情?---
“Windows能干而 Linux干不了的事情,那就是不需要干的事情。”
有个朋友看我半年没有用 Windows,有时就会问我:“你只用 Linux,有没有发现有些
Windows能处理的事情 Linux干不了?”---
我回答说:“Windows能干而 Linux干不了的事情,那就是不需要干的事情。”
Windows能做的有益的事情 Linux都能做---
Windows下的某些功能确实是我们需要的,那么 Linux的开发者们和用户也需要这种功
能,他们就会去实现这种功能,而且比 Windows的方式好得多。由于大多数科学家,工
程师用的都是 Linux或者某种商业 UNIX,所以几乎所有商业的科学工程程序,比如
Matlab, Mathematica, AutoCAD, Candence的,Synopsys的,Avant!的……全都是先有
UNIX的版本(包括Linux),然后再考虑移植给 Windows,甚至根本不移植给 Windows,
因为 Windows的机器一般没有足够的能力运行这样的程序。你不要以为只有 Windows
才有 PSpice, UNIX的 HSpice要好得多,而且可以运行在大型主机上。当然它们不是免
费的,但是它们值那个价钱。
但是 Windows下有些东西在 Linux下没有很相似的,或者你找到很多类似的,但是它
们每一个比起 Windows的那个程序都要差很多,那么原因有两种可能性:
有一个完全类似的程序,但是由于它乍一看不漂亮,被你忽略了。而其它程序虽然看起
来很漂亮,但是它们是一些初学编程的人写的。现在由于 Gtk, Qt的诞生,Linux下开
发图形界面程序极其简单,很多初中生甚至小学生都可以随手编出一些漂亮不中用的程
序。如果你整天寻找这样的程序挑来挑去,永远也找不到你满意的。当然也有一流的程
序用 Gtk和 Qt,比如 GVIM就可以用 Gtk作为图形界面,我还知道 Synopsys一些
程序用了 Qt。
我曾经也犯过这样的错误,从外表区分一切。结果优秀的 FVWM, lftp, Mutt, wget都
被我忽略过。当我找回它们的时候,我是那么的羞愧不已,它们现在都是我的朋友我
第一次看到 FVWM觉得它只不过是一个有很厚很难看边框的东西。可是现在,我的同学
看到 FVWM都说:“哇!真漂亮。”
有另一种完全不同的方式可以达到相同的目的,甚至更好。
很多人很关心 Open Office, Star Office, AbiWord,...他们多么盼望有一天某一个
Linux程序能够完全兼容的打开一个复杂的 doc文档。但是你永远也不可能有那一天。
为什么呢?因为微软为了占有市场,必定不会让其它系统的程序能够完全兼容它的文档
格式。它一定会不断变化 doc文档的内部结构,隐藏一些秘密,让其它公司的程序打
开 doc文档时总是有某种问题,从而你必需购买 Microsoft Office和 Windows。
你应该想一下,那么多的高智商的大学教授,科学家,学生,他们用的都是 Linux或
者其它类型的 UNIX,他们没有 Word可用,怎么处理文档呢?这么多年没有一个像
Open Office的程序出现,难道大家没有办法写文档吗?
显然不是这样。你看看那些高水平的学术杂志,论文,那些大学教授的网页,那些漂亮
的幻灯片,它们是什么做的?原来 UNIX用户早就有非常方便的 troff, LaTeX, SGML
等东西可以处理文档,而且它们比起 Word都要高明的多。Word显然被这些大拿忽略
了,以至于很久以来没有人想在 Linux下开发一个类似 Word的程序,除非某些公司
想抢微软的饭碗。
很多人留着 Windows在硬盘上的原因无非是为了用 Word和 PowerPoint。我见过一个
教授,他的 Windows笔记本电脑上除了 PowerPoint什么都没有。有一天演示的时候,
他指着堆乱字符说:“对不起,这是一个公式……怎么每次都是这样……”其实有比
PowerPoint好几百倍的东西可以制造幻灯片,你可以用最简单的方法制造世界一流效
果的论文和幻灯片。你待会儿可以看看我的TeX网页,你就会知道为什么我可以完全离
开 Windows。
Windows能做的那些没用的事情 Linux永远做不好
电脑游戏
有些人说 Linux下不能玩 Windows下所能得到的所有游戏。的确,Linux下虽然也
有少量的游戏,比如 Quake。但是它没有 Counter Strike,没有 Star Craft,……
并不是说电脑游戏不该玩,但是应该适可而止。电脑是用来处理事务,帮助你学习,解
决问题的工具,而不是一个玩具!整天沉迷于电脑游戏中,而不出去感觉外面的世界,
你会变得越来越冷酷,越来越缺乏人情味。你与真实的世界越来越远。
你可以在 CS里杀人,你可以在 Tomb Raider里探险,你甚至可以在 Tony Hawk’s Pro
Skaters里滑板……但是 It’s not real!你虽然有很高的“反恐技巧”,但是遇到
歹徒的时候,你是那么的怯懦;你虽然控制 Laura伸手敏捷,但是你打篮球的时候怎
么总是被人断球?你虽然可以轻易的在 THPS里作出一个\"360 kickflip to hangten
grind to fakie\",但是你踩在自己的滑板上的时候还不会 ollie!
说回来,如果你偶尔玩一下电脑游戏未尝不可。但是世界上有远比 Windows+ PC更好
的游戏方式。
为什么国内程序员github头像大多为漫头
国内程序员在GitHub上选择使用漫头作为头像这一现象,反映了中国互联网文化的独特性与二次元文化的广泛影响力。这表明国内程序员群体中,许多人或多或少与二次元文化有所关联。当他们看到别人使用可爱的二刺螈头像时,自然会想要展示出自家的纸片人老婆同样拥有迷人的魅力。
在国内的阿宅圈子里,这种对可爱元素的追求显得尤为简单直接,往往只关乎一个字——“可爱”。相比于在现实生活中逛街,能够在GitHub上与纸片人老婆“互动”,无疑更为舒心愉悦。这反映出中国互联网文化中对于虚拟世界的深度投入与喜爱。
与之相对,国外程序员群体在选择GitHub头像时,倾向于展现出更为酷炫与个性化的风格。接触二次元文化的人相对较少,他们更倾向于展现出个人的独特品味与态度。使用高挑的、黑色调的个人头像,给人一种高冷而神秘的印象,这种风格既彰显了个人风格,也与国际互联网文化中对于独特性和个性的追求相契合。
简而言之,国内程序员在GitHub上选择漫头作为头像的现象,是二次元文化与中国互联网文化相互交融的体现。这一现象不仅反映出国内程序员群体与二次元文化的深度关联,同时也展现了中国互联网文化中对于可爱、个性与独特风格的追求。
求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一个特点“不成熟”,“不成熟”意味着没钱途。
人才的缺乏却给了勇敢的人“钱途”。他们成了优秀的程序员或者系统管理员,开发了很多优秀的软件。然而绝大多数为了公司,却很少为了社区。也有人成为了商业unix系统的管理员。
客观地讲,Linux的文化向国内的传播相对于市场向国内扩展是十分缓慢的。大陆的Linux厂商和产品比港台多,但是几乎所有拥有中文化信息的国际开源社区中香港和台湾的参与者都比大陆的活跃,你可以看到支持GB的软件远少于BIG5,zh_CN的文档远少于zh_TW。成熟的程序员们也不愿意些入门的文档。只有少数人以论坛版主的身份整理文章和搜集资料。文档的缺乏和语言的隔阂使我们迟迟不能真正的了解到国际社区的文化,更谈不上回报社区。媒体上的报道全部以市场为中心……国际社区疑惑了,中国人到底对linux感不感兴趣?
关于市场格局的报道太多,我手头没数据没办法评论。但是与一些报道不符的是,作为一种特殊的商业产品。linux的市场不能单单的拿订单来衡量,也不能看政府的笑脸分析。在中国RedHat/Fedora的用户数量占绝对的优势(程序员背景的用户较偏向debian和gentoo),只要到几个中文的 Linux社区看看就知道了。这些目前的用户将来一旦成了技术人员就是潜在的订单。这种规模的用户份额除了和国际市场的规模之外,主要和RedHat苦心经营的社区效应有关,通过fedora社区RedHat的开发人员几乎同用户和贡献者们无缝地交流。相比之下急于开拓市场的红旗却没有意识到这一点。多数用户对红旗的了解少得可怜。已经成为制约公司发展的瓶颈。以中国目前的现状来看,社区的意义不仅在于潜在的市场和用户,也是为公司自己培养人才。
个人虽然不赞成制作和发行带有民族气质性的linux发行版本,但还是希望国内诞生越来越多的基于社区发展起来的发行版本的开发团队以及其他的开发人员社区。同市场的昙花一现相比社区的发展壮大才跟家的持久和有力。
文化角度的Linux未来展望
观望这几年国际linux和其他开源系统的发展。社区的发展远远比市场的发展要明显得多,从文化的传播的角度看来这是一种巨大的成功。为了保持和发扬这种成果,我们需要为社区吸引更多的用户和开发人员。让更多的软件使用开源的许可协议。
在国内linux的用户可能会从学校开始逐渐的扩大。但在市场上可能还是体现在更多的商业的Unix的优秀人才的增多。这些人才普遍是在linux社区成长起来的。另外国内的用户会对国际的开源社区有更多的了解。更多的资料被翻译成简体中文。最重要的是国际社区中会出现更多的中国人。国内也会出现一些较为成熟、具有一定规模的开发社区。
Linux程序员和用户身上的优秀的品质和文化气息会吸引更多的人渴望了解和使用Linux面对他们社区的成员们应该比以前有更好的姿态去面对这些未来的同伴们。开源软件除了影响本身的开发人员和用户以外,也会对window下的程序员产生更大的影响,进而促进windows下的开发人员提高自己的水平,能够编写出同系统设计风格一致的软件。在改进安全性的同时也意识到开源对于他们的重大意义。
在同商业模式结合方面我并没有权力去做什么展望。就想去预测股市一样。Linux对未来的意义在于:通过文化的影响力让一些被作为商品的技术尽快的被普及和贬值,以此来消除知识传播的壁垒和刺激更新的技术的不断更新。而对最新的技术开放源代码也可以让这些技术得到最快速的推广和实现。
附:如何学习linux?
做为中国人的特殊情况,学习linux对中国人来说要做的事情相对多了一些:
1、以linux为荣耀,以帮助他人了解和学习linux为己任。
2、坚持访问英文网站,尤其是一些大师的个人主页。坚持阅读英文文档,并尽量翻译你读过的文档发表到国内的社区上供他人阅读和整理
3、了解unix的历史,linux的历史和hacker的历史及文化。
4、尽可能联系所以可以联系到Linux的爱好者,尽可能多的了解你能接触到的最了解linux的人对linux的看法。并于自己的观点相比较。
5、空闲时思索为什么自己喜欢linux,别人为什么喜欢linux。为什么你们喜欢的理由不同?
6、阅读各类的开源许可协议和商业的用户许可协议。对比他们各有哪些问题和优势。
以上使你了解开源文化,是作为一个合格的linux社区成员的前提。
7、安装一个linux的发行版本。
8、尽你最大的能力把你的学习、娱乐或者工作的环境转移到linux上来。尽量避免寻找linux功能类似的软件,而是寻找linux下解决同样问题的通用的方法。并且对比同windows下的解决方法哪种更加优越。
9、学会SHELL编程。SHELL几乎可以作为一个入门语言来学习。最低的要求是能够看懂你自己的版本的linux的配置脚本。理解为什么一些帖子中里提到的配置方法回起作用,并了解你的发行版本怎样从每个配置文件中把设置用环境变量的形式读取并让他生效的。
10、学会安装以各种方式发行的程序,并且让他们的安装同你系统的惯例一致。熟悉X windows的运作方式。熟悉你的发行版本的安全机制,并且学会定制他们按你的需求工作。
如果仅仅是作为用户并且部分体会unix的哲学,上面的几点就足够了。个人认为这几点足够成长为一个合格的Linux用户了。甚至只要再稍稍的扩充就可以制作自己的发行版本了!而对于不同的用户群体,比如办公用户或者科研人员等。第8条意味着不同的标准。
11、选择一门或几门语言社区常用的编程语言。
12、搜集社区或者hackers推荐的图书或资料、网站、新闻组等。
13、选择一个较小的用你当前学习的语言开发的开源项目。阅读他的代码,并且对比他的代码和你形象的编写方式是否相同?哪种更加优越?
14、尝试按照TODO中的要求为这个软件编写代码,并且同他的作者联系。学习autoconf和automake等工具的用法。
15、你也可以不参与项目的开发,但仍然能从代码阅读中获益。如果项目是一种你没有接触到的技术或者标准的实现,那么搜集资料读懂它!
16、学会使用linux下的调试工具,如果软件还不太稳定,可以帮助找出BUG并且改正。并且学会制作patch发给作者。
17、如果曾是windows的程序员,尝试把开发环境转移到linux下来。或者开始在windows的开发工作中使用开源的开发工具和SDK。
18、如果是系统管理员,还要学会在linux部署更强的各类的安全方案。但这已经不属于学习linux的范畴了。
上面介绍了几条学习的要求,主要强调的是学习的态度。至于具体什么样的技术和自己应该在技术层次上的要求,按照上面介绍的方法应该会慢慢的体会到。
参考资料: