不谈论中国特色的问题(如中文字体、中文输入法和特定程序如 QQ 的缺失),为什么 Linux 桌面发展二十多年仍然无法进入主流市场?
我希望看到一些多于一句话的回答。
为什么选择太多会阻碍 Linux 桌面(中的任何一套完整解决方案)成熟进而进入主流市场?
为什么其中任何一个「选择」——任何一个发行版都无法与微软或苹果的产品竞争?
为什么 Linux 平台 / 开源社区没有形成 MS Office / Apple Pro Tools 这样的杀手级应用?这个平台对应用开发有着怎样的限制?
一直以来被认为能够产生最优质代码的开源开发模式为什么会在桌面市场失败?
Linux 是自由的,无拘无束的,本来是可以高速发展的。这是符合逻辑的,是正常情况。不同方案之间的竞争(比如 vi-emacs,KDE-GNOME 等),是可以优胜劣汰的,如果分不出胜负,那说明旗鼓相当。这本身不会成为阻碍 Linux 发展的因素的。“百花齐放、百家争鸣”,我好像从来没听说过有什么“不妥”之处,没听说过它被人诟病。因此,“选择太多会阻碍 Linux 桌面进入主流市场”本身就是一个伪命题。
我的解释是:Linux 处在艰难的诞生期,它的力量还薄弱,经不起打压。等到 Linux “长大成人”的时候,才能经得住打压。
打压的手段是什么呢?
手段多得很。有公开的打压(明枪),也有暗地里打压(暗箭)。
1、众所周知的 FUD,算是公开的打压吧?
2、宣称 Linux 是癌症、毒瘤,公开污蔑 Linux,这也算是公开的打压吧?
3、以“莫须有”的罪名控告 Linux 侵权,企图以法律手段彻底铲除 Linux,这也是公开的打压吧?
4、派间谍渗透到开源软件的开发团队,搞分裂,搞破坏,这属于暗地里打压。openOffice 被迫分支出 LibreOffice,gpxe 被迫分支出 ipxe,等等,有很多。
5、用软件不兼容手段打压开源软件。比如 office 不断制造不兼容性,就是打压开源的 office。再举一例,Windows XP 的出现把 Win4Lin 这个软件消灭掉了,而 Win4Lin 甚至都不是开源的软件,仅仅是能够在 Linux 下运行 Win98 而已,微软连这都不允许。与微软利益不符的软件公司,微软可以采取不同级别的措施,比如“不照顾你也不打压你”“轻度打压”“严厉打压”。微软把那些容易消灭的,早消灭了。剩下的,是有难度的、消灭不了的。比如 VMware 就没被消灭。谷歌、腾讯等等也没被消灭。Linux 也没被消灭,虽然处于半死状态。Linux 的这种半死半活的状态,就连微软都被迫接受。微软肯定希望 Linux“全死”,但微软做不到,只能接受“Linux 还活着”的事实。
6、用硬件不兼容性打压 Linux 和开源软件,扳着脚趾头也能想到吧?提示一下,既然硬件能让 XP 都转不了,假如 Linux 和开源软件还能运转的话,那微软还是微软吗?想想都知道,不可能的事啊!最近 intel 出了一些新产品,声称支持 Ubuntu 的运转。我想说的是,经过微软同意了吗?是假支持还是真支持?支持进入 XWindow 界面,然后几分钟之后死机,这也叫支持吗?“逗你玩”式的支持,骗别人可以,骗我没门。
打压 Linux 的,远远不止微软一家(以上仅仅是拿微软来举例而已)。打压 Linux 的巨头多得很(可以仔细琢磨有多少个)。打压的力量,远远超过支持的力量。因此,现阶段桌面 Linux 成不了气候。但未来桌面 Linux 有可能突出重围获得成功。到那时候,支持桌面 Linux 的力量将压倒打压桌面 Linux 的力量。
服务器 Linux 之所以不像桌面那么惨,是因为“支持 Linux 服务器”的力量足够大(足够成熟),能够抵御那些“打压服务器 Linux”的力量。这看似废话,其实就是深刻的哲学。哲学往往就是一些“在眼皮子底下而未能被发现、被揭示”的事实。哲学有时候表现得像废话。要是连废话都不承认或不敢承认的话,那要检查一下,看看自己的逻辑思维是不是不工作了?
如果没有打压,那么 Linux 可能早已统治这个星球了。但历史是不能假定的,它只能“是”什么样和“不是”什么样。是的,旧的力量不那么容易死去,它一定会维护它自己的利益,一定会对新生事物进行压榨和反扑。在某个发展阶段,要让那些敌对势力支持 Linux,本来也就是不可能的事。只有当敌对势力转化为 Linux 的朋友的时候,他们才会支持 Linux。否则,他们一定要打压 Linux。
谢谢两位发表见解。关于 “android 究竟算不算是 Linux”的问题,是有争议的。不同的角度、不同的偏重点,结论也不同。如果单单以内核为标准,那么 android 当然也属于 Linux 范畴。但如果把 Linux 定义为 GNU/Linux,则 android 就不能算是 Linux 了,它最多只能算是“异化”的 Linux、被“污染”了的 Linux,或者说“添加了不兼容性”的 Linux。当然,世上没有真理,没有对和错。但是有不同,有差别。Android 与 Linux 有相同点,也有不同点。根据上下文侧重点的不同,有时候把 Android 划归 Linux 范畴,有时候强调不同点,就不认为 Android 等同于 Linux 了。
想当初,当电脑还是个奢侈品的时候,买电脑的人少。微软和 IBM 把价格降低,同时软件也是为了大众方便的。系统的规范是开放的,大致也是统一的。但到了后来,电脑普及之后,厂商开始动脑筋了:何不利用自己手中的权力来玩一下用户呢?有权不使,过期作废。于是种种不兼容性开始出现了。生产商的目的是让用户掏钱。怎样能让用户掏钱,就怎样生产。不能让用户知道得太多,否则的话,就没法从用户身上捞到更多的钱了。所以,生产商要保护他们自己的利益。通过让用户傻瓜化,加大生产商与用户之间的差距,这样可以有效保护生产商的利益。我明白了一个道理,生产商首先是为了它自己的利益,它不会去考虑消费者的利益。如果它能考虑消费者的利益,那是因为消费者足够聪明或足够强大,迫使生产商让步,迫使他们兼顾消费者的利益。如果生产商敢玩弄消费者,那说明消费者很愚蠢,很无能,生产商没把消费者放在眼里。生产商对待消费者的态度,反映了两者之间差距的大小。当生产商老老实实生产产品的时候,说明消费者足够强势,生产商不敢欺负。反之,当生产商处处设卡玩弄消费者的时候,说明消费者太弱小,生产商随便欺负你没商量。
围棋机器人的例子,与 Linux 系统的情况存在重大差别,不具有可对比性。前者属于纯科学研究范畴,成功之后,不伤害任何人。后者不同,严重地与利益挂钩,尤其是,生产 Linux 设备会伤害生产者自己。前面已经阐述过,一个人一旦从消费者转换成生产者,其态度立即转变,变成要镇压 Linux。所以他一开始就不可能生产 Linux 设备【此处“不可能”是哲学的不可能,即,相对的“不可能”;世上没有绝对的不可能。希望今后我不用费劲解释这些概念,也希望不会有人对此吹毛求疵】。就连制作 Linux 发行版的软件商,还知道要制造不兼容性壁垒,更何况硬件设备的制造者了。生产者不想让别人很快具有自己的生产能力,因此,他要设法制造壁垒。而开源的 Linux 不符合他的要求,因此,在绝大多数情况下他会选择封杀 Linux。
Linux 用在服务器、路由器这方面,不会伤害生产者,是因为这个技术已经陈旧,老掉牙,不含创新。所以,在这方面,还是有生产者的。那些含有创新性的,绝大多数都不会开源。例外情况是,业余爱好者进行创新,完全是奉献。但这种创新会被商业公司共同封杀、打压,能活下来的就少之又少了。
Linux 有利于消费者、不利于生产者,这一本质,决定了它的命运以及目前的生存状况。也就是说,Linux 目前的生存状况没有任何奇怪的地方,完全可以解释得通的。更糟糕的是,大量的消费者不能意识到 Linux 是有利于他们的;他们对 Linux 没有热情,冷若冰霜。从这一角度看的话,其实 Linux 不值得开发。我们知道,“全世界无产者,联合起来!” 这是为了解放无产者的,所以能够得到无产者的响应并取得胜利(以后又出现各种问题,那是后话)。可是 Linux 的情况不是这样。大众不响应、不支持,不需要你去解放他们;大众愿意坐牢。这你就没辙了。换句话说,这是 Linux 没有缘分;谁都不怨,就怨这缘分不够。
Linux 两头不讨好,真的可以说是乌托邦的空想了。
我前面主要说的是 Linux 所面临的困难,其现实是残酷的。程序员们、支持者们应该正视这些困难,找出解决问题的方法,这样才能推进 Linux。否则,上述问题不解决,你投入了很多到这个无底洞,不见效果,你最终也是放弃,是被迫放弃,是无奈的放弃,是心灰意冷的放弃,是很迷惘、很疑惑、耿耿于怀、死不瞑目的那种放弃。也许你本该早早地、清醒地、主动地、明明白白地、轻松自如地放弃它的。