Opensuse 的人气为何远不如 Ubuntu 和 Fedora? (二) 开源与市场、上游与下游

本文是继上篇之后一些评论的回复,给春雷的回复解决了大多数人对于开源和市场的疑问,给 pansz 的回复解决大多数人对于上游和下游的误解,因此另开一篇,推荐阅读。

春雷: 不同意ubuntu吸血的论点。 市场本就是有分工的,有人忙内核,有人忙推广。ubuntu在推广角度的成功是不言而喻的,若没有ubuntu的成功,会有几个人来阅读这么长的关于linux的专文呢? 如果说opensuse是学术性的,那么ubuntu就是将学术包装成市场可接受的产品,它们二者是互相促进、缺一不可。 opensuse在市场上得不到彰显,诚如文主谈到的,是公司管理方向的问题,是市场重点的取舍问题,与ubuntu发展桌面并无关系。 同时,让普通用户接受学术性的东西,并不是一件简单的事情,此领域与学术性研究领域属不同的分支,并无高低贵贱之分。一个技术优质的软件,若没有好的UI,同样会被人放弃,在市场上二者是同等重要的。

深层的东西在初期不被接受,是正常的现象;只有随着市场的逐步打开,人们对产品的逐步了解,才能逐渐从表象关注到本质,从这一点上说,我觉得opensuse要感谢ubuntu和fedora,并盼望他们被更广泛的人们所接受,因为他们其实也是在为opensuse和redhat之类的发行版做市场推广,只要他们生根,其它才能开花。

我的回复: 续: 看到春雷的观点,我觉得勉强算是一个补充吧。 我也想了一下,如果你有能力开发,而不去开发或收购,直接使用,这叫吸血。比如迅雷,它有能力做出正常的上传,但偏偏不这么干,所以说它吸血。Ubuntu 不是的,全球的角度说,他的开发者是处在 Linux 核心圈子的边缘的,确实搞出像老牌发行版那么多是强求,所以这只能说利用。这是很中性的评价。但还有一方面它做出的东西很少向上游反馈,反而时而会去更改上游的基础来实现特殊化,这就是偏负面的评价了。比如很基础的图像处理库 libtiff,tiff 官方发布的所有正式版本中,是编译不出 libtiff.so.4.3.4 这个文件的,3系的最高版本是 .so.3.9.6,4系开始就是 .so.5.x.x,ubuntu 宣称自己使用的是 3.9.5 版,实际这个版本编译出来的应该是 so.3.9.5,这就造成了使用 ubuntu 做开发平台做出的软件,在其他发行版上用会麻烦一点,这个麻烦不是其他发行版找的,是 ubuntu 给的。再比如说 freedesktop 是 linux 界“桌面图标”标准的制定者,准上游,但 ubuntu 的 .desktop 拿到其他发行版就是会编译报错,为什么呢? unity 添加了设置条目,然后不向 freedesktop 回馈,不回馈就永远成不了标准,其他发行版永远没法支持,就永远突出了 ubuntu 的易用性。

这是我在帮助 wps 官方打包的时候发现的一个小例子,不尊重上游,而不向上游反馈这个就不用说了,大家都有感觉到,比如用 ubuntu 的人总觉得是比其他发行版舒服一点,比如显示,比如交互设计,不可能所有人都拥有同样的主观感受,至少第一批用的人是没有领头人去影响他们的,那么就是肯定有私货啦,但是 Linux 的范围是不存在私货这个概念的,那就是它至少在某种层面上背离了开源,即使没有背离开源,也一定背离了分享,是的,你可以自己去找,但为什么别人搞出来的东西在上游可以找到,你的字体设置就一定要下个 iso 挖呢?

从市场的角度看,规避不是自己公司的东西而去强调自己的核心产品,这很正常。因此Ubuntu确实算不上是吸血。只能说它有违 Linux 精神。它试图用一种增加独特性的圈地运动来让自己变成 Linux 的标杆,反而拉大了 Linux 发行版之间的边界。

