Open Source

清华申请退学博士作品:完全用Linux工作

posted Feb 25, 2009, 10:29 PM by Johnny Li

按: 尽管我们已经不习惯看长篇大论, 但我还是要说, 这是一篇值得你从头读到尾的长篇文章.
2005年9月22日,清华在读博士生王垠在水木社区BLOG上发表了《清华梦的粉碎--写给清华大学的退学申请》明确要求退学,
引起社会各界广泛争论. 他创作的长篇文章《完全用Linux工作》, 洋洋两万多字, 从不同角度居高临下的阐述了他眼中Linux完全优越于Windows的各种理由, 这篇文章并不简单的是一篇论述"Windows能做的事Linux都能做"这样的文章, 通篇洋溢着一个彻底批判 Windows 平台基础的计算机哲学, 计算机应用和计算机教育体系的人的万丈豪情, 尽管可能偏激, 也不乏详细的推理论述. 今天我们重温本文, 一方面也是因为CB上喜爱和推广Linux的人士很多, 有时也会爆发小规模论战, 我们希望能通过对本文的研究与讨论, 来窥测国内部分Linux推广者的心态, 同时为大家提供更宽广的讨论空间.

我已经半年没有使用 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 笼罩下的中国计算机教育

说句丢脸的话,比尔盖茨很久以前是我的偶像……

在中国,比尔盖茨被很多人奉为神圣,"少年电脑天才",甚至有的人提到他的名字就做出"抱拳对天"的姿势。很多人谈到微软的"新技术","高科技" 都是眉飞色舞。各种"VC编程圣经","深入了解 Visual C++"之类的书,在开头几页都会出现非常肉麻的字眼,"在那团团的混沌中,一个开天辟地的精灵,Windows 1.0,诞生了……"

微软的软件被这么多人盗用,那么人们是怎样使用这些盗版程序的呢?先看看电脑培训班,教的都是一些 DOS 命令,打字,Windows 基本操作,Word 文档处理,PowerPoint,高级班可能有 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 刚进入澳大利亚时被澳大利亚政府禁止使用。

有些人说:"微软毕竟开创了一个历史,造就了今天的 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 更好的游戏方式。Sony 的 PlayStation2, SEGA 的 DreamCast, Nintendo 的 N64,Namco的街机……每一个都比 Windows 游戏精彩,每一个都有如此高的3D性能,以至于Pentium4, Itanium + GForce4 都无法与它们比美!

Linux 的用户们都是关心解决世界的关键问题的份子,他们哪里有时间用自己的机器来玩游戏啊?他们每天用Linux高效的做完自己的工作就到阳光下享受自然去了。要玩游戏也是玩一些类似推箱子,贪吃蛇之类的智力小游戏。所以,你知道为什么 Linux 几乎没有游戏了吧?

"整理硬盘,优化系统"

这是一个非常有意思的话题,仅次于有关"病毒"的话题。相信很多 Windows 用户都有整理硬盘的经历。在很多 Windows 用户眼里,"硬盘用久了,会出现碎片,速度会减慢,需要一个程序来整理,整理硬盘的时候不要做其它工作",这好像是天经地义的事情。

我也曾经津津有味的看着 Norton Defrag 一点一点的把我的硬盘排序,调整,用图形的方式显示出来,然后报告100% 没有碎片。你的硬盘现在已经达到最佳状态。" 我现在才发觉我那时是多么的幼稚。

Linux 和 UNIX 用户似乎从来没有"整理硬盘"这种说法呢?你觉得很奇怪吗?如果你觉得很奇怪,那说明你的思想在某种程度上被微软的垃圾程序禁锢了。你需要明白,UNIX 的大型主机很多必须是一天24小时,一年365又1/4天不停运转的,要是每个星期都要整理一次硬盘,在整理的时候几乎不能干任何事情,那是绝对行不通的!

Linux 机器根本不用整理硬盘,这就是为什么没有看到过 Linux 用户整理硬盘。Linux 的文件系统是比 Windows 的 FAT, FAT32, NTFS 高明得多的文件系统,它们不但可以对文件设置权限,实施完全的保护,而且可以"越用越整齐","越用碎片越少"!你应该把文件大部分放在 Linux 的分区,而不是 Windows 分区,因为它比 Windows分区可靠得多。

还有更滑稽的事情就是有很多"Norton System Doctor","Windows 优化大师","超级兔仔注册表魔法" 之类的程序存在,而且价格昂贵。似乎一个操作系统本来应该有很多问题,需要别的厂商做程序来"优化"它,而且为了得到优化,你需要付钱!这些问题 Linux 根本就没有,所以不需要什么优化。Linux 内核本身就是高度优化的。


IDE

有些人在抱怨为什么 Linux 没有一个良好的 IDE 开发环境。Linux 现在已经有一些IDE 了,但是总是有很多问题。你是不是正在寻找,正在期望 Linux 某一天可以有一个VC那样的开发环境?你有没有发现你正在进入微软给你设下的怪圈?你为什么一定要用 IDE?你说:"IDE 开发迅速,调试方便,适合大型程序……" 那说明微软的程序在你脑子里已经比较根深蒂固,你需要好好清醒一下了,看看我来告诉你。

高明的 UNIX 程序员不用 IDE,IDE 从来就是给初级 Windows 程序员用的。

你看看大型的 UNIX 程序,包括 Linux 内核,各种网络服务程序,Xwindow 程序在内,哪一个是 IDE 搞出来的?我们实验室的 EDA 程序也没有一个是 IDE 弄的,我还知道Candence, Synopsys,Mentor 的高性能的图形界面 EDA 程序也都不是 IDE 写的。你信不信,微软的人在写 Windows 本身的时候也根本不用 IDE。微软内部程序员最喜欢的编辑器其实是 VIM,用 VIM 的微软程序员上次向乌干达的可怜儿童捐助了1000多美元,这是值得称赞的。

有一次某杂志采访一些出名的 Linux 内核程序员,包括 Linus 在内,没有一个人用IDE,有的人用 VIM,有的用 Emacs,只有 Linus 说"GNU Emacs is evil",但是其实他用的是一种跟 Emacs 有同样键绑定功能的 MicroEmacs。大家都是用编辑器编辑了程序文件,然后用 make 这样的自动工具调用 gcc 编译器完成编译工作的。甚至高级的 Windows 程序员也不用 IDE,他们可以从命令行调用 cl,nmake 来编译自己的程序。虽然这样的 Windows 程序员很少,但是他们却是最了解 Windows,最高明的Windows 程序员。

为什么 UNIX 程序员不用 IDE?明白了这个道理你就能体会到 UNIX 的设计思想了。首先,一个 IDE 集成了编辑器,编译器,汇编器,调试器,跟踪器…… 这个编辑器功能肯定比不上 VIM 或 Emacs,编译器比不上 GCC,汇编器比不上 as,调试器比不上 gdb,ddd, 跟踪器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序。如果你对调试器的功能不满意,你只好换用另外一套 IDE,但是这套 IDE 的热键,菜单,编辑器功能,按钮…… 跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境,而不能保持原来的某些东西。

而在 UNIX 下就不一样了。你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以调用GNU make,make 可以调用 gcc, ld, ... make 的出错信息可以被 VIM 捕获,VIM 能帮你在源程序里定位。你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你如果觉得 gdb 跟踪变量时比较麻烦,你可以用 ddd 来显示各种数据结构之间的关系。你还可以在 Emacs 里调用 gdb,那样就可以同步显示源代码了。而且 VIM 和 Emacs 还可以编辑很多其它东西,比如信件,LaTeX 文档,HTML,配置文件…… 你不用另外找一个什么编辑器来干这些杂活了。很多程序比如 Mutt, tin 都可以在内部使用 VIM,这样就更方便了。实际上 make 在其它方面还能帮你很多忙,我的每一个比较大型的 LaTeX文档都是用 make 维护的。

Linux 能干的高精尖的事情 Windows 都干不了

当然有很多事情是Linux/UNIX的专利了。因为 Windows 只能装在 PC 机上,好像以前也有 Alpha 可以使用 Windows NT,但是就是没见到有人用。PC 机的能力是很低的,像我们编程序处理 NP-Hard 问题的人,用 Windows 的机器显然速度不够,而且有时一个问题算上几天甚至几个星期,Windows 机器是以"死机"著称的,我们怎么能放心?所以几乎所有科学计算程序,EDA 程序,高性能图像处理程序都不是 Windows 的。他们有时也会移植一些给 Windows,但是常常降低那些程序的能力。你比较过 Windows 版本的 Mathematica 和 Linux 的有什么区别吗?

IBM 制造的最大的并行计算机有 8000 多个处理器,Windows 不可能有能力管理这么多处理器,它用的是什么操作系统?答案是 Linux。

《泰坦尼克号》电影里的三维动画,那么细腻逼真,Windows机器能做出来吗?不行。那也是 Linux 机器做的。

民航总局用来训练地情人员的虚拟现实训练设备,Windows 当然无能为力。那都是商业的 IRIX 机器。

UNIX 是最早支持 TCP/IP 网络协议的系统。它上面有很多可以互相协作的网络服务程序,它们经过多年的使用和修订,已经达到比较完善的程度。而就在1997年,微软的比尔盖茨还在扬言:"Internet 是没有前途的。" 微软的这个"远见卓识"大家应该都已见识,它后来加上的网络服务程序IIS漏洞之多,让公安部都频频发出警报,大家也是见识了的。

其实你知道了,Windows 没有一样有用的事情能比 UNIX 干的更好。

Linux 干不了的有用的事情 Windows 照样干不了
当然 Linux 不是万能的。它也有不能干的事情,电脑也有干不了的事情。但是 Linux干不了的事情,Windows 肯定也干不了。这些事情就是我们需要探索,需要努力的事情了。在你探索的过程中,Linux 必定是你的好伙伴。

不要把Linux和Xwindow掩盖起来!不要把我们的用户当成傻瓜。

什么?你早就知道 Windows 是垃圾?噢!你怎么不早说呢!害我废话这么多。嘿嘿。

"好了。你知道 Windows 是垃圾,你现在用什么"

"Linux + Xwindow"

"那我问你,Xwindow 是什么样的?"

"不就是跟 Windows 差不多吗?只不过 'Start' 按钮比较方,而且上面不是一个Windows 标志,而是一个脚丫子。点击一下居然还有很漂亮的中文菜单。我喜欢!"

"你知道什么是'根窗口'吗?"

"不知道。从来没听说过呢?"

"根窗口就是遮盖整个屏幕的那个最大的窗口。"

"哪儿有什么窗口啊!我没有看到呢?"

你发现了问题吗?这些 Linux 用户说是在用 Linux 和 Xwindow,但是他们对 Linux和 Xwindow 几乎完全不了解。很多人用了那么久 Xwindow 都不知道根窗口是什么东西,不知道其实按钮也是窗口,不知道窗口管理器和其它程序有什么关系,大家都以为窗口上面的按钮是程序自己放上去的,不知道窗口? quot;class name","resource name"是什么东西。他们也不知道 .Xdefaults 是用来干什么的。特别是他们很多人都不知道 Xwindow 的字体是如何命名的,什么是 fontset,有了一个新的字体也不知道怎么安装。

他们被遮在 Linux 之上的一层一层的包装迷惑了,他们等待有图形界面的工具来帮助完成一切事情,他们认为 Linux 跟 Windows 一样,只是麻烦一点。他们知道 Linux内核很好,但是他们感觉不到 Linux 和 Xwindow 在操作层面的天生的先进性,随后不久就把 Linux 完全删除掉了。你发现没有,要用户理解 UNIX 和 Xwindow 的操作层面的先进性,才是留住用户的最好办法。如果用户体会不到操作时的方便和高效,内核再好他们也不会理会。

但是用摹仿 Windows 的作法来吸引用户,永远会失败的。因为 Linux 如果摹仿Windows那一套低效率的方式,那么 Linux 的这套"低效率方式"永远比不上Windows 的那一套"低效率方式"。那么用户就会说:"这个 Linux,没有一样比的上 Windows。"

Linux 天生就是继承了 UNIX 的高效的工作方式,为什么我们要把它掩盖起来?我们为什么只告诉用户 KDE 的菜单怎么用?我们为什么不能像早期的 Xwindow 书籍那样第一节就告诉用户什么是 X server, 什么是 X client,什么是 Window Manager, 什么是根窗口。第二章就告诉用户窗口有哪些属性,什么是 classname, resource name, hint,怎样使用 .Xdefaults, xrdb ……

在这里我又不得不说一下那些 Linux 的发行公司和写书的人,他们把 Linux 和Xwindow 包装起来,却没有从基本上告诉用户 Xwindow 的工作原理。很多书籍讲授的层次就是在Gnome, KDE 的菜单操作的层次,靠大量抓图来占篇幅,"繁荣"Linux 书籍市场。

现在很多人已经把能够利用别人的库写出一个好看的程序作为自己编程水平的象征。在这"图形化","可视化" 的年代,你如果还在用 troff, LaTeX 写文档,你还在用VIM 自己编辑 HTML,用 Mutt 处理邮件,你还在用文本模式的 gdb 调试程序,你还在用Xlib 写程序, 你还在用 tin 上 USENET,你还在自己写 Makefile,写机器代码,你还在玩 Clossal Cave 这样的字符模式冒险游戏,那你就是老古董。

其实这种思想是错误的。虽然你是一个坚决的 Linux 支持者,但是你的思想是 Windows的思想。你认为图形界面,菜单,按钮就可以解决一切问题,就可以给你高效方便。你还是没能摆脱微软给你的潜移默化的东西。你其实离不开 Windows 那样的环境,你迟早会删掉自己的 Linux。

GUI vs. CLI
做一个坚定不移的"两面派"

大家看到这个标题是不是热血沸腾?两派大虾都可以围攻我了:

GUI派用户:"哇!我一看你这小子就是 CLI 的。要不然自己写什么 Makefile?用什么Mutt?"

CLI派用户:"切~ 你还用 X!高手都不用 X。你是 GUI 那边的。"

可怜的我:"555~~ 你们都不要我~~ GUI 和 CLI 就那么水火不容吗?"

计算机界这样的门派之分还很多。很有特点的就是 CLI 和 GUI 了。CLI (Command LIne)的狂热份子声称永远不用 X。我上次在实验室看到一个同学用一个 SecureCRT 登录到Sun 机器,然后用一个 vanilla vi 编辑程序,我建议他启动一个 GVIM 过来显示在Exceed 上可以有语法加亮。但是他坚决反对,说:"高手不用X。你想想,要是我在一个很慢的网络连接怎么用 X?而且好多服务器没有装 X 程序。"

但是我们实验室的网速可够快,Windows 机器都有 Exceed 啊,而且 Sun 机器有全套X 客户程序包括 GVIM。他说他是 CLI 的坚决拥护者,但是他却在用 Windows,他后来打开了好几个 SecureCRT,每次从文本框输入地址,用户名和密码,从下拉菜单选择"SSH2",然后点击"Connnect"。他还不断的夸SecureCRT 是"网络管理员投票选出的最受欢迎的登录方式"。老天,SecureCRT 本身就是个 GUI 啊,他其实没有明白Xwindow 的好处。

你说我是 GUI 的?我虽然很少在 console 下工作。但是我对 bash, VIM 很熟悉,我可以让 bash 按照我的键绑定方式来工作。我可以在 rxvt 里使用 Mutt 来收发 email。我的每个桌面上都常常堆放着一打不同大小的 rxvt。我用 VIM 编辑 LaTeX。我自己写Makefile 来维护 LaTeX 文档。我有时用 mpg321 来放 mp3。我上BBS用的我自己写的expect 脚本。 好了,CLI 派的朋友可以收我做盟友了

