在开源社区,Linux可以说是最大的项目,也是一个自成体系的生态环境。另一方面,开源社区的文化讲求贡献,而这往往和贡献代码挂钩。很多公司企业每每在对开源示好,表达自己对开源社区的关注之时,所用的手段也往往是贡献代码,比如微软在去年向 Linux社区发布2万行代码,Google统计说自己为800多个开源项目贡献了超过2千万行代码,还有之前的Sun也是很大的开源代码贡献者,甚至于 红旗2000等国内企业也想方设法表达自己对开源社区的贡献。
对于Linux项目而言,最大的代码贡献者除了进行Linux内核开发维护的Linus Torvalds和他的社区成员之外,自然是几个发行版的社区和厂商,在厂商这方面又尤其以红帽(Red Hat企业版Linux和Fedora)、Novell(SUSE)和Canonical(Ubuntu)为代表。因为厂商和社区的商业性质不同:厂商明 显是赚钱的,而社区的大多数成员都不会因贡献代码而得到金钱上的报酬,所以开源社区从道义上总是对厂商们是否贡献了足够多的代码十分介意。甚至于厂商之间 也经常拿这个来说事儿。本文的故事就是从红帽Linux开发人员和Canonical创始人之间的一场论战开始的。
我们到底应该怎样看待厂商和开源社区之间的互惠关系?且听下文分解:
上周,前RedHat Fedora社区Linux项目开发人员,现任ISKME的CTO,Greg DeKoenigsberg在博客中炮轰Ubuntu的母公司Canonical。DeKoenigsberg说RedHat对如Gnome等开源项目的 贡献远远超出了Canonical:
“Canonical本质是一个营销组织,但他却把自己伪装成一个工程组织”。
真是一石激起千层浪,Canonical创始人Mark Shuttleworth立马在其博客中展开了反击,他说:“一个组织中的人去评论另一个组织的行为天生就是错误的”。Shuttleworth认为将关 于开源项目开发的讨论变成“我的Linux发行版比你的更好”的争论简直是在浪费大家的时间。
其实这并不是一个新的争论点,Ubuntu开发人员自从Ubuntu从Debian分支以来就一 直饱受Debian开发人员的侮辱,现在DeKoenigberg又给Ubuntu涂上了一层抹不去的骂名。Linux发行版之间的明争暗斗从来就未消停 过。
自从DeKoenigberg发表对Canonical的评论以来,他已经两次公开道歉了,他 说:“事实上,我认为Canonical为Linux也做了很多事,我想说的是他其实和RedHat一样为Linux鞠躬尽瘁,只是在代码贡献量方面没有 RedHat多而已”。
正如DeKoenigberg所说的那样,Canonical的确对Linux做出了很大的贡 献,至少在Linux市场营销方面取得了很好的成绩,也让更多的人认识和了解了Linux。我敢打赌,你随便问一个计算机用户,让他说一个Linux发行 版的名称,他一定会说“Ubuntu”,如果你问的是CIO或CTO,他们一定会说RedHat或Novell的SLES(SUSE企业级Linux服 务器), 但Canonical对于在大众中间普及Linux所作出的努力是任何其它Linux公司都不能匹敌的。
的确,Canonical已经使Ubuntu成为一个家喻户晓的Linux发行版,与此同时,他 们也吸引了数百万的Linux新用户,其中大部分都很粘Ubuntu。也有一些人用过Ubuntu后转向了其它发行版,如Ubuntu的分支Mint,当 然也有RHEL(RedHat Enterprise Linux)。
我也认为在相当长一段时间里,大家都是根据编码量来衡量对Linux的贡献的。现在我们应该换个 角度来思考这个问题了,谁让Linux变得更普及?谁对Linux贡献的代码最多?谁在运营LUG(Linux用户组)和Linux社区?总之,那些致力 于Linux发展的企业都是值得尊敬和表扬的。
为Linux贡献代码固然重要,RedHat在这方面当之无愧是领头羊,但除此之外,将 Linux推向千家万户的Canonical也应该是一等功臣,只是我们需要换一种眼光看待问题。