再下面我就不同意所谓的市场分工了,所谓分工,是专业分工,行业分工,和同一公司不同部门之间的分工以及同一集团不同公司的分工。微软卖软件,因特尔卖硬件,他们的利益捆绑确实促成了两者的繁荣,但是在市场的角度两者是不同的利基市场,利益不冲突。市场分工大家都说,但实际是不存在的,同一市场是没法分工的,只能在不触及彼此核心利益的基础上合作。你不能说江民搞病毒引擎,金山搞外部封装,然后两者弄好各自卖。何况金山的封装技术还没有给江民用。你可能把病毒库这一公共资源当成市场本身了。再好比新浪微博可以和网易微博合作开发一个新的游戏平台,但是你让它们互换帐号资料试试? 除非新浪想把自己的核心价值观推入网易,就像 google open id 登陆一样,要说是为了提升网易竞争力,这就牵强了。linux 世界若不涉及背后的公司,则大有不同,我们讨论的 ubuntu 吸血不吸血应该是集中在这里,技术层面上的问题,我的发行版弄出来的东西,你的也可以用还送货上门,你的却不给我用,或者说自己去拿,这样说这人不讲究一点不过分。唯一能比拟的部分应该是发行版基础,比如 SuSE 的 YaST,arch 的 abs,gentoo 的 emerge,你可以任意的用,但是你一旦用了就打上了我的标签了,而 ubuntu 这些地方却又没什么能深说的,它用的是 debian 的 apt-get,在别人家厨房炒自己的菜,最近出来的 software center,底层不太懂,应该也没有使用新的能标记发行版的技术,而它又卖商业软件,都不算是发行版基础的范畴了,而是市场,unity 应该算一个,但ubuntu 又有 kbuntu。。算是发行版基础的应该是 opensuse 的 build service,fedora 的 koji,和 suse 正在筹备的开源软件中心。而涉及公司又会回归到上面的情况。

ubuntu 和其他发行版的关系我觉得这里您可能是有点混淆了,在发行版市场(如果有的话)他们是直接竞争关系,虽然由于 linux 的特殊性他们的基础架构有所相同,跟 android 差不多,但三星的机器在推广的时候肯定不会带上 HTC 呀。你说的可能是一花红,万树红的知名度的道理,但是这一花,却不是为了万树红的。而内核则是完全不同的东西,它不存在一个市场,唯一的。如果 ubuntu 推广内核,openSUSE 获益确实是要感谢它,但它推广的甚至不是 Linux,只是 Ubuntu 这个 brand。

市场开拓,品牌推广,中文博大精深。去开拓市场从来都是为了自己占到最大块蛋糕而做的,至于其他现存者受益,那是无法避免的,不需要感谢,因为那是蝴蝶效应,蝴蝶可没有想那么多,想多的蝴蝶都是公关的春秋笔法了。就好比你拿着邻居的球拍打出几个好球打赢了球赛,邻居也拿这个拍打到了第五名,你可以说我打比赛是为了推广邻居的球拍,却不能在颁奖台上说我打第一是为了让邻居打第五。比赛就在那里,不来不去,你拉再多观众来,主要还是为了看你打比赛,看到邻居,是顺路的,躲不开,除非你没参赛,不然说带自己的朋友来看邻居比赛,那永远是客套的说法呦。

但这和问题本身已经无关了,邻居打的臭,是自己技术不行,和你打的好没有关系。但借了邻居的拍不还就。。。有违邻里和睦了。我甚至阴谋论的怀疑上个邻居(debian)就是这么参加不了比赛只能改打棒球(服务器)的。