你说我是 CLI 的老古董?我的 FVWM 被我配置为可以"手写操作",我只要画一个"r"就可以启动 rxvt,我只要画一个 "U" 就可以启动 GVIM,…… 我用 GVIM 语法加亮模式编辑程序,我用 Mozilla 浏览网页,…… GUI 派的现在好像认我做朋友了

好了。CLI 派的朋友,虽然我很喜欢命令行,但是我有时在屏幕上左右画一下就可以执行:

Module FvwmConsole -terminal rxvt -geometry 45x5-0+0 -bg gold -fg midnightblue -fn "-adobe-courier-medium-r-*-*-14-*-*-*-*-*-*-*"
你是不是现在又想把我逐出师门?

GUI 派的朋友,虽然我很喜欢窗口。但是我可以在 FvwmConsole 里输入:

All (rxvt) MoveToDesk
把我所有的 rxvt 移动到我现在工作的桌面。"这家伙,怎么这么快就叛变了!"

其实何必分什么 GUI 和 CLI,UNIX 和 Xwindow 都是工业标准,它们从设计那天开始就有非常灵活的用法,各个程序,不管是 GUI 还是命令行的都可以互相协作。UNIX 和X 是一家,何必搞的那么偏激,非此即彼?你从我上面的行为可以看出 GUI 和 CLI的模糊界线吗?我就是坚定不移的"两面派"。

UNIX 是简单的--
"我相信简单就是最好,如果太复杂,我是不能理解的。" -Seymour Cray

很多第一次用 Linux 的人会惊奇的发现,Linux 的程序居然不"安装"就可以运行,程序拷贝到随便那个目录都可以用,而不是一定要占用你第一个分区的空间。程序的设置只是一些简简单单的文本文件。你根本不需要什么"注册表修改器" 就可以改变系统的设置。这就叫做简单,但是简单就是美。虽然这只是 UNIX 简单性的一个肤浅的认识,你已经体会到了某些东西。

但是简单并不意味着功能弱,并不意味着落后。相反,简单意味着强大,意味着生命力。

我不会再继续阐述我理解到的"UNIX 的简单",因为这个需要自己去体会。

UNIX 是永恒的
有人说:"Plan9 会取代 UNIX,Mach 会取代 Linux 内核。"

但是你如果是一个深入体会了 UNIX 的人,你就会知道:UNIX 的思想是永恒的,不管时过境迁,Plan9 是否代替 UNIX,UNIX 的灵魂都会在 Plan9 身上现形!

我为同一个设备写过 Linux 内核和 Windows VxD 驱动程序。写 Linux 驱动程序时,我对 UNIX 设计的完美的一致性,远见性所折服。UNIX 用同样界面的 read(), write()系统调用就可以对不同的对象:普通文件,设备文件,管道,管道文件,socket,……进行统一的读写操作。我跟本不需要写一个测试用的应用程序就可以对我的设备驱动进行测试,因为 cat, cp, dd, 它们也使用了同样的 read(), write(),设备和普通文件在应用程序眼里没有区别。在那个还没有 Smalltalk, 没有 C++ 的年代,UNIX 的设计者已经使用了所谓的 "面向对象方法"。对,C 语言也可以实现面向对象。

UNIX的系统调用几十年都没有很大变化,这非但不是顽固,不进步的象征,反而是UNIX 的远见卓识的体现!这就跟 TeX程序几十年都不变的情况差不多。这些才是真正的永恒的 master piece!你应该改变所有软件都必需从 0.1, 1.0, 1.1, 1.2, 2.0, ..., 3.0, 3.1,95, 98, 2000, XP, ... 不断升级的想法。

Windows 就不同了,它在最开头只是一个 DOS之上的图形包装而已。后来为了兼容以前的糟糕设计,不得不加上很多累赘。我写VxD 驱动程序的时候就深有体会,Windows 95 程序对设备的操作只有用DeviceIoControl,我不得不写了两个应用程序来对设备驱动进行测试。Windows内核的不一致性和隐密性使我非常恼火。不过 Windows WDM驱动程序现在也有了 ReadFile, WriteFile,…… 那说明什么?那说明Windows 在向 UNIX 学习,或者有可能是某个 UNIX设计人员在微软打了几天临工,顺手加了几个UNIX的东西进去。这样做是没有用的,Windows从一开始就是非常糟糕的设计,它的历史的包袱太沉重了,缝缝补补有什么用?它只能永远的被UNIX 甩在身后!

UNIX 是强大的
让聪明人干任何他们想干的事情。

UNIX 的一个特点就是非常高的灵活性,Xwindow也具有这种灵活性。这种灵活性体现在哪里呢?

UNIX 的程序一般都有很多参数,不管你现在用的着用不着,总有人需要某些参数。它们的行为很多都可以用配置文件来改变。比如GNU bash, 通常缺省的命令行输入方式是 Emacs 方式,但是只要我编辑一个.inputrc 文件,就可以把它变成 vi的输入方式,而且我还可以自己绑定键序列到某些操作。我可以用 shopt来设置它的很多特点,比如是否进行通配符扩展,是否可以把一个变量当作一个目录来cd,是否可以自动纠正某些明显的目录名打字错误……

UNIX程序设计的思想是提供给用户“机制”,而不限制用户制定“政策”。这是一个重要的尊重用户的作法。

我们再来看看 Xwindow。Xwindow是一个出色的设计,它把显示服务器和客户程序分开。一个显示上既可以显示本机上的程序,也可以显示别的机器上的X程序,而它们都遵守你的窗口管理器的统一指挥,它们之间可以方便的传送剪贴版数据,各种事件…… 比如有时我的 XFree86 上会出现四个不同机器上的XTerm,两个不同机器上的 GVIM,…… 它们统一受本机上的 FVWM指挥。

Xwindow 程序都具有很多很多命令行参数和 resource参数。你可以随意的在命令行或者 .Xdefaults文件设置所有的颜色,字体,尺寸…… 而且如果你用 xrdb 把 .Xdefaults导入到根窗口,那么其它机器上没有经过配置的同样的程序,显示到你的机器上的时候也会遵守同样的外观规定。

Xwindow 的窗口具有 Property,也就是一些可以自己定义的共享数据(原子)。正是因为这些 Property的存在,使得 Xwindow 具有无比强大的生命力。X的窗口管理器和其它客户程序之间并没有统一的协议,但是后来出现了ICCCM(客户程序间通信规范),这个规范就是通过 property定义的。现在又有人定义了一套“扩展的窗口协议(EWM Hints)”,使得Xwindow 可以具有某些 Windows 的特征,比如一个工具条程序可以告
诉窗口管理器:“这个屏幕下面被我占据了24个像素的空间,你最大化程序的时候不要越过这个界线。”

一个强大的窗口管理程序比如FVWM,它收到这样的提示时,可以答应工具条程序的这个要求,也可以不答应。一切选择的权力在于谁?当然是用户了!

你想想,是不是有些 Windows 程序常常弹出一个窗口要你选择 "Yes orNo"?你不点击它它就不下去。你觉不觉得你的程序在侵犯你的尊严?你是一个人,一个智慧的生物,怎能受到一个程序如此的待遇?

还有就是很多 Windows程序把人当成傻瓜,而它是“智能程序”。比如,有一个程序就是喜欢把你的每句话第一个字母都变成大写,我不说它是谁了,你遇到的时候就知道了。

如果连“一句话开头一个字母要大写”这么明显的问题都需要程序帮你纠正的话,人脑还用来干什么?况且如果你故意想要不大写的话,那就更麻烦了,我楞是没有从它那一大堆菜单里找到怎么关闭这个愚蠢的选项。

只有符号才能完全操纵计算机

我们来说说很多初学 Linux 的用户。虽然他们在用 Linux,但是他们打心眼儿里是觉得 Windows 的工作方式好,他们希望 Linux 有一天能"像Windows那样"。你说:"我鼠标一点,我菜单一拉,...... 就可以完成我的操作。" 但是我要告诉你:"Linux 从来没有摹仿 Windows,将来也不会。Linux 从诞生之日起,它的工作方式就比 Windows 的先进。Linux 属于能勇敢面对符号的人。只有符号才能完全操纵计算机。"


看看优秀的 UNIX 程序,XFree86, FVWM, VIM, Emacs, proftpd, Mutt, wget,tin, ... 没有一个不是用配置文件来设置选项的。为什么这些程序没有方便的菜单可以用来配置?难道它们的设计者就那么低能,连个图形配置界面也写不出来?

当然不是。因为图形界面配置方式的能力是极其有限的,而配置文件和程序语言的表达能力却是无限的。用图形界面配置这些程序的话,如果你想达到配 置文件的效果,你需要成百上千的菜单,checkbox, radio button, ... 到时候你根本没办法找到你需要修改的地方了!而各个程序的配置文件的语法都有很多相似之处,一般就是一些命令,设置一些变量,参数,...... 一旦用会了一个,其它的也就容易理解了。如果你用惯了 awk, sed, Perl,你会觉得那才是真正的自动化啊。

鼠标虽然是很好的工具,但是它的表达能力是有限的。你不可能光用鼠标就让电脑完全明白你的意思,它毕竟只有3个按钮。看看我的MetaPost页你就能体会到鼠标的这一弱点。所以我们虽然很喜欢鼠标,但是却不能完全依赖它。

各个小程序的完美配合

这就是UNIX最重要的特点了,它就是UNIX设计的思想。让每个程序只具有一项专门的能力,然后让它们合作。Xwindow也继承了这种好传统。

这恐怕就是Windows和其它操作系统望尘莫及的地方了。UNIX 程序设计之统一,配合之完美,真使我难以置信!shell, grep, find, awk, sed, make, Perl,Emacs, vi, tin, Mutt, ... 它们是那么的具有一致性!你一旦学会了 sed 的正则表达式,其它程序基本上都能用了。你一旦学会了 vi 和 VIM, 你会发现它的操作是那么的有规律性,似乎vi的设计者在几十年前就已经设计好了 VIM 在今天的完美而统一的操作方式!而且vi的操作还体现在 Mutt, tin 等很多程序中。你甚至可以把 bash 设置为 vi 的输入方式来输入命令行,我就是这么做的。一个程序可以调用另外一个程序来得到数据,可以把数据交给它处理后返回来,可以在自己的窗口里"嵌入"另外一个程序。

在 Windows 和其它非 UNIX 操作系统中,这种合作是非常困难的。我曾经在Windows 下使用 Perl来进行一些自动工作。但是 Windows 的文件操作,管道是如此的不稳定,程序之间基本不能合作。你别想在 Visual Studio 窗口里面嵌入UltraEdit 编辑器,你别想用一个 expect 脚本来控制 telnet 到水木清华BBS,这就是为什么 helloooo 诞生在 Linux 而不是 Windows。我曾经试图从Windows + Exceed + SecureCRT ssh 登录到 Sun 机器,然后通过 ssh 的隧道(X11 tunnel)把 X 程序传到 Exceed 上运行,但是搞了两天都没有成功!而在Linux 下这个事情根本就是不用怎么配置的,OpenSSH 和 XFree86 本来就是完美结合,只要打开 ssh 的 "forward X11" 选项就什么都搞定了。

Windows 的程序都是大而全,大而杂,所有的电子邮件程序都需要自己提供编辑器,自己发送和收取邮件,自己显示邮件的附件。每一个BBS程序都提供自己的 Virtual Terminal, 自己的通讯代码。每一个 IDE 都自己提供编辑器,编译器,汇编器,调试器。人们为了使用一种新的程序,需要适应所有这些它提供的界面,而不能使用自己喜欢的编辑器的键绑定,菜单组织...... 不能 DIY!

你要知道,最高级的电脑是定做的,自己想要什么什么CPU,什么主板,多少内存,什么硬盘,键盘,鼠标,显示器都是自己选择的。最高级的滑板,自己想要什么牌子的版面,什么牌子的沙,什么桥,什么轮子,什么轴承,也都是自己选的。最高级的乒乓球拍,木板,胶皮,海绵,胶水都是可以自己选择...... 而用Windows 程序,你得到的是大杂烩,就像你去买"品牌机",只有那么几种配置,而且附带很多你不需要的软件和服务;就像你去买组装好的滑板,你想要大一点的轮子和窄一点的板子,但是你没有这种选择余地!Windo ws 程序就相当于最廉价,最次的滑板。但是它却会花你更多的钱,因为一旦一个部件坏了,或者你不喜欢了,你不能另外找一个好的换掉它,你必需重新买全套配件!

而 UNIX 和 Xwindow 就是高档的"组装货"。比如我用 Mutt 的时候,我可以用VIM 也可以用 pico 来编辑邮件,我可以用 ImageMagick 也可以用 xv 来显示附件里的图片,我可以用 lynx 把 HTML 附件转成文本嵌入窗口中,我也可以把HTML 附件交给 Mozilla 图形显示。我可以让 GnuPG 帮我把邮件进行数字签名和加密,我也可以用其它 PGP 程序。我想让 Postfix 而不是 sendmail 帮我发出邮件,我想让 fetchmail 帮我收邮件,转发给 postfix,然后被我自己写的Perl过滤器处理...... 这一切我都可以办到!我可以选择我最喜欢的专门的程序来完成专门的工作,然后把它们结合在一起,我也可以分别得到它们的好处。

结论

我写这么多的目的是什么?我希望喜欢 Linux 的朋友,完全清除微软和Windows 灌输在你脑子里的谬论,别再相信它们所谓的"新技术",别再追赶Windows,因为追赶 Windows =倒退。马克思有一个思想很重要,"新生事物并不一定是在最近出现的。" UNIX,Xwindow, TeX 虽然都比 Windows 先出现,但是它们才是先进生产力的代表。我们要清楚的认识到什么才是真正的现代化,什么才是真正的自动化。

勇敢的拿起像 bash, FVWM, VIM, Emacs, Mutt, lftp ...... 这样强大的程序,不要再埋怨"Linux 为什么不能像 Windows 那样",不要再浪费时间试用这样那样的程序,不要再忙着升级。是你需要改变而不是 Linux 和 UNIX,Linux 现在就可以成为你的好朋友。你需要认识它,了解它,信任它,才能完全的靠它来高效的工作,省出时间来处理世界上更加值得处理的事情。

“用Linux吧”

posted Feb 25, 2009, 10:27 PM by Johnny Li

相信每个人都有做过“传教士”,或许下文所写的诸多你都有亲身经历和体验……
“用Linux吧”
经常对周围的朋友说这句话,得到的回答惊人的一致:不会用!

一直希望周围的朋友都来使用Linux,也一直见机会就去推广,比如今天的生日bg上,可只有很少人开始使用Firefox,没有一个从 Windows转向Linux,看来真是会去用Linux的人不需要你去推广,不会去用的人怎么推广都没有用.”不要做传教士”,说的太对了.可下一次有人抱怨Windows的时候,我还是会说一句:”用Linux吧”.当然,在中国这种每个人都可以免费获得Windows安装光盘的情况下,这样的话基本是没啥用的.

看到一篇文章:<2008:Linux Desktop年>.觉得在中国,这种情况的出现还不知道要多少年.既然是Desktop,那面对的是什么,是普通老百姓,是上网聊天写文章看电影的很”普通”的需求.而不是一群所谓”Linux粉丝”,整天嚷嚷着”安全”,”开源”,”鄙视微软”,”自由软件”的”geek”. Desktop不是高级玩具, 不能拿来之后还要折腾个三五天才能方便的使用.大多数的桌面用户并不痛恨微软,他们不在乎开源不开源,自由不自由,他们也许要的就是两个字:方便.而所谓 “安全性”提都不要提,对大多数普通的计算机使用者来说,很少人把它当成一回事(中毒已经是上网的一部分了!!!不用装杀毒软件?不习惯!!!).要想让国内最普通的计算机用户也接受Linux,主动去使用Linux,个人认为”普及版”桌面系统要有以下几个改变,毕竟,改变程序总比改变人容易的多.还有就是希望看到的一些外在因素的改变.

