Linux为何叫好不叫座
发表于 : 2009-09-21 17:13
断断续续接触Linux系统已经有一年多的时间了,这一年中历经了Fedora、Suse、Ubuntu这几个发行版本,在这几个发行版本上也做了一些小型的应用开发,也算是对Linux有了一定的了解。前几天看到中国人使用操作系统上网的统计,几乎99%的桌面用户使用的是微软的Windows操作系统,Linux和Mac加起来还没有超过1%。其实我认为这个统计结果大体上还是符合实际的,为什么我会这么说呢?请大家听我慢慢道来。
首先基于Linux的发行版过多,大多数普通用户就一个感觉——迷糊,不知道该使用Ubuntu还是Fedora、红旗,虽说这些发行版都是基于基本相同的内核,但这些发行版光是GUI系统就有GNOME和KDE之分,还不包括一些小的GUI系统,人机界面操作差异较大造成用户学习成本大增,大多数普通用户不愿意使用也是情理之中的事情,可能很多Linux的狂热者列举出一系列Linux开源、自由的好处,但你们千万不要忘了90%使用电脑的用户并不是很懂计算机的,他们并不关心技术如何,他们只关心操作是否顺手,以前使用的经验能否很好地过度到新系统下。
在桌面领域,图形化操作是否能完成大部分的系统管理、使用功能基本上决定了用户对这个系统的认可程度。例如我刚开始使用Ubuntu的时候就遇到过没办法使用GUI格式化分区,同样的问题在Windows下也就是点几下鼠标就可以很好地完成操作,这样的基本用户需求很多发行版都没有把握住,不得不说是遗憾。在计算机软件领域往往是细节决定成败,在这些方面发行版开发商是需要向微软学习的。
最为重要的是,我不能够理解Linux系统里的很多软件是需要在用户的机器上编译后才能够使用,我认为任何软件都应该编译好后压缩也好,打包也好,做完这些步骤后在提供给终端用户使用,实在是需要源代码的话另行下载就可以了,还是那句话90%的用户不知道什么是编译软件,这个对他们来说太难了,也没有必要。其次就是编译安装的软件还必须保存源代码才能够通过make uninstall卸载,万一这个源代码有几百兆上G怎么办,那不是浪费空间吗?在这个问题上一直没想清楚,总觉得不可思议。在这个方面Windows就做的很好,统一的模式,不需要编译才能够安装的软件,通过管理器可以很容易的卸载,但Windows在软件管理上也有很大的缺陷,这个我后面会说到。
Windows由于使用了注册表机制,所以造成了很多复杂的性能、安全上的问题,发展到现在也已经是尾大不掉,没办法摒弃不用。而Linux就没有这个问题,这样终端用户很喜欢的绿色软件在Linux下就成为了可能,我个人认为绿色软件应该是不需要安装,只需要将压缩的软件解压缩到某一个分区上后,直接执行软件的可执行程序便可以顺利使用,软件的配置信息和用户资料都保存在这个软件目录中,这样就不需要在重装系统后的繁琐地安装各种软件,而且还利于软件的U盘携带。但我使用Linux一段时间后就发现这种方法在现在的Linux体系中也只是理论上存在,就是因为Linux环境下各个软件缺库的情况十分常见,库依赖十分严重,不像Windows平台下大不了安装一个VC运行时库或者.NET运行时库就可以解决,这样使我最终想到了封装Linux平台下常用库的想法,但毕竟精力有限。所以希望国内的一些知名Linux开发商不要一天总跟着国外屁股后面跑,多想想用户需求,解决上述的这些技术问题,走一条自主发展、适当引进的道路才有希望。
其实一直困扰Linux的最大问题就是应用软件匮乏的问题,特别是一些大型商用软件,例如Photoshop、3DMAX、Autocad等,如果这些大型软件开发商不做Linux版本的话,Linux想要在企业级桌面市场上有所作为,也几乎是不可能的事,我想做设计、做开发的朋友可能最能体会。这样就又引出了另外一个问题,Linux应用开发的标准是否统一,像我上面说到的GUI系统的问题,GNOME使用的是GTK技术开发,GTK有GTK的编程库,KDE使用的是QT,QT又有QT的编程库,试想一下企业的开发人员哪里有那么多的精力去学习这两种截然不同的编程技术,这还不包括学习两种不同的IDE开发环境,Linux下也没有类似于Windows的SDK、WDK之类的应用层和内核层的开发包,难怪我一个研发的同学对我说过这样一句话:Linux环境的商业开发难度堪比登天。其实这也就是开源、自由过度之后造成了整个技术体系过度分裂,过度分裂也就造成了今天Linux叫好不叫座的结局。这让我想起了这样一句话:过度的民主必定带来灾难,所以形成一个统一的Linux标准化组织我认为是必要的,搞那么多的开源协议并没有为Linux带来什么质变,那个不到1%的桌面占有率还不能说明什么问题吗?
最后总结一下:
1、发行版开发商要从用户体验和用户需求入手完善GUI系统的设计,不要在发行版中集成一个GNOME和KDE就完事大吉,发展有自己特色的GNOME或KDE衍生版才是正道,让普通用户使用鼠标就可以完成大部分的功能操作。
2、国内的Linux开发商应该将Windows下出现的绿色软件的概念在Linux平台下真正实现,形成运行时库 + 软件压缩包的模式,我相信完成这个功能的发行版将载入开源界的史册。
3、Linux需要改进软件管理模式,Ubuntu的包管理我觉得还是很不够,如果安装个软件还需要配置开发环境,装这个库那个库的,不上网还装不了软件,我觉得这样本身对用户来说就是很荒唐的。
4、鉴于计算机配置越来越高,Linux开发商应该使用打开PAE选项的Linux内核,以此来支持大内存配置的计算机,不要让用户自己去编译安装内核,如果用户安装一个32位的Linux系统发现只能识别2G内存的话,那他很可能就马上改用Windows Server的系统了,还是那句话:细节决定成败
5、统一使用类似于SDK和WDK的软件开发包,要不软件开发实在是没办法说了。
暂时先说这么多吧,我觉得如果上面的问题都解决掉的话,也就很不错了。
首先基于Linux的发行版过多,大多数普通用户就一个感觉——迷糊,不知道该使用Ubuntu还是Fedora、红旗,虽说这些发行版都是基于基本相同的内核,但这些发行版光是GUI系统就有GNOME和KDE之分,还不包括一些小的GUI系统,人机界面操作差异较大造成用户学习成本大增,大多数普通用户不愿意使用也是情理之中的事情,可能很多Linux的狂热者列举出一系列Linux开源、自由的好处,但你们千万不要忘了90%使用电脑的用户并不是很懂计算机的,他们并不关心技术如何,他们只关心操作是否顺手,以前使用的经验能否很好地过度到新系统下。
在桌面领域,图形化操作是否能完成大部分的系统管理、使用功能基本上决定了用户对这个系统的认可程度。例如我刚开始使用Ubuntu的时候就遇到过没办法使用GUI格式化分区,同样的问题在Windows下也就是点几下鼠标就可以很好地完成操作,这样的基本用户需求很多发行版都没有把握住,不得不说是遗憾。在计算机软件领域往往是细节决定成败,在这些方面发行版开发商是需要向微软学习的。
最为重要的是,我不能够理解Linux系统里的很多软件是需要在用户的机器上编译后才能够使用,我认为任何软件都应该编译好后压缩也好,打包也好,做完这些步骤后在提供给终端用户使用,实在是需要源代码的话另行下载就可以了,还是那句话90%的用户不知道什么是编译软件,这个对他们来说太难了,也没有必要。其次就是编译安装的软件还必须保存源代码才能够通过make uninstall卸载,万一这个源代码有几百兆上G怎么办,那不是浪费空间吗?在这个问题上一直没想清楚,总觉得不可思议。在这个方面Windows就做的很好,统一的模式,不需要编译才能够安装的软件,通过管理器可以很容易的卸载,但Windows在软件管理上也有很大的缺陷,这个我后面会说到。
Windows由于使用了注册表机制,所以造成了很多复杂的性能、安全上的问题,发展到现在也已经是尾大不掉,没办法摒弃不用。而Linux就没有这个问题,这样终端用户很喜欢的绿色软件在Linux下就成为了可能,我个人认为绿色软件应该是不需要安装,只需要将压缩的软件解压缩到某一个分区上后,直接执行软件的可执行程序便可以顺利使用,软件的配置信息和用户资料都保存在这个软件目录中,这样就不需要在重装系统后的繁琐地安装各种软件,而且还利于软件的U盘携带。但我使用Linux一段时间后就发现这种方法在现在的Linux体系中也只是理论上存在,就是因为Linux环境下各个软件缺库的情况十分常见,库依赖十分严重,不像Windows平台下大不了安装一个VC运行时库或者.NET运行时库就可以解决,这样使我最终想到了封装Linux平台下常用库的想法,但毕竟精力有限。所以希望国内的一些知名Linux开发商不要一天总跟着国外屁股后面跑,多想想用户需求,解决上述的这些技术问题,走一条自主发展、适当引进的道路才有希望。
其实一直困扰Linux的最大问题就是应用软件匮乏的问题,特别是一些大型商用软件,例如Photoshop、3DMAX、Autocad等,如果这些大型软件开发商不做Linux版本的话,Linux想要在企业级桌面市场上有所作为,也几乎是不可能的事,我想做设计、做开发的朋友可能最能体会。这样就又引出了另外一个问题,Linux应用开发的标准是否统一,像我上面说到的GUI系统的问题,GNOME使用的是GTK技术开发,GTK有GTK的编程库,KDE使用的是QT,QT又有QT的编程库,试想一下企业的开发人员哪里有那么多的精力去学习这两种截然不同的编程技术,这还不包括学习两种不同的IDE开发环境,Linux下也没有类似于Windows的SDK、WDK之类的应用层和内核层的开发包,难怪我一个研发的同学对我说过这样一句话:Linux环境的商业开发难度堪比登天。其实这也就是开源、自由过度之后造成了整个技术体系过度分裂,过度分裂也就造成了今天Linux叫好不叫座的结局。这让我想起了这样一句话:过度的民主必定带来灾难,所以形成一个统一的Linux标准化组织我认为是必要的,搞那么多的开源协议并没有为Linux带来什么质变,那个不到1%的桌面占有率还不能说明什么问题吗?
最后总结一下:
1、发行版开发商要从用户体验和用户需求入手完善GUI系统的设计,不要在发行版中集成一个GNOME和KDE就完事大吉,发展有自己特色的GNOME或KDE衍生版才是正道,让普通用户使用鼠标就可以完成大部分的功能操作。
2、国内的Linux开发商应该将Windows下出现的绿色软件的概念在Linux平台下真正实现,形成运行时库 + 软件压缩包的模式,我相信完成这个功能的发行版将载入开源界的史册。
3、Linux需要改进软件管理模式,Ubuntu的包管理我觉得还是很不够,如果安装个软件还需要配置开发环境,装这个库那个库的,不上网还装不了软件,我觉得这样本身对用户来说就是很荒唐的。
4、鉴于计算机配置越来越高,Linux开发商应该使用打开PAE选项的Linux内核,以此来支持大内存配置的计算机,不要让用户自己去编译安装内核,如果用户安装一个32位的Linux系统发现只能识别2G内存的话,那他很可能就马上改用Windows Server的系统了,还是那句话:细节决定成败
5、统一使用类似于SDK和WDK的软件开发包,要不软件开发实在是没办法说了。
暂时先说这么多吧,我觉得如果上面的问题都解决掉的话,也就很不错了。