市场,谈到市场就不得不谈经济,经济的假设是斗智斗勇人人利己。开源则正好相反。市场是物理概念,有现实交换存在,开源则是一种作者的精神,作者根本不在乎交换这个环节。市场你可以去帮助商家改进产品,但你的身份是用户,你们在信息不对称性、资源种种都不是对等的。开源则是人人平等,互相学习。这差别很大。现实中是,操作用市场,概念用开源,这回知道为什么要规避版权问题了?即使 mandriva 这种背后没公司的也要规避,因为操作用市场嘛,ubuntu 不规避也是用市场手段变更注册地逃过诉讼了,不是他比别人更自由,从法律精神上说它不应该那么做的。所以不能用开源精神解释市场,也不能用市场行为来定义开源。

pansz 的答案: 从 1998 年开始使用 Linux 以来,我倒一直是 KDE 的坚定使用者,所以从情感上,我一直是愿意支持 SUSE 的,甚至我一直都明里暗里力挺SUSE。。。但是鉴于各种个人的原因,我还是没有把 openSUSE 当做主要的使用版本。这里面大致如下:

1。 .deb 实在是太方便了,或者换句话说,方便的不是 .deb 本身,而是围绕 .deb 的外围工具例如 aptitude, apt-get, dpkg, dpkg-buildpackage, update-alternative, 等等等等。这种方便培养了习惯。而这种习惯也就使人离不开 debian。

即使在政府邀请 redhat 进入中国的上个世纪 90 年代, debian 就已经是市场占有率最高的 Linux 发行版了,比 gnu 体系,比血统纯净,debian 不输任何其他发行版,开发者都是有强烈 GNU 信念的顶尖黑客。如此的强势才造就了后来的 ubuntu,因为那些一贯习惯了 debian 的用户们发觉使用 ubuntu 没有门槛,跟自己的习惯完全相同。所以其实部分人对待 ubuntu 其实就只是把它当做一个 debian 的修改定制版而已。

2。当你习惯用 debian 做服务器时,你的桌面机可能会选择 ubuntu。。。当你习惯用 rhel/centos 做服务器的时候,你的桌面很可能会选择 fedora。。。当你习惯用什么做服务器的时候,你会选择 openSUSE 呢?我不知道,但是很显然的,有多少服务器使用suse?市面上的 主机,VPS,虚拟空间,有没有哪个是 suse ?很少的,主流的VPS有centos,有debian,甚至有arch跟gentoo,却很少能看到suse。服务器侧的知名度低,一定程度上,必须的导致了桌面端用户也少。

3。有很多资深黑客不买 C++ 的帐,这一定程度上是个制约因素。Linus 那张大嘴就不提了,光 Qt 跟 gtk 那么多年来的纠结就很能说明问题。——这些问题实际上导致 KDE 的资源有限,不能得到 GNOME 那么大的关注。——为什么我这么说呢?我有亲身体会的。

前面有人说往 Kubuntu 提问题没人理,因为那都是上游才能解决问题的,这个我也知道,kubuntu实际就是个半死不活的项目。但是,上游是在 KDE 还是在 SUSE?我不太清楚,但至少,我在 KDE 上游官方里面提的所有 BUG ,没有一个被人解决,最后里面 60% 都是我自己实在受不了了自己搞定的(上游动作之慢有时令人。。。我曾经有提交一个patch过了十一个月才有人理睬的记录。)。而另外剩的几个问题,几十人赞同,几十人讨论回复,但是几年来没有一个人去改他,(这个现象是否可以理解为,那帮坐在SUSE办公室里面开发KDE的哥们,根本不在乎直接往KDE上游提交的问题?)。可同样差不多的一些问题,到了 gnome/ubuntu 里面去提,有的就很快解决了,我曾经给 ubuntu 提的 patch,其响应反馈速度之快令人觉得不好意思。。。给人的直观感受是,kde跟gnome比,关注程度之差别太大了。——直接后果可能是导引更多的人去逃离 KDE。而除了 KDE 基于 QT 以外,似乎大多数其他桌面都是基于 GTK 的。