1.系统安装

虽说多数人也不会自己装Windows系统,不过Linux稍显复杂的安装会在”第一次的亲密接触”中,就将部分用户拒之门外.谁有空去研究挂载点咋回事?谁有空去查查swap需要设置多少才合适?既然是Desktop,它的安装就应该是:插入光盘,中间除了需要设置用户名密码外,都是自动设置的. 太多的自由往往成了不自由,让人不知道该往哪里走.很多挺Linux的人鄙视微软把用户当傻瓜,啥都不能定制.可说句难听的,大多数人还真想被当做傻瓜, 能想到做到这点就是微软的牛x之处.你弄一数码相机,没Auto模式,想拍张照片得先研究一下啥叫白平衡,啥叫色温…有多少人会去用呢?又有多少人买了功能齐全的相机后是整天搞个Auto模式乱拍呢?道理很简单:我要留下的是照片中自己的笑脸,不是精彩照片前别人的称赞.(有相反想法的Linux用户不在少数吧).所以,替用户做主吧.给他一个轻松的开始.

2.软件的安装

对于Windows用户来说,一个软件从无到有的过程是:下载->双击安装->使用.

Linux呢?复杂的不是一点点吧.先说下载.下载什么?有源码的,也有.deb的,还有.rmp的….装起来也是各不相同.光 “configure””make””make install”就能吓走一大群人.使用呢?安装到哪里去了?到底哪一个文件才是点击运行的?怎么连个图标都没有?这里倒不是说这些是Linux的缺点 (甚至应该是优点),而是现在要和Windows争用户的话,就要尊重这些用户,尊重他们的习惯.要站在Windows的角度去推广Linux,而不是简单的让人去改变习惯,谁也没那个耐性.至少要有个”习惯兼容性”.当别人问我Linux下怎么安装软件的时候,我可以说:”和Windows一样,你下一个.xx的文件,双击安装就是了”.后来,也许他自己会发现,还有其他的方法,而且更好,更适合自己,这是进步,而不应该是开始.这是选择,而不是妥协.

3. 文件系统

一个从未用过Linux人第一次使用某一发行版时,可能第一个反应是:怎么没有C盘D盘….觉得这个和Windows的差异最难解释,也很难让人适应,所以干脆把所有问题简单化.即解释为”以后自己保存的东西用文件夹整理放在home里就可以了,不用碎片整理,放心”.当然,在系统装好后,桌面上出现一个home文件夹的link,类似这样的特点对新手来说会很友好.其实,视觉与使用上”模仿”Windows并不是坏事.

4. 中文化

想我以前装系统的时候,中文化实在是一个太让人头痛的问题. 不过,现在的发行版(比如Ubuntu),在中文支持上已经有相当大的进步,基本系统装好后不需要太多的配置就可以方便的使用浏览中文.像dubuntu 这样中文化的增强版本更是大大缩小系统的配置时间,易用性更强.相信许多Ubuntu的用户还是自己去装”原始”的系统,然后自己去配置,不过对于有着” 微软习惯”的用户来说,dubuntu无疑更利于熟悉和使用.另外需要感谢的就是文泉驿,方便了太多中国的Linux用户!

5.软件支持

这也是一个头痛的问题.最容易被提起的当属QQ了.今天就有人对我说:”Linux有什么好的,QQ都不能用!”.虽然我不喜欢QQ,可不得不承认当前在国内,一个不能用QQ的系统是怎么也不会流行起来的.虽说现在pidgin可以很好的登录QQ,可谁也不能保证明天腾讯会不会又修改它的协议.在商言商,我们没有理由责怪腾讯.可多数网民对QQ的依赖性肯定会使他们拒绝考虑使用Linux,这是没有办法的事情.也许IM的明天在于Web+ flash, 也许GTalk,MSN会进一步扩大份额,不管怎样,基于Windows的软件的一家独大,会让Linux的普及困难重重.不光QQ,还有Office, 还有Photoshop.至于后两者,还有一个更难以解决的问题:盗版.功能的强大,再加上泛滥的盗版,谁会去选择无法使用他们的Linux呢?尤其是 Office,个人认为是阻止国人使用Linux的头号障碍之一.在这里相对于OO的改进和普及,我更期待的是类似Google Docs软件的普及,同时也相信这是办公软件未来发展的大趋势.

关于浏览器之争,其中更夹杂着许多无奈.我们生活在一个需要听话的社会,而”掌权者”对IE的钟情,使我们有时也不得不屈服.网银,某些学校的选课系统,甚至信息产业部ICP/IP地址信息备案管理系统,都对firefox等浏览器没什么好感.还有许多网站比如淘宝等对于firefox等的轻视,使得firefox的好,在这里显的苍白无力.

至于游戏,更是Linux普及道路上的一只拦路虎. 虽说有”美酒”,可那毕竟不能满足玩家的高要求.我自己现在也一直对Linux不能玩VOS感到很遗憾.如果真是游戏迷,那就继续用Windows吧….

王垠也说:”Windows 能干而 Linux 干不了的事情,那就是不需要干的事情.”话虽这么说,可那些”不需要干的事情”,恰恰是很多人不可或缺的事情.也许只有遏止住盗版,当那些强大的软件同时附加着高昂的费用时,才会有更多的人选择开源软件,选择Linux. 同时,政府及其他管理部门的支持,也将会使Linux下的生活方便很多从而是更多的人投入其中.另外就是期望有更多更优秀的开源软件,能被更多的人所熟悉.这之中,一些商业化的运作是非常重要的,比如Mozilla与Google的合作.”商业化”和”开源”,”自由”并没有矛盾.尤其是在现在的环境下,对于普及Linux来说,”免费”并不是一个很好的标签,因为Windows本身就是”免费”的!!

6.Linux,Linus V.S 微软,Bill Gates

听到很多小朋友说要做中国的Bill Gates,没听说哪个要做Linus的.为啥?因为Bill有钱,知名度远在Linus之上.这和家长的教育不无关系.

提到Windows,很多的人会想到微软,微软帝国,那是有钱的大公司.而提到Linux呢,似乎能想到很多,又似乎什么都联想不到.在还算比较保守的中国人心里,显然前者更让人放心.

另外想想介绍Linux的历史和现状的时候口中会说到哪些名字呢?Unix,GNU,RatHat,Debian,Ubuntu….

相反,Windows呢?Dos,95,98,2000,xp,vista….

就连各位Linux老鸟们似乎对Linux这个词的发音都无法统一,更不用说普通老百姓了,打心眼里抵触. 就连最长的Vista,读起来也像三个字,至少符合中国人对于名字的习惯,而那些数字就更不用说了.

虽说这都是小方面,可就像大公司的本地化策略一样,Linux在中国要想落地生根,也绝不是安装个中文包那么简单.不是说使用Linux一定要高素质人才,可全民整体素质(比如对新事物的接受能力,比如英语水平)的上升绝对是Linux普及的一个必要条件.

罗罗嗦嗦这么多,天都亮了.本文会根据个人想法保持更新,欢迎批评讨论^^

http://zhangtao.info/freedom/linux.pala

译稿:为什么每个人都应该尝试Ubuntu

posted Feb 25, 2009, 10:23 PM by Johnny Li

如果您是位狂热的 Gentoo 或者 Slackware 粉丝,请离开,不要继续读下去。您可能不会像我说的那样。(但是向您保证,我尊敬并欣赏您的目标,致力于运行您自己可以完成的简单的 GNU/Linux 安装。我会注意保护您选择的自由。)而现在,我开始说我的。
如果这两年,您更开始使用 Linux,您有机会运行 Ubuntu。如果您第一次考虑尝试 Linux时遇到困难,您无疑应该考虑 Ubuntu。这儿是为什么。

ubuntu

选择 Ubuntu 有以下两类理由:快速上手以及长久的生存能力。快速上手,是指使用 Ubuntu 无需指导。花几分钟安装,立刻识别大部分硬件,隐藏 root(根)用户,避免有人弄乱它。接着预设配置,让您马上开始工作。Ubuntu 提供不错的开发者联合平台,OEM 顾客不断增长以及——最重要的——全球庞大的用户基础。

第一,上手部分。

实际上,几 乎没有人喜欢安装操作系统。如果您碰到过最多数量的电脑,这可能意味着您在电脑里,那您或许是个例外。但是对于大部分人来说,操作系统安装是个无聊的,有 时甚至烦躁的过程,这是绝大多数最终用户都希望避免的。不像大多数其他的发行版*,你可以从 Dell(戴尔)等电脑品牌商得到预装的 Ubuntu,意味着您可以跳过所有安装的障碍,马上在运行的电脑上开始工作。(最近传闻指出 HP 惠普马上也要加入安装 Ubuntu 客户行列。)

如 果您选择自己安装 Ubuntu,您可能希望最流行的安装流程之一可以用于任何操作系统。当 Ubuntu 安装过程让您选择自定义硬盘分区时,您也可以马上点击下一步,只需要停下来输入时区、用户名和密码,直到安装完成。您体验到的与 Windows Vista 和 Mac OS X 几乎完全相同。

硬件兼容方面,Ubuntu 牢不可破。这些年来,我安装 Ubuntu 从基于 Power PC 的 Mac 到高端的游戏桌面电脑和一些笔记本。我也找到了一个它不能很容易支持的系统。我个人测试硬件兼容性平台是低端的 Gateway MX3228 笔记本,我经常使用其作为测试系统。(我刚才顺便在上面打字。)它集成 Via UniChrome GPU(图形处理器)、WXGA 显示器、Broadcom 4318 无线网卡、Via 集成声卡以及 Texas Instruments(德州仪器)多媒体读卡器。几乎每次我安装系统,都会碰到点小问题,包括 Windows Vista。花十多分钟从 Gateway 网站下载并安装正确 Vista 驱动,许多 Linux 发行版本也不能够直接显示。即使最新的 Sabayon 版本,其对于硬件支持方面自吹自擂,但对于我这种冷门笔记本也束手无策。但当我为此重装了 Ubuntu,极其少见地花了30多分钟配置所有硬件部分,终于现在机器完美运行。大部分要感谢所有 Ubuntu 论坛上乐于助人的朋友,他们慷慨地分享自己的经验。对于每一个疑难杂症简单地跟随一步一步指令做即可。

因为 Ubuntu 隐藏了 root(根)用户,运行管理员命令需使用 sudo。Ubuntu 保护了新用户自己。这很像 Windows Vista 的用户管理,只有较少的麻烦和更高的安全性。许多其他发行版本仍旧允许用户以 root 登录,对于喜欢乱弄的新手来说可能会带来一场灾难。

安 装操作系统只是小部分的电脑经验。事实上,大多数电脑用户从来没有过那样的经历。一旦您第一次启动 Ubuntu,准备狂欢,做些真正的事情。Ubuntu 已经建立了一个高规格的平台带有预先配置好的软件,其中为您提供一个专业规格的办公软件包、强大的图形编辑软件、多功能的相片管理软件、智能的音乐播放器 和其它普通人可能需要的软件——一起都准备好,可以马上运行。现在所有主要发行版本都做得同样出色,但我相信 Ubuntu 会掌握好安装所有软件包和避免不必要软件包之间的平衡。如果您遇到想要的软件没有安装,选择 Applications(应用软件) > Add/Remove...(添加/删除...),然后点击它。(或者如果更高级的用户,您可以在 Synaptic Package Manager(新立得软件包管理器)找到继续全部主要开源 Linux 应用软件。)买一台新 Mac 或者 Windows 电脑。在实际开始做事前,您还需要花费数小时安装所有经常用的软件。购买一台预装 Ubuntu 的电脑,您5分钟内就可以开始工作。

但 是老实说,我认为 Ubuntu 拥有长期的生存能力重要于其短期的实用主义。最近几年来,对于改进 Linux 桌面方面,Ubuntu 做得比其他发行版本要多。这就是我已详细讨论的,其带来的实际好处,但它也有许多不明确的地方。感谢用户和主流科技媒体流露出值得纪念的表扬, Ubuntu 现在甚至比 Red Hat 在最终用户中更为流行。所有这些流言对于 Ubuntu 产生巨大的动力,让它成为家用桌面历史上支持最棒的 Linux 发行版。在完全一致的呼声中,最终用户使得 Ubuntu 成为 Dell 预装 Linux 系统的第一选择。鉴于流行广泛的影响,Ubuntu 开始克服所有 Linux 发行版面临的最大障碍之一:不为人所知。

历史上,支持 Linux 对于硬件开发者来说,是个麻烦的问题。令人怯步的任务是需要一系列的打包系统,这会让提供者感到惊愕。很难决定支持哪个发行版本,如果有的话。往往,提供 者简单地放弃而不是解决这个问题。Ubuntu 倍受瞩目的状态给了开发者一个作为他们在 Linux 世界冒险的明显起始点,显著降低这个关键入门障碍。因为 Ubuntu 立足于家用桌面用户而不只是管理员与超级奇客。在高端图形硬件上更多可能有飞速发展,潜在地引领 Linux 游戏体验上需要的更多改进。

这 里恰当的说,对于 Linux 来看,Ubuntu 总体上在桌面上是成功。它必须打造一个有别于其他落伍的、专业的操作系统的声誉。作为常识,它必然会得到大量批评。主要 GNU/Linux 世界出现分裂和潜在用户、开发者、提供者,类似大量批评是难以避免的。从我的角度看,Ubuntu 最有希望统一 Linux 社区,去邀请——而不是威胁——主要的软硬件提供者,满足非技术的最终用户。如果在未来一两年内 Ubuntu 控制住所面临的混乱增长,它有可能上升为世界桌面操作系统领域主要的第三种选择。目前没有一个其他的 Linux 发行版本能做到。

现 在,那些有经验的 Linux 用户不理会我开放的说法,或许会回避所有 Ubuntu 话题。但有一件事:Ubuntu 的成功也帮助了您的发行版。Ubuntu 易用且流行,对于用户及提供者,它都可以作为入门的发行版。人们一旦数量使用 Ubuntu,他们可能会转而尝试 Fedora。提供者一开始支持 Ubuntu,支持 PCLinuxOS 也很容易了。希望任何提供者提供对于所有发行版本支持是不明智的,循序渐进的支持有助于整个 Linux 的发展。虽然不可想像 Linux 会成为主流,但没有任何东西可以阻止300多个发行版本的出现(而且每天还在诞生更多版本),以及千百万程序员为此奋斗。

如果你刚刚进入 Linux 社区,你可能是激动的。现在所有的东西对你来说似乎都是新的、陌生的,但是如果你有兴趣,使用大量论坛和其它社区资源。你一会儿就成为了高手。一旦你掌握了现象的本质和使用过发行版的不同功能,你会发现自己的电脑有无限可能。

坦白说,任意两个 Linux 发行版本之间的差异是很小的。而且不知从何开始不会阻止人们进来。这就是我从这里开始,我推荐新手使用 Ubuntu。如果你感兴趣于进入更具技术挑战的领域,那请尝试 Gentoo 或者 Slackware,甚至某些开源的 BSD 版本。重要的是满足自己的需求,尝试新事物,让电脑自由。

太容易了。那就来吧。

注:
* 其中所说的“发行版”是指 Linux 其他发行版本。比如:Fedora(Redhat)、OpensuseDebian

最新消息:继 DELL 等大厂商发布预装 Ubuntu 的电脑之后,我国宝岛台湾 PC 厂商 Acer 也开始计划预装 Ubuntu 系统

