- 论坛徽章:
- 0
|
本帖最后由 googny 于 2012-06-05 14:05 编辑
这篇文章是我们学校一位ACM大神,写在他个人主页(个人主页)上的,经他本人同意,分享在这里与大家共享。
源地址:猛击这里
本来我不是一个爱发牢骚的人,但是希望就Linux这点破事说一说,虽然抱怨并不会解决问题,但正如言论自由保护了国家的政治健康一样,这样的牢骚还是应该常抱怨常新才好。
Linux作为一系列操作系统的名称,它是一个开源的象征,也代表了操作系统绝大多数的未来,但是它的分裂和无秩序状态令人寒心。举一个最简单的例子,用户总是遇到一些不该用到的问题,当用户升级的时候,你永远不知道为什么USB的驱动问题最后可能导致你的字处理程序因为某种包依赖的问题不能正常升级,每次用户升级,他能够做的唯一正确的事情就是向上帝祈祷,保证这样的升级不会出现问题,但上帝也许忙于解决这世界上的战争和饥饿问题,无暇顾及于此,这样的祈祷往往是没有用的。在新功能和稳定可用之间,用户要做出折衷,当用户想要说脏话时,得到的可能是一副“Linux本来就不是给你们这些用户准备的”的回复,来彰显一种观念和文化上的与众不同,但是,非常多的对Linux熟悉的运维也会发出同样的困扰,这种困扰有时对他们更为犹甚。
Linux作为一种“自由”的操作系统,它的先天优势就是“你可以做任何事情”,但Linux的各个社区做不到的,就是提供提供一种“稳定”,尽管很多系统号称稳定,但是在变动的更新功能和稳定之间,确实要做出某种折衷。正如这世界上,集权和民主是相对平衡一样,拥有一个“集权”,甚至”独裁“的统治,往往能够保证一种统一和易用。因为用户体验不仅仅是一种临时性的,一面之缘的”体验“,而”熟悉“之后的体验,才是深层次的用户体验,当一次次的修改界面,一次次的变幻配置文件的位置,用户的既有知识就如漂泊在大海上的航船,没有一个稳定的依靠,你不能指望明天那个配置文件还是那样的配置方法,你甚至不能指望曾经那个熟悉的按钮还在那里并做同样一件事。如果用户无法培养使用经验,那么这样的产品就是失败的,即使”一见钟情“,最终也会因忍受不了性格的多变而黯然分手。
自由的代价,自由的代价就是可以肆意的分裂和毁坏一些目前创立的标准,当你看见一个系统做的不好,“哦,如此麻烦,我来创造一个更好的”的时候,也许你最终会成功,但是呢? 并不是每个人都喜欢,尤其是运维,去为这样一个功能变换系统配置,这样的代价也许已经超出了你开发的这项功能带来的便利。你会说:哦,你不喜欢,那就不要升级。但是老板如果看到了你的新闻,要求运维进行升级呢,这是一个多方矛盾的结果,我们不应该就此阻碍创新的发展,但是创造者应担负更多责任,让这个变革尽量“无痛”。
现在的社会,并不是每个人都喜欢折腾,Linux的相关开发者也不能不负责的再说:“Linux就是技术达人的玩具,爱玩不玩”了,因为曾经开发Linux的那些黑客的目的是“改变世界”,而现在,这个目的或多或少达成,那么相应的任务就应该是“为世界负责”,打完天下还要治天下。
事实上,现在的开发社区,要求的不是“更多的分裂”,而是一种有素质,高水准,标准化的发布,从这些角度来讲,已经出现了许多优秀的发行版,distrowatch.com上的排行榜显示了用户对于Linux发行版的偏好。LSB标准也已经保证了一个Linux拿过来之后,”基本上是这个用法“,尤其基本shell的用户接口可以保证,但是这些标准的设立,都是从程序员的角度来讲的,保证了基本的包,库,和一个大致一致的目录结构。但有没有考虑到用户的方便,运维的方便呢? 提供给程序员的各种库至少有了,但是人机交互的接口可不是往脑袋里传一个-lm参数那么简单,用户对使用经验的培养,无非就是”图形界面的熟悉程序,使用的命令熟悉程度,配置文件的熟悉程度“,但是呢,LSB对这些东西有做任何统一吗?没有,是谁说gnome2之后就必须采用花哨的gnome3界面的? 是谁说gnome2之后需要用unity来”提高效率“的? 有民主投票吗? 是的,你也许会说,标准如果连这些都定义,那就把发展锁死了,就没有创新的动力了。但是,要看到这确实是用户的希望所需,windows的用户从windows 95培养的一些使用经验到现在还可以使用,后向经验呢,我已经熟练使用windows7,我想windows95出现在我面前,我认为我要熟练使用它并非难事。Linux可就不是这么简单了,给你一个unity的界面,你还能很方便的回到gnome2的”冷兵器时代“吗? 更别说xfce的”石器时代“了(no offense,我知道很多人还在用,并且认为很先进)。用上一年gnome3, 你就不会使用任何其它桌面了。
配置文件的悲剧更为犹甚,当你在若干计算机之间用ssh漫游,你知道网络的配置文件是在哪里吗?/etc/rc.conf? /etc/network/interfaces? /etc/sysconfig/network? OK,你cat /etc/issue然后在大脑中搜索一张庞大的映射表,找出所有那些发行版自以为”方便的“配置文件的存放位置,小心翼翼的打开它,哦,稍等,我需要su一下还是在命令前加一个sudo?Ok,我加了sudo,打开之后,哦,这个语法,我想想我还记得不?No,我可能需要去网上搜索一段example了。”真正的Linuxer”这时候在我脑海中蹦出来说:“这些配置文件的位置,正如麦当劳的菜单一样,都是应该记住的!“,但正如不是每个人都吃麦当劳一样(总加班的人才老吃麦当劳),并不是每个人都记得住和有必要记住的!而且,你也会老的!
是的,“小白”用户的体验要求得到重视!我们需要比LSB更强的一个标准,哪怕是一个可选的标准!哪怕配置文件的位置是个符号链接!哪怕我们得手动切换到我们熟悉具有经验的”冷兵器界面”。We need it,我们需要这样的标准来减少人生的尝试,我们需要这样的标准来改善生存环境,我们需要这样的标准来避免加班,避免系统崩溃,我希望每个人即使是运维,也有人格的尊严,减少陪配置文件的时间多陪陪他刚出生的孩子!我们需要一个强的UI标准,让我们学习到的那些stupid的经验有用武之地,而不是恒常变化的无依无靠。
社区对这样的一个回馈,是再建一个发行版,貌似自己就“成了标准”,并且“非常方便”。但是,“如果没有必要,请不要有更多发行版了”,没有一个发行版可以让我免费登上月球,既然都在地球上,那么请靠谱,出一个这样的“标准“吧,我建议,这样的标准最好都由”Linux达人-free“的社区来创立,让一群“小白”来讨论讨论,看看他们需要什么,然后拟一个“看似可行的设计和凑合靠谱的方案”出来,至于这样一份“用户体验”的“call 4 standard”,诸位distribution悉听尊便,爱支持不支持,爱实现不实现,如果有哪家第一个接受,我一定会临门一脚,装它五十台,以表支持。 |
|