说了这么多,其实我还是两点: 1。情感上我无比的希望 KDE 好,希望 SUSE 牛起来,但是 SUSE,以及整个基于 KDE 的发行版,其没落是有一定原因的。 2。Linux 发行版更大意义上主要是 geek 写给 geek 们的用品,所以只要开发者仍然存在,每个 Linux 发行版都还会有生命力,伸手党的人气高低并不能决定一个 Linux 发行版的真正实力,开发者的实力才是。所以 SUSE 用户也不必妄自菲薄。

我的评论: 大家的回答都开始慢慢偏离问题了,不过反正这里不算分。。。

debian 背后没公司,纯 GNU,最老的发行版,RPM 是 redhat 之后推的(历史问题还请纠正,我入 Linux 门很晚的),debian 至少经历过一段真空期,借用营销学的说法,叫垄断,不用它的没别的用。这跟腾讯一样积累的用户是很恐怖的,要不是 ubuntu 的崛起(这里是真的崛起,没有负面意思),和debian自己的坚持,它完全会是最大的发行版,当然现在也不小。debian 和 ubuntu 也是一个可以讨论的故事。debian 坚持 GNU,Ubuntu 一开始就没打算,看它的注册地,地图上完全不存在,一开始就打算钻版权专利的空子了。所以 ubuntu 的一些反馈 debian 无法接受,没有跟着 ubuntu 崛起应该说是必然吧。 deb 确实很好用,但没有外围工具的话,打包还是挺难的,如果你 deb 和 RPM 都会打的话。这不得不说越来越深入了,这又是一个好玩的问题,RPM 是红帽推出来的,定义的对象是企业级部署分发,鼓励照章办事,一条一条添,填错就报错,这导致了 fedora 和 suse 的打包教程和维基甚至都是互通的。deb 呢,则自由一点,虽然它自己作为发行版很严格(推送过包的都知道),纯制度设计上不能说是严谨,应该叫古怪,因为它严的都不是正地方。但它的容错性很高,比如 md5sum,完全容错,你添0都能过。

工具和包格式这点硬要说,看平,哪家也不高哪家也不低。但 SuSE 搞不过 redhat 这是真的。

得服务器得天下。没讨论空间了楼主的大帽子一扣。事实就是这样的。

KDE 没没落。。。大牛都在 freebsd,中小牛才在 linux。。。。在 KDE 的问题,可能确实因发行版而异,可能我认为 SuSE 的流程是对的,就是向发行版提交,发行版搞的出修复就搞,然后把修复提交给上游,搞不出的,开发者提交问题给上游要比用户专业的多,得到的关注度也大的多。

KDE 自己又是另一个故事了,他的 bugzilla team 实在是不给力,我自己提交的也是被各种忽略。我和其他的 KDE 使用者开发者的共同吐槽点就是 KDE 网撒的比较大,因为 QT 嘛,开发者总是想一个功能就搞出来,不去回头修 bug 什么的。SuSE 的开发者也继承了,说不定就是他们影响的 KDE。。。但是往 SuSE 提 patch 还是挺快的,rpm 么,你自己都能搞修复。ubuntu 速度快不快不知道。

不过这里只是你的个人感觉了。国内这边大部分是 ubuntu 开发者,他们真心不怎么 care gnome,纯 KDE 的开发者还是蛮多的,fcitx 的开发者就是官方注册的 KDE 开发者,还有一个在 ikde.org 群里泡着的,fcitx 开发者说比他牛逼一万倍,是开发 koffice 现在改名了。。。国际上呢,KDE 活跃的开发者还是挺多的。Gnome 呢,有个 gimp 开发者到过assign 给我的bugzilla 上哭,说注册的开发者 20多个,实际活跃的就四五个,搞那么大个项目,gnome基础什么的blabla。。。。也是个人感嚼。

至于 c 和 c++ 之争,发行版和桌面系统这东西,其实看的不是最资深的那些家伙(他们在freebsd其实,中游的两者基本持平),是有没有一个活跃稳定人数众多的普通甚至是菜皮开发者,这点上 KDE 不怎么差的。他们活跃的都搞起社区分裂了(koffice)。。。。

pansz:

重视上游非常重要。——因为重视上游可能改进KDE在所有发行版中的体验,而提交到SUSE只能作用到SUSE。

KDE 上游不被重视的后果是大多数发行版中的 KDE 都不够靠谱。接下来的后果就是影响大多数人心目中 KDE 的形象,在这样的情况下,SUSE 就算能独善其身又如何?真心建议 SUSE 的维护者把一些人力直接分到 KDE。KDE 上游的口碑好了。SUSE 自然崛起。

我的回复:

SuSE 没有不重视上游。提交到 SuSE 只能作用到 SuSE,这点错误。正常的发行版开发模式就是这样(Linus 钦点),发行版在用户和上游之间充当一个中间者,用户给发行版报 Bug,发行版做缓冲,然后给上游报 bug。除非有经验的用户比如程序员可以直接跨过发行版向上游报 bug,这被收录的很快,csslayer 报的 bug 十个有九个被收录,您的不被收录不代表你做的不对,可能是代码风格,可能是别的,听你的口气好像是程序员,这你应该比我了解。反而是您认为的用户就应该向上游报 bug,是畸形的。

在开源界,重视上游的意思是说,作为利用了上游的东西的下游,如果你对上游做了优化、补缀、功能扩充,要即时的向上游反馈。SuSE 的 KDE 有向上游反馈,这就是已经是重视上游了。就好比 Ubuntu 像 Debian 提交东西,但 Debian 不收,那是 Debian 自己的坚持。你混淆的原因在于你把开发者和项目给等同起来了。SuSE 的开发者同时开发着 SuSE 和 KDE,不代表 SuSE 就是 KDE,SuSE 只要把它收到并应用的补丁给 KDE 就 okay,至于有没有优先收录一说,这个不知道,即使有,也是近水楼台先得月,(他自己解决的 bug,自然比较了解,收录的自然快; 就好比你是 KDE 的开发者,也不会放着自己成熟的补丁不去收录,而先去 Debug 别人报的东西,完成一步是一步么)。KDE 开发者对 bug 反馈慢,那是 KDE 这个项目自己的问题。由于 KDE 收 Bug 收的慢,即使是 SuSE 的也收的慢,毕竟 KDE 是一个独立的大社区,不是 SuSE 能左右的,社区管理这东西跟养猫有点像,你能养得了一群猫,但是不见得同时养得了两群猫,然后让它们步调一致。然后 SuSE 解决的 Bug 多,自然给人以 SuSE 只开发 KDE 不重视上游的感觉,但还是前面说的,那是 KDE 给的,不是 SuSE 找的。KDE 跑的慢,SuSE 可以帮它,但取代不了它,也不能阻止 SuSE 跑的快,跟野外修车是一个道理,你车坏了,我可以用根钢索拉你一把,给你个备胎,但不能熄火下来和你坐在一辆破车里。你不可能让 SuSE 的开发者停下来等上游,开源也没有这个说法,你 11个月 被收录的那个 bug,难道你就没应用到自己系统干等着上游推送?这不可能。同样么,用 SuSE 的开发者(欧洲可能多一点),也不会这么傻等的。你提的现象只能证明 SuSE 收补丁收的快,不能证明 SuSE 不重视 KDE。SuSE 不等于 KDE,它只是 KDE 的一个下游,从下游的角度出发,只要它做了,就是 okay 的。同样还有 Charka。

另外按照你说的,Ubuntu 应该分人到 GNOME,到 Debian,Gentoo 应该分人到 everything,Charka 应该完全不做,直接并入 KDE,你觉得这个逻辑可行吗?独善其身也是个策略问题,你在一群黑手党中间做个正人君子,拜托做正人君子已经很难得了,另外你还有一重身份就是律师,SuSE 还有 GNOME,特意分出人力来开发 KDE,这反而是不正确的,开源世界就是,你不能左右开发者开发什么玩什么。而黑手党问题,是个全社会的问题,需要各个相关人等都抽出精力去做,照你的说法,是把全社会的问题加到一个人身上了,这是不对的。