不但文中提到的几款 Linux 发行版不错,我个人使用了几十个版本的 Linux/Unix,感觉中国人自己改写的 Linux 版本也不错,特别适合初学者使用。因为它们已经自带了常用的软件包和配置好的中文环境,非常容易上手。这里也推荐几款,比如 DubuntuMagiclinux。只是有些可惜,由于各种因素,中国开发的版本一般维护时间不会很久。希望更多人来关注 Linux,特别是我们自己的版本。

我想知道您使用哪个版本的操作系统呢?

网友言论:从开源领袖到头号叛徒--袁萌100天变身实录

posted Feb 25, 2009, 10:22 PM by Johnny Li

在51cto上看到一篇连载长篇报道文章,题目是《从开源领袖到头号叛徒──袁萌100天变身实录》,阅毕感慨良多,觉得不推荐到cnbeta简直就对不起这篇优秀的博文,为了让广大CBer了解事实真相,特向cnbeta推荐此文!
作为一名开源爱好者,“袁萌”这个名字如雷贯耳。此君现仍顶着“中国开源软件推进联盟副秘书长”的头衔,长期被国内开源人士奉为中国开源界的领军人物之一。面对恶劣的外部环境,特别是微软的打压,刚刚起步的中国开源软件曾经对如袁萌等人士热切期望——但就在2008年初,这种期望被无情地粉碎了。

说起来微软与开源的关系,其实也是市场的自然竞争,“屁股决定脑袋”,大家各为其主,谁为谁加油,倒也不能涉及人品。但如果打着开源的旗号,甚至被一些人视 为旗手,却做着为对手摇旗呐喊的勾当,这种行为就令人不齿了。然而,至今仍有许多人,尚未看清袁萌的真实面目;特别是微软OOXML文档标准被ISO通过为国际标准期间,袁萌冲在一线唱念坐打,摇旗呐喊,蒙蔽了多少人士。不平之下,特组织此文,回顾袁萌在两个月内态度发生的180度大转弯。
为了保证本文所述观点的准确,本文所有证据,均来自袁萌博客(以袁萌新浪博客为准)。为方便阅读,所引用之袁萌变身前的言论标注为红色,变身后的言论标注为蓝色。

20081月:怒斥微软的开源卫士

2008
1月初,在总结了2007Linux产业的蓬勃发展之余,袁萌还在14日和128日,分别撰写《怒斥微软中国的“多标准”谬论》和《再驳微软“多标准”谬论》两篇博客,就微软推动OOXML成为国际标准以及微软声称已经“启动了UOFOOXML文档格式的转换器项目”等言论进行了措辞激烈的批驳。博客中写道
……微软为了自己的一家“私利”,鼓吹微软公司Office(中文办公软件包),主张“多标准”是非常荒谬的。微软的“多标准论”与我们的国家意志完全背道而驰。(怒斥微软中国的“多标准”谬论 2008-01-04)

此外,针对OOXML第一次投票失败后ECMA针对各国相关组织对OOXML评论(实际上2,293页)的“正式回应”,袁萌更是干脆利落地断言:
无论怎么说,ECMA的“正式回应”并没有改变OOXML“起源于”并且“有利于”微软一家公司的事实。如果OOXML成为国际标准,必将助长微软Office继续称霸全球“桌面”的事实。(再驳微软“多标准”谬论 2008-01-28)

也许是觉得仍然无法显示自己的“激进”,袁萌特地在《再驳微软“多标准”谬论》一文的末端写道这样一段耐人寻味的注:
我不同意倪院士“希望微软用实际行动支持UOF”的表态,似乎已经默认OOXML将会成为国际标准。对于OOXML,中国政府应该继续说:“No”!(再驳微软“多标准”谬论 2008-01-28)

看到了吗?一个多么义愤填膺的开源旗手!似乎“默认OOXML将会成为国际标准”这样的想法,就意味着对开源界的被判,就有理由质疑同为开源知名人士的倪光南院士。然而,这一切在2008年的春节之后悄然发生变化……

20082月:为微软辩解的Linux专家

很多人以为,袁萌的转变源于2月下旬的微软公司之行,其实不然!早在2月初,袁萌的博客中就开始对微软显示了“客气”,这些从袁萌针对微软收购雅虎的一系列文章中其实可以体会到。不过限于本文主题,不做展开。

虽然2月袁萌的博客不多,但我们依然可以推测出到底发生了什么。
2月初,微软中国CTO李志霄和袁萌有了一次接触,“给我一份讲稿的电子文档提纲的打印稿” (有关电子文档的软件专利问题 2008-02-11),这次接触让袁萌的态度悄然发生了一点变化,“我仔细地拜读了它,并且思考了许多相关的问题。”(同上)
袁萌思考的究竟是什么我们不得而知;思考的真正结果我们自然也无从知晓;但此后,袁萌立即停止了对微软的攻击,改为较为平实的判断,以及微软与开源和平共处的“期待”……
老实说,微软自己已经申请的那些“软件专利”,严重阻碍着它自己主导的文档标准OOXML成为“国际标准”。要是发生“意外”,要是当真“那样”的话,就怪不得任何别人。我相信,微软迟早会抛弃它的“软件专利”(是它自己发展道路上的绊脚石),走向完全开放的发展道路。祝愿微软,一路走好!(有关电子文档的软件专利问题 2008-02-11)
 
不能不提的是,就在2月中旬,袁萌和孙永杰就孙的一篇“Linux的春天在哪里?”发生了争论,就Linux产业写了多篇博客,“满怀激情”地就Linux的应用前景进行鼓吹和辩护,一时为业界瞩目!顿时,“Linux专家”、“Linux旗手”等这些称谓都戴在了袁萌的头上。
 