另外 KDE 不被重视,首先这个论点就纯疑,其次它和 QT 也没关系。Ubuntu 也大量的用了QT和C++,它就很被重视。只能说用户比较习惯给他什么就用什么,Ubuntu里 KDE 是肯定不被重视的,SuSE 里 KDE 是肯定被重视的,Charka 更不用说了。

再另外 KDE 崛起不见得能带动 SuSE,因为用户的选择很多,可能 Charka 崛起,也可能是 Kbuntu 崛起,要求以发行版为单位去做间接影响自己的东西而不专注于直接影响自己的发行版体验的问题,不太靠谱。

您发现的问题确实是问题,但提出的解决方案在开发者和做过社区的人眼里,真的有点理想主义,大家都希望有个 流掰 的秒了 Gnome 一百条街的 KDE 出现,作为个体开发者,你去开发 KDE,并呼吁大家来提高他,是很具有 linux 精神的; 但是建议一个项目去优先开发上游,那就落入了商业软件开发的重造轮子怪圈里面了,linux 的精神是大家专心干好自己感兴趣的份内事,让每一个部分都很 perfect,然后去整合他们,这点是否好另谈(苹果的整合就做的很好,它的系统没几个包),但是普遍的开发模式就是如此。可以在做自己的事的时候,解决了别人的事,并通知别人让它不用造轮子,但不能自己的事不做就腾出手来做别人的事。

pansz:

我只是指出问题。现在的问题就是如此,也许suse的兄弟们完全没有义务解决kde项目存在的问题。但事实上kde项目存在的问题对suse发展普及是一种影响。

服务器问题也是一样,我没有见过用suse的vps,也基本没有见过suse的独立主机。可以说这事情本身完全不是suse开发者的责任,但事实是它会影响人们对桌面系统的选择。

好了,我只是摆出了问题,解释了原因。至于这些问题是否是suse开发者的责任,这真的是两回事。

我的回复:

对啊。我的意思就是说,没义务干。开源这事本身就不是义务的事情,你只有沉甸甸的因为怕不更新不开发受到自己良心谴责的责任,用户都没有权利指责你,因为他们并没有提供什么,就是大家一起堆沙子,有的人愿意堆塔楼并去干了,因为他从小手就比较稳,有些人愿意和其他一起堆沙子的人嘴炮,因为他只会干这个。这是一个堆塔楼的人妈妈喊他回家吃饭,那就再找个人替上,毕竟堆沙子是吃饭那人的玩乐,他不是挖沙工人。KDE 有影响,但是问题不大。最重要的还是 SuSE 自身的战略问题,一好百好,因为现在它不好,大家觉得这里可能也是问题那里也可能是,但若它好了,什么问题都不是问题,比如 Mac 系统的 Kext 肯定有五年没更新过的,但你们问过吗。。。

服务器的问题就要单谈了,SuSE 没有针对服务器的版本,你只能单搞,因为它一安装就默认选桌面。。。服务器这块则是完全被 SuSE 的企业版 SLES 接手,怎么运作我不知道,但明显搞不过红帽rel和centos。所以你在服务器市场找 SuSE,非常难,有,我买VPS时见到过,但真的不多,因为设计目的就没打算让它跟 SuSE 公司去抢市场干这个。。。就跟你提服务器市场也不怎么提fedora一样。。。SuSE 的企业版在服务器市场不给力,连累了桌面版openSUSE,除了说它不给力,还能说什么呢?SuSE9以前没有做出这种划分的时候,那 SuSE 在中国也是横着走的,linuxsir 的 suse 版是发行版版块第一大子版,就说明了当年的盛况。。。因为那时候你用 debian 做服务器,要用 ubuntu 当桌面,centos 做服务器,要用 fedora 当桌面,SuSE 做服务器,SuSE 做桌面,连查询发行版名字的成本都没有。。。

Written on March 31, 2012