但几乎就在同时,221日,袁萌受邀造访微软(中国)总部。去之前袁萌说道:“去微软总部看看,回来之后,哪些东西能说,哪些东西不能说,我还不知道。”(在去微软(中国)总部之前,我该准备些什么? 2008-02-21
袁萌去了,回来之后什么也没有说!其间到底发生了什么,成为中国Linux业界的一个谜——也许这个谜永远也解不开。

然而第二天,微软宣布提高开放性新战略,相对倪光南的“希望微软能作实质性的开放”和陆首群的“小步举措,有所进步,谨慎欢迎,尚待释疑”态度,袁萌分别在当天和3天后发表了博客《微软正在发生巨变》和《微软是否真的在变化?》,开始第一次直接为微软呐喊:
微软做出此项重大决定,是什么原因呢?是受了欧盟调查的影响?还是由于微软自身业已认识到软件业的未来?根据微软近日购并雅虎的重大举措,我们可以断定的是:主要是后者因素促成的。微软在进步,我们的对它的认识也要跟着变化。(微软正在发生巨变 2008-02-22)
 
微软不是“软件小作坊”,说话可以“不算数”。十年来,我们是亲眼看着微软是在不断变化的。我们可以对微软的新一代高层领导班子寄予希望,经过共同努力,力求改变当今整个世界的软件格局。长期“对骂”,不是解决问题的根本办法(途径)。(微软是否真的在变化? 2008-02-24)
 
这时,袁萌的态度已经发生了明显的变化,不仅仅是对微软,而且对开源软件本身也在改变。借着微软开放API的“东风”,袁萌认为自己为微软辩护有了一个极好的理由,因此开始连续撰文,为微软张目,反击开源软件产业……
这次,微软的大门算是打开了。在市场的舞台上,进行公开的“比试”(即产品竞争),那才算是“公平”的。开源软件的优势,不在于它有国家政策的保护(或支持),而是它的彻底开放性。如今微软开放(API)了,开源软件的天然优势何在?空谈反对“私有软件”,今后怕是不再灵验了。(什么是程序的API? 2008-02-24)

2008年2月末:赤裸裸的微软支持者!

2008年2月29日是ISO为OOXML设置“快速通道”的投票日,因此2月下旬成为OOXML标准通过与否的关键时刻,此时国内反对OOXML的声音也日益高涨;特别是2月25日倪光南院士针对相关问题再次公开明确表态号召中国投反对票,该观点被多家媒体转载,引起了广泛关注。

这时,不知是出自自觉还是“东家”的指示下,袁萌先生紧急加快了博客的撰写速度(2月24日-29日6天内连续了发表10篇!)。而此时的袁萌,已经按捺不住自己对微软的激动和信任,开始赤裸裸地为微软的“开放”和OOXML张目。

袁萌首先自打耳光的是他曾经斥之为“谬论”的“多标准”。由于ODF此前已经被通过为国际标准,OOXML要想过关,必须让世人理解,为什么在有了一个文档标准之后,还需要再通过一个?但是聪明的袁萌先生还没有马上自己鼓吹,他在2月24日的《ODF与OOXML,两者能否“共存”?》一文中转引国外某“主笔”(袁萌没有介绍此人背景)Ryan Paul的文章,称出现了“一个很独特的观点:即ODF与OOXML两者可以”共存” (严格讲是“共同演化”,即“Coevolution”)。不过也许还是怕有些过于太信赖袁萌的人误以为这篇是袁老师的反面教材,袁萌在博客最后还掩耳盗铃地加了一句:
Patrick Durusau认为,“OOXML早期存在的严重缺陷,经过ECMA标准化过程中的严格评估,大部分已经解决了”;他相信,“现在,OOXML已经准备好(ready),值得ISO组织进一步精炼(refinement)”。……不管怎么说,Durusau的建议是非常务实的,建议大家参阅原文。(ODF与OOXML,两者能否“共存”? 2008-02-25)

如果说截止到目前袁萌还保持着起码的学者态度、尽力维持着道貌岸然的表象的话,2月28日欧盟再次重罚微软的消息传来,让袁萌老师顿时恼羞成怒,深深为微软公司担忧着,并为欧盟的不识抬举跳脚开骂!
在去年,欧盟赢了微软”反垄断官司“之后,还是不满意,老是“嘀咕”(“dinged”)它的处罚没有效果(no effect),还想“动手”。……欧盟要是把微软”逼急”了,“狗急还要跳墙”呢!我们等着瞧吧!(欧盟重罚微软,遭到舆论抨击 2008-02-28)

不过袁萌老师忘了,就在不到40天之前,就在同样主题的一篇博客中,他是如何敞开胸怀感谢和崇拜欧盟的:
欧盟调查的另一个重点问题是所谓“OOXML”电子文档标准问题。微软为什么自己拒绝实现ODF?而热心于搞所谓的“文档转换器”?其中有何“猫腻”?欧盟手持“反垄断”武器,采用科学的市场调查方法,以事实为根据,以法理为准绳,硬是要把这个问题搞明白。(微软又遭欧盟调查 2008-01-16)

短短40天的时间,是什么让袁萌老师变成这样?在2月28日那篇博客中,袁萌老师自己解释道:
注:昨天,在OSS联盟的一次会议上,有人好心地提醒我:注意自己的态度不要转变的太快。我是在说“大实话”,也就顾不上那么许多了。(欧盟重罚微软,遭到舆论抨击 2008-02-28)

当然我们现在可以知道,袁萌老师之所以“顾不得许多”,的确是时间紧、任务重呀!显然,前几天的辛勤劳动没有取得微软和袁萌期望的效果,2月28日,袁萌老师终于迈出了他个人的关键一步,公开号召中国政府对OOXML投“赞成票”!——也许袁萌老师会和我争论,说他没有说过这句话,那么让我们看看原文吧!
OOXML文档标准的“第一稿”,有6千多页,是太多了,但是,它的“许改意见稿”,才有1千多页,我们为何不能去认真研究一下?行与不行,应当说(弄)个明白。政府决策得有根有据,哪能怕“麻烦”?我们不能被“忽悠”了。
   2月21日前的微软,封闭API,阻碍“互操作”,从而存在垄断市场的“行为”,该(狠)批。但是,如今微软誓言“API开放”,我们应该欢迎,并给予一定的“观察期”,这难道不对吗?(中国政府对OOXML应该投什么票? 2008-02-28)

如此苦口婆心,的确是教授风范——我们真的应该建议微软给袁萌老师颁发“最佳引导教育奖”。不过,这些还不够!袁萌老师的权威性,完全应该直接拿出态度出来,诸如下面的语言:
我们要站在客观、公正的立场上,认真研究一下OOXML,给出一个明确说法。不表态,拖时间,投“No”票,是不公正的。(中国政府对OOXML应该投什么票? 2008-02-28)

唉哟哟!我记得我当时看到这段话目瞪口呆!不表态、拖时间、投“No”票三种都是“不公正”的,那么中国政府的唯一“公正”的抉择就应该是公开、马上去投“赞成票”!这是哪家子的“公正”?这是哪家子的“专家”、“权威”?!

然而,2月29日,OOXML未获各国赴日内瓦BRM的会议代表一致认可,“快速通道”计划破灭。这次失败对微软、对袁萌老师的打击都是显而易见的:
对我而言,OOXML未获ISO批准,是可惜,还是可气?这两种心情都有。一是因为OOXML是XML的一本“巨著”(可惜),二是因为微软这个“傻蛋”(可气),要搞“快速通道”(“Fast Track”)这个馊主意,结果害了自己。(日内瓦摊牌:OOXML未获多数代表批准 2008-03-01)

对这段话我无可置评,只能说:做人哟,不能太“袁萌”了罢……

2008年3月末:虚伪的文档格式权威

进入2008年3月,一切都回到了起跑线。但袁萌老师已经回不到原来的地位上来,只能尴尬地坐在原来的开源办公室,继续为微软出谋划策,也为自己鼓舞信心。
微软处于“四面楚歌”之中,未必完全是坏事,“险境”则思变。我对微软如何走出目前的险境,是寄予希望的。(微软陷于“四面楚歌”境地 2008-03-04)

3月13日,微软“2008 新一代企业级应用平台与开发技术发布大会”在工人体育馆举行。这是微软20年来最大的发布会,此时已经成为微软朋友和“同志”的袁萌,自然不能置身事外;但是,他自己深知:“我作为中国开源软件推进联盟副秘书长跑去祝贺微软产品的商业发布,岂非荒唐?” (有幸观看微软产品发布,归来有感 2008-03-14)因此,他采取了这样的行踪……
3月13日下午,在北京工人体育馆召开数千人大会,隆重庆祝Windows Server 2008的正式发布。此刻,我怕进不去会场,傻傻地呆坐在家中,有一种失落感。……(在论证了Windows 2008的重要意义之后)看来,我现在就得去工人体育馆周边溜溜,看看能否混进去,瞧瞧里面的热闹。(衷心祝贺Windows Server 2008正式发布 2008-03-13)

发布活动在1:35分正式开始,我是12:50分赶到的。湊巧等到了一入门票(免费,晚了恐怕等不到),位置在3入口17门黄色区域309区39排17号(体育馆的最高一排)。(有幸观看微软产品发布,归来有感 2008-03-14)

看到这两篇博客,我实在无语!所有51CTO的读者都知道如何才能参加大会;所有到过现场的观众都知道如果你真的12:50赶到现场该如何“凑巧”才能拿到门票并且还能进到大门里去!

如果一个人明明已经把屁股完全扔进了凳子,还假惺惺向别人让座,你该如何评价他?

如果全世界都知道了你是中国人,你却和旁边的中国人撇伦敦腔,你又该看待他?

袁萌老师此刻给我的印象,就是如此!

从3月17日开始,一如此前2月末的“快速通道”投票前夕,袁萌先生的博客发表速度明显加快,在17日到3月31日结果最终公布,袁萌老师在15天内发表了20篇博客,平均每天1.3篇。在此期间,袁萌几乎“博”必言OOXML,甚至在介绍“世界文档自由日”时也能发一通“要是今年3月29日OOXML没有成为“ISO标准”,只留下一个ODF,孤孤单单,好不可怜。双胞胎总比独生子要好(养活)一些。”的感慨(全球第一次举行《世界文档自由日》 2008-03-25);更在3月26日断言“如果OOXML倒霉,必然殃及ODF”、“如果OOXML好运,必然促进ODF”

不过,袁萌老师时刻不会忘记自己是文档格式和开源圈子的权威人士,该充的面子一定要充,当然该替主子说的话也不能不说,就像下面这段话:
如果这次OOXML投票失利,我心中是不会高兴的,因为,那将使得世界软件界失去了一种“技术平衡”,失去了一种“对话环境”,出现ODF的“一言堂”。 (难以抗拒的(OOXML)诱惑 2008-03-17)

为了对比,我还是把袁专家在大约50天前的话重新引用在下面:
大家知道,ISO的宗旨是,“One standard, one test, and one conformity assessment procedure accepted everywhere”(“一个标准,一个检验,一个处处接受的一致性评价过程”)。十分明显,微软如此主张,不仅冲淡了已经存在一个电子文档国际标准(ODF)的事实,而且公然挑战ISO制定国际标准的宗旨。(再驳微软“多标准”谬论 2008-01-28)

不过,要说袁老师最精彩的演出,那还是在3月29日ISO国际文档标准投票截止期前后几天的表现!

其实,身为微软“友好人士”的袁萌,早在投票前就已经基本判断出来了投票的结果。他在3月28暗示道:
欧盟境内的英国和捷克(等国)立场的转变,使得OOXML似乎“时来运转”,出现“一线转机”,开始有了“好运”的兆头。这究竟是好事,还是坏事?……
3月29日,全球OOXML投票结束之后,微软就是赢了,我也不会欢呼,因为,心里感到很失落(指失去了以往的“反微激情”)。我们要艰难地适应新的“生活”,真心依托国际开源社区,极力推进ODF,创造出全新的产业格局。“国产软件危机论”,可以休矣!(如果OOXML好运,必然促进ODF 2008-03-28)

显然,袁萌老师已经做好了准备,以权威专家的身份,带领国人一步步接受微软OOXML成为国际标准的现实。

但是,3月28日下午,51CTO的一则“内幕消息”,抢先发表了“OOXML通过已基本成定局,中国投反对票”的消息!也许是这一新闻打破了袁萌的步调,更有可能是新闻中提到的“中国投反对票”让他震惊,一直在引导中国人民接受微软标准的袁萌,怎么能允许中国投反对票呢?!总之袁专家恼羞成怒了,斥之为“51CTO发布的假新闻”(参见《驳斥“微软OOXML标准已获通过”的假新闻》2008-03-29)!

然而,就在他在3月28日下午接受采访时称“正式结果需要在48小时后(北京时间周一晨)才能得到”后,3月30日午前他在博客上发布“快讯”:
根据“OOXML投票追踪器”提供的最新情况,由于英国和爱尔兰改变原来投“No”票的决定,转为投“Yes”票,因而,OOXML可望最终获得ISO批准。(快讯:OOXML将获得ISO批准 2008-03-30 11:05:30)

请大家注意的是,所谓英国等改投赞成票的情况,早在3月28日袁萌先生已经公布了。那么这则快讯的内容,和51CTO公布的毫无二致!

3月31日,正式的投票结果已经公布,得意的袁萌老师在继续自己的事业、大声疾呼 “勇敢地迎接电子文档“双轨制”的到来”的同时,继续以他专家的身份误导所有的中国用户,暗示他和中国政府是站在一个队伍里的!——正如那个经典的“勇士”:你敢打我?那,谁敢打我们俩?
注:截止此刻为止,在国外多种网络媒体上,我并没有发现任何有关中国政府对OOXML的投票信息,因而,现在就想当然地断定中国政府对OOXML投了“No”票,似乎还缺乏事实根据,不能令人信服,除非ISO患了“健忘症”。(我的心愿:OOXML与ODF取长补短,携手前行 2008-04-02)

然而,2天以后,ISO却重重地打了袁老师一个耳光。公开的资料证明,中国政府投的并不是袁萌老师所说的“弃权”或者赞同票,的确是被他驳斥的“假新闻”里提到的“No”票无疑。不过别以为我们的专家会因此道歉或者承认错误!袁萌老师依然有话说——
在ISO官方材料里面,虽然ISO把中国列入那些投“No”票的P-成员国栏目,但是,ISO同时用“*”号注明是带有Comments(评论)的。(OOXML全球投票,中国反对的是什么? 2008-04-04)

狡辩到如此,也许您觉得已经是可笑了;不过别着急,还没有结束!我们的专家,还要由此给我们上一课,一节关于大是大非问题判断的道德课程!
在我们国内出现了不少文章,喜欢冠以“中国对OOXML投了反对票”,甚至制造“包括中国在内的投(OOXML)反对票的国家”的说法,毫无疑问,在概念内涵和推理逻辑上,这些说法都是一些不符合事实的错误概念,以致混淆是非,蒙蔽舆论,误导公众,应当予以纠正。(OOXML全球投票,中国反对的是什么? 2008-04-04)

“混淆是非、蒙蔽舆论、误导公众”这三个词让我眼前一亮,我一直想不出给袁伪专家一个怎样的定性,原来答案就在袁老师自己的博客里!还有谁比我们的袁伪专家更适合“混淆是非、蒙蔽舆论、误导公众”这三个词的吗?

结语:袁萌老师,所有开源人感谢您!

对所有关注中国开源的人士来说,从1月到4月初,短短三个月,袁萌老师变得让人看不懂、让人不明白、让人目瞪口呆!但仔细看来,袁萌老师的话语其实很易懂,袁萌老师的目的很清晰,袁萌老师的为人很让人明了。

100天可以改变一个人,但如果这个人的改变能让我们对这个世界的阴险和黑暗更了解一点,那么我想这是袁萌教授带给我们的丰厚财富!

袁萌老师,所有开源人感谢您!


版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://stlzy.blog.51cto.com/69882/70868

投稿:爱上开源 细数我在Ubuntu下使用的软件

posted Feb 25, 2009, 10:21 PM by Johnny Li

我是2006年10月开始使用Linux,使用的第一个发行版就是我现在一直使用的Ubuntu,到今年5月份我将微软的WINDOWS XP卸掉,Ubuntu成为我的唯一系统一直用到现在.时间或许算不上太长,可是我是真的爱上Linux了.在这期间,我尝试了许多的 Linux 软件,经过N+1次的重装系统,现在终于稳定下来了.
现在我将现在使用的软件整理出来.一来供某些人参考一下,二来也算做一份记录,记录下我的Ubuntu生活!

1.首先是Linux的发行版.我目前使用的是 Ubuntu 7.04.我没有用过其他的Linux发行版,因为我觉得Ubuntu就是一个不可多得的Linux发行版.至少它是很适合桌面应用的发行版.而且它还有一个完整的中文社会支持,推荐新手使用!
2. 窗口管理器.迄今为止,我使用时间最长的桌面环境是 GNOME.间或的使用过 KDE,虽然相比较而言K环境下有更多的很好的软件支持,但是我觉得G环境更简洁,更符合我的习惯,也许Kde4.0出来后我会试着去适应KDE吧,不过现在GNOME是我的首选!
3.办公套件.因为目前我还是名学生,所以使用这个的时候还不多.不过OpenOffice.org 这套软件我用就足够了.包括字处理、电子表、演示稿等组件,而且它是开源的.
4.图形处理.不是什么作图高手,但是我经常会用到 GIMP改一些图片.
5. 网络浏览.Firefox是我一直使用的浏览器,对于我来说FF已经不仅仅是一个浏览器这么简单了.它在我的电脑中就是一个伟大的终端,我喜欢它无与伦比的扩展功能. Opera 其实也是不错的,但是字体配置起来比较麻烦.但是我常用它来浏览手机网站,也就是WAP网站.可能它是Linux下唯一具有这种功能的浏览器了吧!还有IE6,我的电脑里也留着它,因为我需要网银.
6.媒体娱乐.最初听歌时,我用的是 XMMS,一个经典而古老的播放器.不过后来我喜欢上了Audacious了,小巧好用,我现在一直用着.至于看电影,当然就是 MPlayer了,装上解码器.它就是无所不能的.不过它基于QT的前端–SMPlayer是我现在最常用的.看网络电视,除了Gsopcast我别无选择!
7.输入法.小企鹅Fcitx是我一直使用的输入法,我感觉它比系统自带的Scim好很多.不过最近作者闹脾气说不再开发了.真遗憾!
8.游戏.我现在好少玩游戏,所以系统自带那几个游戏就被我给卸了.不过SuperTuxSuperTuxKart我偶尔是会玩一会的.
9.文本编辑器.我对文本编辑器没什么太高要求.所以短小精悍的Mousepad就成了我的首选.gedit我偶尔也会用用的!
10.FTP 工具.因为我经常上传删除东西到我的空间,所以FTP工具的使用频率相当的高.一般情况下 gFTP 和Firefox的扩展Fireftp就可以满足我的要求.不过有时候命令行的 lftp使用起来更高效些.
11.聊天.我非常之讨厌QQ,但是我朋友却不讨厌,所以我必须安装基于KDE的EVA来解决问题.不过Pidgin(原名Gaim)却是我最常用的.
13. 浏览图片.gThumb 和 F-Spot 是我经常用到的,相比较而言, F-Spot我更喜欢用!图片管理功能很强!
14.电子书阅读.PDF 用的是 KPDF,因为我在使用EVA的时候已经安装上了KDE环境,而且KPDF看起来更好用;CHM 用的是Firefox的一个扩展CHM Reader.
15.邮件收发.我没装邮件收发软件,因为我不需要.所以我的一切邮件都是在 Gmail 中进行处理.
16.文件管理.我使用的是 GNOME 默认的文件管理器 Nautilus.
17.终端程序.GNOME Terminal 和 Xterm .
18.RSS 阅读.Google Reader和哪吒就足够了!我不使用软件来阅读!
19.虚拟机.毫无疑问 VirtualBox 是一个很好的选择,我就用它!
20.笔记.Google Notebook,上网记录一些笔记,在Firefox下它真的是一个很不错的选择.
21.下载.Http:MultiGet和Firefox下的扩展DownTheAll我都经常用.但是axel才是我最喜欢用到的.BT :下载我是用Deluge和Monma,都是非常不错的,后一个是国人开发的,目前正在开发中.不过现在就已经很好用了!另外,aMule 也是一个很好的工具,但是我是不用驴子的,一直没这个习惯而已.
22.词典.星际译王,是非常不错的!
也许还有很多优秀的软件是我所不知道的,但是上面这些就是我使用的比较频繁的一些软件了.
如果你也是使用Linux‘的,那么我希望你也能将你使用的东西告诉我.大家也好互相交流交流!

最后附上我的Linux桌面,点击查看大图!

我的Linux做桌面

原文来自[何必呢]

趣文:你所使用的浏览器反映出了你的个性

posted Feb 25, 2009, 10:20 PM by Johnny Li

我经常根据一个人所使用的浏览器来评价某个人。不管你信不信,你对浏览器的选择往往反映出了你的个性。

IE 5.0:
  你使用电脑仅仅是为了即时聊天,写写电子邮件和博客。你顽固地拒绝升级你那老旧的WIN98,因为你并不需要太多的功能而且认为WIN98已经工作地很好了。你同时可能不使用任何杀毒软件,你只是每个月让你的儿子,侄子或朋友把把病毒清理干净而已。

IE 6.0:
  你很可能并不知道什么叫做“浏览器”并且认为IE就是因特网。你对技术没有清晰的概念,而且你通常对电脑感到畏惧。同样的,你使用电脑也仅仅是为了即时聊天,写写电子邮件和博客。也许你的朋友曾不断地向你提及“被炒鱿鱼的狐狸”(Fired Fox),但你一直不明白那到底是什么,也不准备在它上面花时间。

IE 7.0:
  你认为你站在了技术的最前沿,同时认为微软是地球上最伟大的公司。至于那个邪恶的“Lenoux”操作系统(音同Linux)则是由恐怖分子编写出来的。你在卧室的墙上张贴了斯蒂夫·鲍尔默(微软首席执行官)的海报,并希望自己在未来能成为第二个比尔·盖茨。你一想到“Vista”便会激动地浑身颤抖、坐立不安。

Firefox 1.x:
  你很可爱而且有点傻里傻气的,并为FireFox感到骄傲。你是开源运动的强烈支持者,你认为理乍得·马修·斯托曼才是“真正的男人”。你其实并不关心FireFox是不是比IE更安全,更快速——你会一直使用FireFox哪怕它的效率比IE低上十倍。你只是因为你得到了一个免费、开源并拥有庞大技术支持社区的浏览器而感到高兴。无论任何时候你都会安装至少7个必不可少的扩展。

Firefox 2.0 Beta:
  在白天你是个程序员,到了晚上你就成了一个开源软件开发者。要不,你就是一个疯狂的Firefox粉丝。你热衷于上报你遇到的每一个Bug,很可能你已经发布了至少一个开源项目的补丁。你喜欢对程序修修补补,而且丝毫不会在意在自己的电脑上运行beta版软件。毕竟,发现新的Bug和修改最新的软件对你来说充满了乐趣。

Mozilla:
  从一开始你就在使用Mozilla。你认为FireFox宣传地过了火,相对于FireFox你更愿意去使用旧版的Netscape。你并不认为Mozilla套装(Moz Suite)是个负担——事实上你更喜欢一个集成了邮件客户端、IRC聊天客户端和网页编辑器的浏览器。你很不理解为什么有些人宁愿去挑选一个功能很少的浏览器而不是选择Mozilla。在其他的方便你更像一个Firefox用户——你喜欢开源、你喜欢你的浏览器扩展、等等——或许你会说Firefox用户的口味和你非常相似。总之,你们在使用一个令人钦佩的、功能强大的、gecko内核的浏览器,与此同时很多人仍然在他们的IE浏览器里挣扎。

Opera:
  你并不关心Firefox之流,你所需要的只是一个世界上最好的浏览器——对你来说那就是Opera,而你很可能早在Opera收费时就购买了它。如果有一个Firefox粉丝对你的浏览器评头论足,你就会打开一个ACID2测试,然后以此来驳倒他。你知道什么是你所需要的(一个快速、支持标准的浏览器),你也明白怎样得到它。你对浏览器大战丝毫不感兴趣,虽然你有一点点希望Firefox获胜,因为如果那样的话会有更少的网页开发者制作只兼容IE的页面。

Netscape 8.x:
  你是一个刚刚得到一台新电脑的老资历网民,虽然你对互联网知道的并不多,但你却清楚地记得你需要Netscape去使用它。你并不明白人们谈到的IE和那个叫Fire什么的东西到底是什么,而且搞不清楚奥普拉·温弗瑞(Oprah,一个脱口秀主持人,音同Opera)和因特网有什么关系,你所知道的就是点开那个大大的“N”,然后变成“在线”。你认为史蒂文的关于网络的演讲很有道理。

Netscape 7 和更老的版本:
  参见IE 5.0。

AOL Explorer:
  曾经有一天你安装了最新的AIM客户端,然后这个东西就成了你的默认浏览器。你非常讨厌它,但你却不知道怎样才能把它变回去。你甚至不知道你怎样才能向你的那些电脑高手朋友们描述这个问题,当你想得到帮助时你也许会像这样提问:“你能把这个新的网络,呃,变回原来的那个旧网络吗?”他们只会瞪着你,然后装作不明白你在说什么。他们或许并不像他们自己所说的那样了解电脑。

AOL Suite:
  你很可能仍然在使用AOL的拨号网络,不然的话,你就是觉得在你使用宽带网络之后仍然需要AOL。有人告诉过你其实你上网是不需要用AOL拨号的,但你无法想象这是怎么一回事。这看起来很难做到,而且似乎是非法的。

Safari:
  恭喜你!你是一个Mac用户并享受着那个名字给你带来的好处和好心情。你喜欢OSX,并且永远不会使用Windows。Windows对你来说实在是太过丑陋和低效,你更喜欢Mac的简洁和清晰,而Safari就是一个为你工作的浏览器。你从不会烦心去寻找另一个浏览器,因为你对你现在拥有的一切已经非常满意,你也不会因为世界而改变它。

Konqueror:
  你是一个linux用户,并且打心底就是个极客(?)。你认为KDE是最好的桌面环境,并且因此而鄙视Gnome。你喜欢一个同时是文件管理器、ftp/scp客户端、smb分享客户端、PDF文档查看器和其它很多东西的浏览器。你喜欢向你的朋友炫耀KDE的网络透明度,你仅仅通过浏览器在你的网页服务器上编辑一个HTML文件,保存它,然后又在浏览器里重新载入修改后的文件。你日常使用的绝大多数软件都以K字大头(Kmail, Kontact, Kdevelop, Koffice 等等)

Lynx:
  你肯定是个骗子,你真的想让我相信你使用一个文字浏览器来浏览所有网页?尤其是一个不支持javascript, frames, css甚至连tables显示都有问题的浏览器?说真的,我可以相信你一直使用VI(一个编辑器),用Mutt或Pine做你的主要邮件客户端,但你不可能让我相信你使用lynx作你的主浏览器。如果你真的做到了,那么你就是我一生中见到过的最最执着的极客了。向你脱帽致敬!

  如果你不同意上面的话,请留言好让我知道。如果你被我不幸言中,那么请停止使用那个该死的浏览器并换一个真正的浏览器吧。也请你自由地给我漏掉的浏览器作简短的描述。
  免责声明:我不清楚是谁制作的那个FireFox图像(就是本文开头的那个),有个人在留言本中曾使用它作头像。我向那个作者致以崇高的敬意,如果我能找到他的话。

  谢谢你们所有的评论,让我们开公布诚吧——我并没有说Lynx是一个差劲的浏览器,事实上我在很多不同的方面都经常使用它。我只是怀疑是否有人把它作为主浏览器。如果你是的话,向你脱帽致敬!你比我执着多了。
  现在我补充一些漏掉的比较流行的浏览器:

Flock:
  他们也许会称你为Web 2.0先生。你所使用浏览器表明一点:你的足迹遍布flickr, del.icio.us, youtube和其它一打的网站。你认为Firefox还不错,但它并不不能让你在弹指间就能完成写博客、照片共享、标签和网络书签等等功能。你希望在你的脑袋里植入一块芯片,这样你就能一直连接到网络,而且能使用24/7移动博客。当一些目光短浅的人告诉你Flock只不过是Firefox的修改版时,你会赶走他们并说他们不能以更宽广的视野看东西。

Epiphany:
  你是一个Gnome用户并为之自豪。你认为KDE简直是地狱里出来折磨人的东西,并且热衷于向人们解释KDE必须经过几个小时的修改才能使用,至于那些说KDE马上就能用的人则是可耻的骗子。你希望所有东西能更加简单和直观——那就是你为什么选择了Gnome,这同样也是你使用Epiphany的原因。你试过Mozzila和Firefox,但你发现它们实在是臃肿、丑陋和麻烦。你的桌面就像你的书桌一样整齐有序。

Maxthon and Avant:
  你也许有些疑惑,虽然你喜欢IE并且不会换用别的浏览器,也不会担心网站会出现渲染不正常的错误,更不会担心它像其它内核浏览器那样不支持ActiveX控件,但你心底还是羡慕那些使用可以做到标签页浏览和其它很酷的功能的浏览器的朋友。你承认IE有点落后于时代,而你想要一些更加现代的东西,同时也不想放弃正常显示一些网站。Maxhton/Avant让你拥有了世界上最好的两项功能——舒适温暖的IE渲染引擎和其它浏览器里非常酷的功能。当IE7发布正式版时你就会换用IE7。

Sea Monkey:
  你很喜欢简单的软件套装,对你来说把浏览器和电子邮件客户端分开是不可理喻的。你以前习惯于使用Mozilla,但Sea Monkey发布后你很快便换了口味并不再回头。你认为“Sea Monkey”是浏览器中有史以来最酷的名字。

w3m:
  你一生的大部分时间都在当系统管理员。你很少看见阳光,因为你一天中大部分时间花在大型服务器的周围。如果周围没有电脑风扇的“嗡嗡”声你便无法入睡。哪怕是在夏天你每天也不得不穿一件暖和的夹克,因为服务器机房里的冷气开的是如此之高,如果你不加以注意的话便很容易感冒。年轻的极客们都向你看其,并试图模仿你——而你一直也不知道这是为什么。

K-Meleon:
  你对长时间等待浏览器启动感到很不耐烦,甚至IE的启动速度对你来说也太慢了点。这也是为什么你的浏览器会预读取页面,然后仅仅花费十亿分之一秒去载入页面。你的生活节奏非常快,根本没有时间去等待浏览器慢慢启动。你可以花费几个小时去设置Windows注册表来提升程序的响应速度、载入时间,并减少所有程序的超时时间。

Dillo:
  你从心底就是一个喜欢低资源占用的人,你喜欢让你的程序更加小巧和快速。你最喜欢运行IceWM或Windowmaker,同时嘲笑那些臃肿的桌面环境像KDE或Gnome。你以本地Linux/BSD guru著称。

这是国外一篇很火的文章,作者以调侃的语气分析了各种浏览器用户的特点。
译文链接:http://my.opera.com/z8519312/blog/show.dml/423938
原文链接:http://www.terminally-incoherent.com/blog/2006/08/19/what-does-your-browser-reveal-about-your-personality/

高效使用Linux的七个习惯

posted Feb 25, 2009, 10:19 PM by Johnny Li

越来越多的人愿意尝试linux系统,这些习惯也许会令你事半功倍,找到其中的乐趣。
刚开始使用Linux时你也许会感到不习惯,许多高手也都有这样的经历。毕竟,曾经他们也都是新手。但是现在Linux团体已经在为新用户提供有关指南, 手册和基本的技术文档来使他们尽快上手方面做的相当出色。三年前我首次接触Linux,很多人通过论坛,在线聊天和电子邮件等帮助我,这些“企鹅”们真是 相当热心。

对此,我深感应该为无私帮助我的团体做一些力所能及的贡献,我应该给刚使用Linux的朋友写点什么。这里我编译了七个当我刚入门时别人告诉我的七个习惯。我相信如果你运用了这七个习惯,在你使用Linux时你会感觉更安全,便利,学到很多实用的东西,最终你会发现使用Linux也是那样的愉悦。

1-不要以根用户登录

这是你首先应该注意和遵守的。以前我们可能已经习惯了Windows,我们一直以为权限越高越好,所以我们喜欢以管理员帐户登录。但是这也许是Windows经常被病毒骚扰和不安全的重要原因,现在太多人都在用根用户登录。

权限越高责任越大,拥有管理员权限你需要谨慎对待你所做的任何事情,但是错误还是不可避免。我记得我最先使用的是Suse Linux,有很多事项需要管理但是没有图像用户界面我不知道如何做,于是我天真的注销并登录到了根用户的图形界面。根用户图形界面的默认壁纸是一排排的高亮地雷。这些符号在我脑海里盘旋,我很小心没有终于没有做错什么。



那么以根用户登录有那些危险?

1.你可以想象你在没有保护网的情况下打秋千,会不会感到害怕?这和你以根用户登录的道理是一样的,你会不经意间毁掉你的系统。
2.你可能会不小心运行恶意软件。通常在根用户模式下任何程序的启动都默认给予所有权限的。
3.如果你的系统有安全漏洞没有修补,你就可能被别人完全控制。
4.这是使用Unix的惯例,除非必须那么不要轻易在根用户下运行任何东西。如果一个不是自己触发的程序请求根用户权限,那么你就要小心了。
通常,我们不必登录根用户界面,下面是几条技巧:

*使用“sudo”或“su”命令,并在你完成管理时退出
*如果你不知道如何使用命令行完成这些,你可以使用“gksu”或“kdesu”。比如,按 Alt+F2并打出“gksu nautilus”,并在你完成时马上结束程序

2-合理的命名你的文件

Linux环境下,你可以按照你的意愿命名文件,但是以下两点是不允许的:1)“/”是根目录专用的;2)不要使用无效字符。其它的在技术上都是可以的,但是为了避免以后的麻烦这里有几点经验你可以遵守:

*经验上,只使用字母、数字、连接符(-)和下划线(_)
*避免使用美元符($),括弧和百分号(%)等特殊字符,这些字符对于shell有着特殊意义,可能会引起冲突
*避免使用空格,在终端上处理含有空格的文件是很愚蠢的。你可以用连接符或下划线来代替空格。

这些已经基本上成为我的习惯,并且我在使用Windows和MAC时也不自觉的遵守这些准则。

3-将你的home目录放在一个独立的分区上

 

这样做会给你很大的灵活性。将home目录放在一个独立的分区上,可以在你重装系统甚至升级你的整个版本而不会丢失你的数据和个人设置。你可以在根目录下重新设置你所需要的而保留home分区。现在你可以将你需要的随意分类而不必担心的数据和个人设置,你可以随时使用它们。
如果碰巧在你安装系统之后才懂得这一点,不要失望。你可以按照Carthik在ubantu Blog上的一片名为“Move /home to it’s own partition”的指导道一步步的完成。

4-合理的灾难管理



Linux是比较强大和稳定的,但是任何系统都会崩溃。在你CTRL-ALT-DEL,重启之前,你应该学会如何处理你遇到的事故。你需要知道如何在不重启的情况下轻松恢复你的系统。我个人认为这种情况分为几个不同的层次,如果前一步不奏效的话请转向下一步:
1.我将“强制关闭”程序放在我的任务栏上,如果哪个程序出现问题可以单击“强制关闭”图标并结束该程序
2.如果上一步不奏效,调用终端,用“ps -A”,记下那个出问题程序的进程号,结束它
3.使用“killall”命令,比如“killall firefox-bin”
4.如果整个图形界面都冻结,你已经不可能调用终端,按CTRL-ALT-F1,这样可以转到另一个终端,这样你就可以使用步骤2和3来结束出问题的程序
5.还不行的话,你可以使用CTRL-ALT-Backspace组合重启你的图形界面,但是要注意的是,这样会结束你正在运行的GUI程序
6.调用CTRL-ALT-F1再使用CTRL+ALT+DEL这样不会立即重启你的系统,只是按照正常模式重启,所以是安全的(假定你想要重启并且CTRL-ALT-F1可用)。
7.如果这一切都不管用,也不用记着按强制重启按钮,尝试Raise a Skinny Elephant

5-主动尝试



你可能对朋友给你设置设计的当前版本和配置很满意,这适合你。这很好,但是可能会有比这更好的。为什么不尝试下Linux和开源的灵活性和丰富性呢?不要害怕尝试不同的程序,图形管理和桌面。实验直到你找到最适合你的。你可以这样想,你现在居住在世界上最好的地方,但是环球旅行也不会有什么坏处的?或许说不定你还可以找到一个更好的居住地,就算不能,你旅行的时间也值得好好品味,你对其它国家,它们的人和风俗,思考方式了解的更多,最终说不定你会喜欢上这样的尝试。你尝试的任何新事物都会增加你的学识,一年左右的时间你将会对Linux和开源世界有一个很好的把握。

我个人曾尝试过至少10种分配方式,4种桌面和五种桌面管理。我最近的文章《 Etymology of A Distro》使我对更多的分配感兴趣,象Zenwalk, Foresight和 Sabayon等。朋友,主动尝试,这对你有好处。
在你尝试之前,你可以参考以下几点:

*设置好你感觉最舒服的系统,因为你需要一个时刻工作的系统。这样你就可以按照下面的几点进行尝试
*你可以利用虚拟机来完成。安装一个Vmware或Virtualbox,用它们来做测试
*如果你不知道如何运用虚拟机,你可以设置一个独立分区来尝试
*最好的,你可以用一个设置好的PC,再有一个当作测试用。这样你就可以随心所欲的进行尝试

6-熟悉使用你的命令行

虽然我不提倡你一定要学习命令行,有太多的文章一直强调学习命令行的重要性。这里我假设你已经知道他的重要性并且已经知道怎样用它处理一些简单的管理任务。你可以按照指导书和手册做相应的配置。但是不要一味的复制和粘贴。就是说,不止不加思考的执行命令许多有自由天性的人劝诫你要尽量深刻的理解每条命令行的含义,它能做什么。为什么手册上这样做的,而不是那样做?理解你所做步骤的基本原理。

过了一段时间你就会感觉你已经能很好的运用它了。

最后你会发现它仅仅是种伪装的语言。每条命令可能只是一些词语的首字母,或一个单词的缩写。你希望你的狗理解“Spike fetch ball”这样的长句,为什么不尝试理解下“sudo mv /file1 /file2”那?

7-为你的用武之地做些准备

我有过很多这样的经历,当有个朋友请求我在他的电脑上做些东西,但是由于他所选择的操作系统会出现糗事。有时候我有急事但是仅有的电脑有很挫的操作系统。不必痛苦,随身戴上你的linux系统,不管是存储在U盘或CD上。有相当多的linux版本很方便的,象Knoppix, DSL和 Puppy Linux等.

很惭愧,事实上我自己还没用上这个习惯,我想我也需要言行一致。

保护开源项目,力斗害群之马

posted Feb 25, 2009, 10:17 PM by Johnny Li

恶意开发者(译注:原文是 poisonous person ,即对项目有害的人,本文译作害群之马),可以是任何导致团队协作代码开发产生问题的人。从喜欢恶意地让项目走弯路的人,到把开发成果据为己有的篡位者,都是害群之马。
曾经有个叫做 Subversion 的开源项目需要一个数据解析器。一天,一个程序员毛遂自荐写了一个程序。但是,他坚持要在程序里保留他的名字 John Hancock 的标签,这一点违反了开发原则。 Subversion 的启动人说,保留署名标签会破坏整个项目的协作性。

Subversion 的启动人要求他去掉自己的名字,但是他拒绝了,并且威胁道要带着这个解析器的源程序离开项目。事实上,这的确是个非常好的解析器,而且十分符合整个项目的需求。但是,(Subversion 的)启动人仍然坚持自己的原则。于是,这个程序员带着解析器的源程序走了,过后也没有提交过任何补丁。六个星期后,另一个程序员来了,说他也可以写一个数据解析器。

Brian Fitzpatrick 和 Ben Collins-Sussman,两位 Subversion 的启动人,坚信开源项目一定是包含了大量公共要素的。在项目进行中就要控制好这些公共要素,以免像挤公交时人数过多而发生危险一样,导致开发进度崩溃。他们认为,一个简单的控制项目公共要素的方法就是,从开源程序里去除开发者的名字。

(译注:原文中 bus factor 即指公共要素,比喻了开发过程中的一些共同因素。如果挤上 bus 的 factor 越多,bus 就越不稳定,所以要控制好 bus factor ,以免问题发生。)

“你要制止开发人产生‘这是我负责的模块,我写了这些程序,每个改动都要通过我同意’的想法。” Collins-Sussman 如是说。“这种想法对程序的整体性来说是很危险的。”

这可能意味着错过一些十分有价值的代码提供者,同样也会错过那些源代码。但是当最终程序发布时,通常会有更多的提供者参与进来,同样这也意味着更多的优秀源代码的加入。“长痛不如短痛,决不能牺牲项目的健壮性来保留当下的瑕疵。”

这不过是 Fitzpatrick 和 Collins-Sussman 的教训之一,这两位长期从事开源项目的技术人现在正在 Google 交流他们的开发经验。(译注:原文写于会场进行时间。)这两位开发者在旧金山的 Google I/O developer conference ( Google I/O 开会者大会)上作了一个“怎样从害群之马手中拯救整个开源项目”的演讲。

恶意开发者(译注:原文是 poisonous person ,即对项目有害的人,本文译作害群之马),可以是任何导致团队协作代码开发产生问题的人。从喜欢恶意地让项目走弯路的人,到把开发成果据为己有的篡位者,都是害群之马。“要提防任何扰乱你,排斥你的人。”Collins-Sussman 说。“有些人名不见经传,但是有些人却是优秀社区的名人。世界上最优秀的开发者往往是完美主义者,要么就是控制欲强的人:他们只会让你陷入无穷无尽的讨论之中。”

这两位 Googler 开发者说,成功的开源项目立足于“专注”,而且要不惜任何代价来保护开发成果。“如果有一群人都在捐钱,却来了个人开始从中抽取利润,这就是件十分令人头痛的事情。这时你就得叫警察了。”Fitzpatrick 说。“专注是开源项目的命脉。”

这些听起来有些老生常谈,但是 Fitzpatrick 和 Collins-Sussman 提出了更多的建议来减少这些害群之马的负作用。

1,启动项目之初,仔细定义项目的目标,并且发布到受关注程度较高的网站上。“发布在网上表明其官方性质。”Collins-Sussman 说。这句话引发了一些开发者的会心之笑,但是 Fitz 也被他们指出这不过是掺杂了一些实事的笑话罢了。“如果你通过 Email 发布了项目,开发者们会一直为此争议几个星期。但是如果你花些时间把它公布到网站上,他们就马上把它当回事了。”(这句可能是 Fitz 说的。)

2,更改目标说明:“为 CVS (版本控制系统)建立一个强制复位系统。”Collins-Sussman 说。正因为有了这个独立的系统,才能吸引合适的开源提供者来关注这个项目。

两位开发者提倡,要让讨论一直保持在最小但是最有利的状态。这包括一个完美的 Email 系统,和可伸展的项目历史文档。这个文档中应该包含所有开发过程中的讨论,代码修改,重要的修订及错误记录等等。“如果不把项目开发历史整理成文档,你就会陷入不断(向其他人)重复开发过程的无用循环。”

他们继续道,即使在讨论以前没有讨论过的问题时,也要得懂得适时制止讨论。“我们曾有个开发者一直不停地谈论着同一个细节问题,结果我们根本不知道该怎么处理。”Fitz 回忆道。“于是,最后我们告诉他,放下这问题去做下一步工作吧。这句话奏效了,他接受了我们的建议。”

他们说,开源文化精髓应该是自我选择。换句话说,就是要坚持目标。(即坚持开发初衷,让项目自己选择合适的开发者和及其他内容。)如果人们不喜欢这个项目,他们会主动离开——至少,大部分人是会离开的。不过仍然会有制造麻烦的家伙们留在开发组里,所以这时就得当心这些莽莽撞撞的家伙。也就是说,得主动让他们离开项目。这同时适用于项目的奠基人和那些天才们。

在 Collins-Sussman 的项目受到严重威胁,即将导致崩溃时,他踢走了一个知名的“天才”。他认为这是整个项目中最为关键的决定。他说,天才不如团队合作重要;而在现代社会,天才程序员反而是屡见不鲜的。(译注:寻找开发天才不如提高团队合作性。)


新闻来源:CSDN

Richard Stallman:活在理想中的苦行僧

posted Feb 25, 2009, 10:15 PM by Johnny Li

新闻来源:www.linuxeden.com
Richard Stallman(Richard Matthew Stallman, RMS),生于1953年,自由软件黑客和活动家,自由软件基金会(Free Software Foundation)创始人及主席,GNU工程创始人,美国工程院院士,GNU General Public License(GNU GPL)作者。Stallman被世人称为“最后一个真正黑客”。

Richard Stallman是GNU Compiler Collection(GCC)的主要作者,同时还开发了 GNU Symbolic Debugger,GNU Emacs和很多其他GNU软件。他获奖众多,包括美国计算机学会 (Association for Computing Machinery) Grace Murray Hopper奖,麦克阿瑟奖 (MacArthur Foundation fellowship),电子边疆基金会先锋奖, Takeda Award for Social/Economic Betterment和数个荣誉博士头衔。 


    最初的计算机就像我们先人发明的算盘一样,只有硬件,没有软件,是一个纯粹的机械装置。直到20世纪中叶,随着电子管、晶体管的发明,计算机的电 子成分才超越了机械成分,逐步演化成了现在的电子计算机,在这个过程中,出现了软件,并起到越来越重要的作用,最终成为了计算机的灵魂。最初的软件世界 里,当然没有自由软件、专有软件、开源软件这些概念,因为软件天生就是自由的,公司在出售的硬件里附带了软件,包括源代码和文档。人们根据自己的需要,修 改软件,自由地使用硬件,人与人之间互相分享,协作。关于这方面的经典故事就是Richard Stallman经常举例的“打印机驱动程序”的故事,它 生动地展现了软件从天生的自由转向后天的不自由给人们带来的影响。

Stallman洪峰16日16时半做客新浪谈黑客道培训

在哈佛大学读书的时候,Richard Stallman开始在MIT人工智能实验室工作了,成为程序员社团的一份子,大家彼此分享软件,共同努力增长人 类知识,这是生活的一部分。 Richard Stallman经历过沉痛的遭遇。70年代,激光打印机大得像吉普车一样,所以Xerox(施乐)送了一 台图象激光打印机给人工智能实验室时,人们发现唯有人工智能实验室的九楼机房里,才找得到位置放它。在大楼里所有人只要在各自的电脑上打些指令,叫打印机 帮你服务。 它的打印速度令人满意,只是有时纸印光了或夹了纸,一大堆人的列印工作就全部停了下来。有时有的人要印上一大堆东西,而有些人只要印一两张 时,不得不爬上九楼,把印表机的控制改一下,使它先印一两张。于是一天就这样爬上爬下,没有人受得了。 幸好印表机送来时,Xerox把驱动程序的源代码 也随机附上,实验室的人就把控制打印机驱动程序的功能作了些修改,大家都省了不少麻烦和汗水。Richard Stallman回忆地说:“你的打印工作 做完后,它还会通知你;如果夹了纸或你想问些什么打印上的事情,它也会让你知道。” 
1978年,一切都变了。Xerox送了一台叫Dover的新打印机机给人工智能实验室,但不愿再附上源代码。Richard Stallman说:“因 此我们没办法修改驱动程序,于是整个大楼的打印效率又回到从前,卡了纸或把纸印光了,你在下面也无法知道。” 他和人工智能实验室为给打印机添加功能以便 机器更好工作,希望获得打印机控制程序的源代码,结果被严正拒绝。“因此,我再无法说服自己不公开协议是纯洁清白的。当他们拒绝与我们共享时,我十分气 愤。我不能更更弦改辙,对别人做出同样的事。”

随着计算机工业的飞速发展,从20世纪70年代开始,原本自由的计算机社团渐渐地发生了变化,新兴的计算机公司从自由的计算机社团里雇佣走了大量的黑客, 开发专有软件。他们在分发软件的时候不再附带源代码,剥夺了人们通过修改软件来使用计算机的自由,通过许可协议,将人与人之间的分享、协作赶走了。  Richard Stallman成为留在MIT人工智能实验室的最后一名黑客,自由的计算机社团濒临崩溃。1976年2月3日,比尔·盖茨发表了著名 的《致电脑爱好者的一封公开信》,抱怨未经授权使用Altair BASIC的情况太普遍,掀开了通过专有软件剥夺人们自由使用计算机的大幕。也正是从这 时起,软件群体逐渐分化成自由软件社团和专有软件公司两大阵营。

Richard Stallman在《为什么软件不应有‘所有者’?》一文中指出,软件的编写者将软件“据为己有”看上去天经地义。但必须看到,一个软件 并不是单纯的工具,一旦软件的编写者将其传播出去,就不简单地是在提供“工具”,而是在传播“思想”。在这一点上,现有的版权体系采用了所谓保护“表达 (Expression)”,不保护“思想(Idea)”的两分法,为软件保护问题设置了无法解释的障碍,造成了软件的精神分裂。 

同时,自由和共享也是计算机发展的内在精神和永恒的追求目标。有人指出:在互联网被标榜为“资源共享”、“资源优化”的利器的时代,却不能对软件产品真正实现“共享”和“优化”,这不能不说是一个巨大的讽刺。

既然软件是计算机的灵魂,那么它必须是自由的,不能被少数的专有软件公司所控制。很显然,首要的任务是开发一个自由的操作系统,于是Stallman发起 了GNU工程,为了保证自由软件运动能够长期发展下去,他创立了自由软件基金会。在法律方面,他创造性地提出并实现了copyleft,GNU GPL 等。经历多年的自由软件运动之后,现在我们再次拥有了自由的、完整的操作系统:GNU/Linux,在GNU GPL授权保护下,我们拥有了大量的自由软 件包。现在,只要坚持使用自由软件,我们再次拥有了控制自己计算机的自由。

    

或许有人认为软件都自由了,是不是很多程序员将失业呢?Richard Stallman认为,在Copyleft时代,软件公司可以靠服务和训练赚钱。 如果你公司没有人会用源代码,你就得请位程序员,帮你修改由FSF得来的Copyleft程序;你不必怕你出钱所改的程序会流传到另一家公司,因为那家公 司也许会为这软件改头换面,帮它抓虫,或修改,或添加些新功能。而在任意拷贝的情况下,你也因而受惠。 所以程序员绝对饿不死,仍会像现在高价软件的时代 一样,有许多“服务”的大钱可赚,只不过不可能象盖茨这样积聚起世界第一的巨额财富。而GNU的软件也能使写程序的人更具生产力,因为他不必凡事都从零做 起,可根据已有的软件来改进。所以Richard Stallman希望,有一天软件业者不是靠目前的“Copyright”版权法,迫使客户花费巨额资 金购买软件,而是依仗提供服务(如技术支援、训练)来获取应得的报酬,这种报酬可能会比一般人高,但是绝对不可能为一个小公司培养出几百个百万富翁。简而 言之,未来软件业的基本准则就是“资源免费,服务收费”。



Stallman是痛恨开源软件的,很多人不知道开源软件和自由软件的区别。到1997年为止,自由软件运动已经取得了相当大的成功。那时正值互联网迸发 前夜,自由软件的概念也已经从深入民心发展到了华尔街,面临着巨大的商业机会。这时,有一部分自由软件支持者面对种种诱惑,他们将自由抛弃了。他们开始强 调实用性,强调自由软件是好的开发模式,能够产生高质量的代码;“持不同政见者”将自由软件的标签改成了“开源软件”。看起来好象两者兼容,但 Richard Stallman认为,两者最大的区别就是后者将自由精神放在首位。但是对商人来说,自由(free)与免费(free)是同一个词。与 Richard Stallman布道“自由精神”不同,他们更愿意谈论实际问题。为了避免纷涌而来的投资者被Richard Stallman“吓 跑”,他们还得联起手来,将Richard Stallman屏蔽起来。其中的代表人物是Eric Raymond。专有软件公司们当然希望事态如此发 展,所以在他们的支持下,开源软件概念被迅速普及,反而自由软件运动的发起者Richard Stallman、自由软件基金会和自由软件正在被人们渐渐 遗忘。对于那些不了解自由软件运动历史的年轻人来说,他们一开始接触到的概念很可能就是抛弃了自由的开源概念,这是非常糟糕的。终于,专有软件像流氓一样 包围了我们。在自由软件的概念正在被广泛接受和支持的时候,开源软件转移了人们的视线,将人们的思想从自由的高度降到了实用的低度。

 

毫无疑问,无论是自由软件运动还是开放源代码,都来源他15年前开始的努力,这肯定是计算机历史上最脍炙人口的传奇故事。对于目前的成功, Richard Stallman感到非常高兴,但也有更多的焦虑。因为他感到自己明显被排斥在外。“有人极力想改变历史,否定我在这场运动中的地位”对 于人们用Linux来指代整个操作系统,Richard Stallman十分痛心,他说正确的用词应是“GUN/Linux”。  Richard Stallman承认Linus的贡献很关键,是他完成了GUN/ Linux的内核。但是Richard Stallman估算,内 核只占整个系统的3%,相比之下,GUN项目贡献了30%的代码,其余67%的代码来源于其他方面。但令他欣慰的是,GNU的一些原则仍在起作用。他认为 这种原则不仅使软件开发更显活力,更能生产出优质软件,还认识到这本身是一种行为准则。

 
批评者认为,Richard Stallman极力维护GNU的遗产,是沉湎于这场运动的枝枝末末,对整个自由软件都是有害的。对大多数开放源代码倡导者 来说,颠覆微软才是主要的斗争方向。 “我关心的是精神,是GUN项目内在的哲学。这种哲学就是它存在的理由,那就是自由软件不仅仅是为了方便,也不仅仅 是为了可靠。真正重要的是自由,协作的自由。我不关心某个人或公司。因此我认为单纯与微软作战偏离了这个运动的方向。”  Richard Stallman的拥戴者还有,但是Richard Stallman的大多数主张还是被人们忽略了。如今只有“Linux”充斥着媒 体的标题,而背后的思想开始逐渐隐去。

但不容置疑的是,正是Richard Stallman的思想成为自由软件运行的力量源泉。GNU-Linux系统的确比Windows系统问题少, Apache也是Web服务器的更好选择。但这只是问题的一个侧面,只有把实用和理想结合起来,自由软件运动才令人信服,才能激发人们的热情和献身精神。 无论如何,Richard Stallman仍然是有名气的,仍然受到尊重,仍然被认为是自由软件运动的核心人物。Richard Stallman在计 算机领域的重要地位不容动摇。为了使自由软件商业化而牺牲Richard Stallman,那就可能会失去这场重大革命的灵魂和方向。 

 

Richard Stallman依旧没钱、没势,连原先的许多信徒都被分化而去。这场运动给他带来的唯一收获可能就是:无论 Richard Stallman走到哪里,都会有人乐意借给他计算机,使他能及时查看电子邮件。他还是那样不修边幅,无所顾忌。但是与当年执着相比,他 的精神状态开始呈现一种新的焦虑和紊乱,而这一切正是他创造的自由软件的成功,施加给他的。而且可以肯定,Richard Stallman必将越来越被 自由软件成功的浪潮所淹没。 

未来难以预测,唯一可以肯定的是:Richard Stallman自己引燃的这场革命已经完全超越了他的驾驭范围。这也是许多思想家共同的命运。

 Linuxeden-Linux伊甸园专注于开源GNU/linux资讯的网站,以推广普及开源Linux事业为己任

 

Linux不是Windows

posted Feb 25, 2009, 10:10 PM by Johnny Li   [ updated Feb 25, 2009, 10:12 PM ]

问题一:Linux 和 Windows 根本不一样
你一定会惊讶于有这么多人对Linux 发出相似的抱怨,他们奔向Linux,盘算着找到一个免费的、开源版的Windows。通常,这正是那些狂热的Linux 使用者所告诉他们去期待的状况。然而这却是个似是而非的期待。 人们尝试Linux 的原因不尽相同,但所有的原因都可以归结为一:他们希望 Linux 会比 windows 更优秀。正是出于这一点,Linux的小成本、更广泛的选择权、高性能和高安全性——当然,还有许多其它的方面——被作为与windows 比较时的衡量标准。往往每一个开始尝试Linux 的Windows 用户都是如此。这正是问题之所在。

太多的人都忽略了这样一个事实:从逻辑上讲,在保持某样东西与被比较体完全相 同的前提下,将其做得更好是绝无可能的。正如一个完美的复制品将与它的母版毫无差异,但是它不可能会超越原版。所以当你怀抱着linux 的使用方式该和使用 windows 差不多的观念而尝试 Linux ,并希望它能够做的更好,你便会无可避免的发现他们之间的不同,并且把这些不同之处看作是 Linux 的缺陷。

举一个简单的例子,让我们来想一想驱动程序的升级吧:通常的情况下,倘若我们要在 windows 下升级某个硬件的驱动,我们需要去硬件制造商的网站上找到并下载新的驱动;然而在 Linux 下,我们只须简单地升级内核即可。
这意味着在Linux 下,仅仅一次下载和升级便能提供所有适用的最新驱动,然而在 Windows 下我们却不得不浏览多个网站并分别下载升级程序。这是一个不同的过程。并且显然,这绝不会是一种糟糕的体验。然而却有很多人对此抱怨不停,只因为这不是他们习惯的方式。

或者从另一个更经常接触到的例子来看,想一想 Firefox ——开源软件伟大的成功例子、一个席卷全球的浏览器。它是通过模仿IE —— 那个“最流行的浏览器”而取得成功的吗?

不,它的成功是因为它比IE 更好 , 它之所以 更好 正是因为它 不同. 它有标签式浏览,实时书签,内建搜索条,PNG支持,adblock扩展,以及其它美妙的东西。"查找"工具条显示在底部的工具栏中,它能够查找你键入的 内容并且以红色标识表示没有相匹配的内容。而IE没有标签页浏览,没有RSS功能,搜索条只能通过第三方扩展实现,它的查找对话框还得通过点击 "确认"按钮开始查找,而且还要再点击一次"确认"才能清除"未发现" 的 错误提示。它明白无疑地证明了一个开源应用程序通过“不同”而做到了“更好”,依靠“更好”进而取得了成功。如果FF是一个IE的克隆,它必然早已微不足 道地消逝在了IE的阴影之下。如果 Linux 是一个 Windows的克隆,同样的事情也会发生在 Linux 身上。

因此,解决这个问题的关键在于:记住 Linux 中那些对于你的使用习惯来说熟悉或相同的部分,Linux 不是 新版的 或 改进版的Windows。 积极地迎接那些不同之处,因为只有不同,Linux 才真正拥有闪耀出其光彩的机会。

问题二 : Linux 和Windows 太不一样了 当人们期待着linux 有所特色的时候,又一个问题接踵而至。Linux 和Windows 实在是太不一样了,一些差异简直难以让人适应。也许最典型的例子就是可供linux 用户选择的东西实在是太多了。对于一个刚上手的windows 用户,他拥有一个经典 或 XP风格的桌面主题、写字板程序、IE浏览器,Outlook Express;然而对于一个初用linux 的家伙,他面前有上百种发行版供以挑选,此後,是Gnome 或者KDE 或者Fluxbox,Vi 或者emacs 或者kate,Konqueror 或者Opera 或者Firefox 或者Mozilla 或者其他随便什么带来的一系列选择,如此等等不一而足。

windows用户不曾为了安装和使用(一个OS)而面对过如此丰富的选择, “有必要来那么多种选择吗?”这样的抱怨帖子很常见。

Linux 真的 和Windows 有那么大的区别吗?不管怎么说,它们都是操作系统。它们都做同样的工作:操作你的计算机,让你有个东西运行你的应用程序,自然它们多少都有些共通的地方吧?

让我们从这个角度看问题:出门看看路上行驶的各种不同的车辆。所有的车辆不管是什么样的设计多少都有同样的目的:从路上把你由A处运到B处。注意它们有不同的设计。

但是你会想,汽车之间的差异非常小:它们都有方向盘,脚踏板,变速杆,手闸,车窗和车门,油箱……如果你能够开这部车,你就能开任何一部车。

确实如此。但你有没看见过有些人不开汽车,取而代之他们骑摩托车?

从一个版本的windows切换到另一个版本就像从一辆汽车换到另外一辆汽车。Win95到Win98,老实说我说不出什么区别。Win98到WinXp,区别比较大但是也没有什么真正的重大区别。

但是从windows 切换到Linux 就象从开汽车切换到骑摩托车。他们都是 操作系统/道路车辆。他们可能都使用同样的 硬件/道路。他们可能都提供一个运行应用程序的 环境/把你从甲地运到乙地 。但他们使用本质不同的两种方法达到目的。

Windows/汽车对于病毒/小偷并不安全,除非你安装反病毒软件/锁上车门。Linux/摩托车却没有病毒/车门,所以即使你没有安装反病毒软件/锁车门也非常安全。

让我们反过来看一看:

Linux/汽车 从根本上用于多用户/乘客。Windows/摩托车 用于单用户/乘客。每个 Windows 用户/摩托车驾驶员每时每刻都要习惯集中精力控制他的 计算机/车辆。而一个 Linux 用户/汽车乘客 只要在以根用户登录/坐在驾驶座上时才要习惯去控制他的 计算机/车辆。

通过两种不同的方法来达成同样的目标,他们各有长处和缺陷: 当载上一整个家庭的成员和大包小包的货物从甲地至乙地时,一辆车显然是明智的选择: 它有充裕座位以及足够的储存空间。而在单人从甲地到乙地的旅程中,摩托车则是更好的伴侣:它不怎么会遇上堵车,消耗的燃油也更少。

无论选择了摩托或是汽车,仍有很多事情不会改变:你要把油加进油箱,把车开在同一条道上,必须遵守红绿灯和禁令,在转弯之前打转向灯,你也仍要遵守速度限制。

但是也终究有很多情形不同了:汽车驾驶者不必带着安全盔开车,摩托骑手不用系安全带,开车的人转动方向盘来转弯,摩托车驾驶者则要匐下身子改变重心,开车的人裁油门踏板来加速,而摩托车通过手旋转握把来控制加速。
一位汽车司机如果试图通过转移重心来拐弯,很快就会陷入一堆麻烦中。同样的, 一个Windows 用户如果认为自己的经验可以直接派上用场,结果也会因为相同的原因而徒劳无获。事实上,较之电脑新手,一个Windows 高级用户在Linux 的使用过程中常遇上更多麻烦。那些根深蒂固的Windows 经验用户在面对问题时如果无法解决,常会觉得“如果我这么有知识的都搞不定,那新手就更不别想了”,因而得出的“Linux离桌面应用还有十万八千里呢” 想法也便大错特错。

解决方法在于, Windows用户必须意识到他只是一个有经验的Windows用户,而不是有经验的电脑用户,Windows用户必须意识到当自己在尝试Linux时,他又成了一个新手。

问题三: 文化冲击

子问题: 那是一种文化 WINDOWS用户或多或少的处在一种消费者和提供者的关系,他们花钱买软 件,获得授权,得到支持等等.他们希望软件能够有明确的可用性.因此他们习惯得到使用软件的权利,他们花钱去得到技术上的支持以及他们需要的权利,他们也 得到了.他们也经常要与一些实体打交道:例如他们与一家公司签一份合同,而不是个人.

LINUX用户有着更多的一致性.他们不需要花钱去买软件,不需要为得到技术上的支持而耗费财力.他们免费下载软件,并且利用快速通信和到论坛去寻求帮助.他们和个人打交道,而不是公司.

一个Windows的用户如果只是把他的观点带到Linux中,那么他是不会喜欢上Linux的.要慢慢的改变观点.

引起矛盾的最大原因是在在线交流方面:一个刚刚用 Linux的3a用户在遇到问题时寻求帮助,当他没有得到他可以接受的答案的时候,他便开始抱怨并且想要得到更多的帮助.因为这正是他以前用付费的来获得 帮助的方式.问题就是这不是付费提供帮助的系统.而是很多热心人发自内心的帮助其他人解决问题的系统.一个新的用户没有任何权利去向这些热心人索要帮助, 这就如同一个想要得到施舍的人,还要求从捐赠者那里获得更多的捐赠品一样.

相同的,一个Windows用户习惯了使用商业软件. 这些软件在没有做到足够的可靠性,功能性和对用户友好的截面前,公司是不会开放代码的.这正是Windows用户期待Linux下的软件的原因,从 Linux1.0版本的软件开始,用户就希望尽快得到开放的代码.这样,真正需要这些的人就会很快的得到它,并且这也使开发者会在提高代码这方面感兴趣, 因此整个团体就会知道接下来要做什么了.

如果一个用户在使用Linux时遇到了困难,他会抱怨:这个软件没能满足我的需求.并且他认为他有权利得到这样的满足.他的情绪将会有所改进,如果他等到这样的带有讽刺性的回答:如果我是你,我要求退款!

所以,对于用户,为了避免这些问题,应做到:只要记住,你并没有付给那些软件开发者或者在线帮你提供技术指导的人任何钱.他们并不欠你任何东西.

子问题: 新的 vs. 旧的

Linux几乎是因黑客的业馀爱好而诞生的。它的成长也使得易于它吸引了更多志同道合的黑客们。Linux在获得一个易于使用的可用安装程序前一 直 默默无闻。在相当长的时间里,它在大众眼中只是一个奇客而已。可以说Linux“始于奇客,馈于奇客”。直至今日,大多数Linux的老用户仍自认为是奇 客。

这是件非常好的事情:如果你在硬件或软件方面有问题,存在一大群奇客们不断探寻解决方案这个状况显然一种明显的优势。

但长久以来Linux的成长仍旧十分有限。尽管存在一些可以被绝大多数安装的发行版本,甚至一些版本基于CD并且与用户使用的硬件并无冲 突。当Linux开始因其无病毒和省级廉价而吸引一些非发烧友用户时,两大用户阵营间并不是罕有摩擦,但双方都明了一点:对方都没有恶意,仅仅是缺乏相互 理解而已。

首先,你面临的是核心奇客们仍然假设所有使用Linux的用户们都是奇客同志。这意味着他们认为所有人都对此有很深入的理解,这导致了他 人控诉他们的一些行为是傲慢、自大和无礼的。事实上,有些时候如此。但大多时候却并非这样:“每个人都应知道”这样的善意表达被说成了“地球人都知道!” ——大相径庭。

其次,你面临着从使用的商用操作系统转投而来的新用户。这些用户已习惯使用人机界面友善的软件,他们也是不确定因素。

这类问题起因于不同使用习惯的碰撞:第一类人沉醉于不断地按自己喜好重构系统,而第二类人对操作系统如何工作漠不关心,只要它能工作就好。

在乐高(Lego)发生的类似的情况正好阐述这种问题。试想下面的情景:

新用户(以下简称“新”):我想要一个新玩具汽车,每个人都因乐高汽车的优秀而着了迷。所以我也买了它,但当我到家後我才发现,我的盒子里只有积木和齿轮!我的车子在哪里?

老用户(以下简称“老”):我要用造车而且要超脱于积木之外,这才是乐高的真谛。

新:什么??我不知道应怎样拼装这个车子。我不是个机械师。为什么我应该知道如何组装它?

老:盒子里有使用手册。它上面写着拼装车子的步骤。你不用知道原理,只要按照按部就班就好。

新:好吧,我找到了步骤。这将占用我很多时间!为什么厂家不能装好了再卖给我,还得让我自己动手??

老:并不是所有人都满足于将乐高做成玩具车。这些积木可以被我们组成万物。这才是游戏的真谛。

新:我仍旧不明白为什么厂商不能给我们这种想要车子的人一个成品,如果那些喜欢动手的人高兴可以自己拆了它阿。无论如何,我还是将它组装起来了,尽管某些部件时不时地掉下来。我有什么方法可以解决吗?我能将它们粘起来吗?

老:这就是乐高。他就是用来拆装的。这才是游戏的真谛。

新:但我不希望总是拆拆装装,我仅仅希望一个玩具车而已!

老:那你干嘛吃多了撑的要买乐高?

很明显,对那些只想要一个玩具车的人来说,乐高并不是为他们准备的。上面的情景应该不会发生在你的生活中。乐高的价值在于你可以建造过程中体会乐趣而且你也可以将它组装成任何你想要的东西。如果你不想动手拼装,只能说乐高不适合你。这显而易见。

由于长久以来一直关注Linux的老用户,同样的问题在Linux上体现越发明显:它是开源的、完全可定制的软件集。这才是真谛。如果你不想修改一些组件,为什么自找麻烦来使用它呢?

与乐高出售成品玩具的做法略有相似,通过最近的一系列的成果提升了非黑客用户使用Linux的舒适性,这使得更广大的用户可以使用 Linux。也正因如此,你仍可以听到与上面相似的对话,程度也仅是略有不同。新用户抱怨老用户只考虑基本特性,他们不得不通过阅读手册才能实现一些功 能。对太多发行版本的抱怨,对软件过多配置选项的抱怨和对运行时时常报错的抱怨不正如对乐高有太多模块的抱怨一样忽略了它可以被用来按你想发拆装成事实 吗?

因此,为了避免问题#3b:请铭记现在的Linux已今非昔比。Linux社区最大的也是最关键的组成部分——黑客和开发者们,他们因Linux的可以按需定制而欢喜;他们也会可制定能力的丧失因而神伤。

注: 奇客:geek,词典中解释为因穿着不时尚和不懂得如何在社会中行事而作出一些怪事的人。现在指那些可以在电子和虚拟世界中非常有才华和想象力的发烧友。Geek宗教一般信仰科技或者颠复科技。--chronmancer

问题 #4 为设计者而设计

在汽车工业中,你很难发现一个人即设计车辆引擎也设计车辆内饰:这些是完全不同的技能。没有人想要只是看起来可以跑得很快的引擎,同样也没有人想要一个做工出众但狭小且肮脏的内饰。基于同样的道理,在软件产业,用户界面(UI)往往不是由软件编程人员设计的。

但在Linux的世界却大不相同:一个项目往往是因个人的兴趣而产生。个人也包办了所有的工作,因此这些项目的界面往往缺乏了“用户友好” 的特性:用户对这个软件了如指掌,所以他也就不需要了帮助文件等。vi就是一个很好的例子,最初它的目标用户就是为那些了解它工作方式的人。因而设计者从 来都没有想过如何用其他方式退出vi,所以新用户不得不靠重起计算机退出的事情时有发生。

但是,FOSS程序员与商用软件程序员的一个最重大区别在于,FOSS程序员的作品都是他们自己想要使用的东西。因此当作品不能被新用户 “舒适”的使用的同时,它又成为了最终用户最需要的东西:因为作者也是最终用的一员。商用软件的程序员却大不相同,他们总是为其他人编写软件,而且这些用 户都不是专家。

所尽管vi拥有拥有一个令新手望而生畏的界面,但它仍然在当今流行,这又归功于他的界面:当你熟悉後就会发现它原来无比强大。Firefox也是被经常浏览网页的人编写出来的。Gimp同样是出自经常处理图形文件的人之手。不胜枚举。

Linux的界面对于新手而言同样的有些“危险”。尽管vi名声在外,但他仍然不在那些需要快速修改一些文件的新手的考虑之列。如果你在一 个软件生命周期的早期使用它,光鲜亮丽且友善的用户界面永远只高挂在“计划”列表之上:功能优先。没有人先雇好装修队再去找楼盘,程序员们都是实现功能再 不断改进界面。

所以为了避免问题#4:寻找那些已便于上手为目的设计的软件,或者接受那些与你使用习惯急剧不同的软件。抱怨vi对新手不够友好只是舍本求末罢了。

1-10 of 10

Comments