其他博客地址

主力博客:https://tonghuix.io

2014年10月31日星期五

答“如何看待微软OpenTech主导的开源社(kaiyuanshe)?”

今天是2014年10月31日,是西方的万圣节。1998年的10月,Eric Raymond披露了微软内部大量针对开源和Linux预备策略的备忘录,披露微软为了阻止消费者选择开源产品,市场人员可对消费者使用惧、惑、疑(即FUD)的手段。这份文件就是著名的万圣节文件。今年是微软“万圣节文件”曝光0x10周年。

开源社区中,有一个大家都认同的运行规则就是“自由和贡献相对等原则”。什么意思呢?也就是你要想在开源社区中获得额外的权利和权力,也就是除去开源本身所赋予的源码权利之外的其他权利和权力,比如社区领导人的参与权和表决权,源代码的决策权,人员任免权、提交到主流代码仓库(比如Git)的权利,或者使用特定域名的邮件转发服务、Jabber服务等等。要想获得如上这些权力,就需要与之相对等的贡献,贡献越多获得的权力也就越大。比如GNOME基金会的董事,是由GNOME基金会成员匿名投票选出,而要想获得投票权必须是GNOME基金会成员,成为基金会成员则必须具有一定的贡献(代码贡献、宣传贡献、金钱贡献均可),并被至少两名其他基金会成员提名。这里就体现了贡献和自由(也就是权力)的对等原则。也就是所有人都有平等的地位,平等的机会,要想获得更大的权力,就必须要付出相应的贡献。开源社区保障了这种基本原则得以顺利实施,同时开源这件事又可以保障软件开发活动的协作更加稳健和顺畅。


“开源社”最早的想法是成立中国开源基金会,通过资金运作鼓励和奖励一些优秀的国内开源项目。但因为中国成立基金会是需要民政部等多部门批准的,还有其他多种入门限制,因此这就导致无法创办这种NGO组织。最终退而求其次,微软OpenTech主导希望成立一个联盟组织,联合国内公司成立这样一个组织,先从翻译国外文章开始,进行开源教育,然后再在适合的时机推行基金会计划。

当然其初衷和设想是好的,几个初创成员却各怀鬼胎,将自己的商业利益绑架进来,他们一直在满口说希望大家贡献到开源中来,却不提自己的贡献,既不提曾经的贡献,也不提即将做的贡献,不提他们能为开源社的后进成员提供什么帮助和保障,更无法提出能为整个开源生态做出什么贡献。而且还会私下签订合同和密约,这种合约的内容为何不公开出来呢?因为商业合同才是需要保密的。

再来说,他们要做的事情,无论是所谓开源之星,还是开源大使等等,这都存在一个认证的问题,也就是如何认定某个项目是“开源之星”某人可以成为“开源大使”,这些认证是由他们认证的,某个隐藏在暗角里的“组委会”说了算,既不公开也不透明。这里还有个问题,他们有何德何能来认证一个人或者一个社区对开源的贡献?他们有过什么贡献来取得这个组委会资质的呢?也就是这个认证委员会的合法性问题,这就打破了上面所说的平等的地位和平衡的权力框架。也就是对于后加入的社区/个人/组织来说,完全没有了可能与初创成员有平等的地位。

那么问题来了,如果换成基金会呢,也是做同样的工作,是不是也是一样的?这就和基金会的定位有关了,如果是个中立的基金会,大公司是作为赞助商出现的,为了保证基金会的中立性会制定公开的契约,从契约上保证了公司对基金会的权力和义务。而认证的委员会也应该是由社区和公司共同推举产生,通过契约赋予其认证的权力,保障这个基金会是增加整个开源生态福祉。无论是Linux基金会,Apache基金会还是GNOME基金会,大公司在其中的作用、权力等都有明文限制,同时任何一种评选、认证和发布都有明确公开的方案、形式和规划以及流程,甚至连不是基金会的Google策划的Google Summer of Code都有非常明确而公开的流程方式等等。同时由于中立性和平等的地位,无论是先加入还是后加入,大家的权利地位是一致的,委员会是由基金会成员推举而出,并定期换届,他们要对其下所有成员负责,因此从客观上也保持了其中立性,而成员也看到通过贡献可以获得委员会的权力,因此会更大的积极性做出贡献,进而推动整个开源生态福祉的增加。

因此现在的“开源社”,既缺乏平权的公开契约,又没有平等的地位,更没有具有合法性的所谓认证委员会。现在他们做的所有这些都有一种高高在上的权威感和优越感,一种“嗟!来食!”的傲慢之气!所有这些显然是为其商业利益服务的,很多明眼人一看就明白是微软希望继续统领IT产业,争当盟主霸权的例证。微软,一个在从比尔盖茨开始就与开源为敌的公司,一个可以产出“万圣节文件”且至今没有解决这个问题的公司,怎么可能真的诚心发展开源?!虽然纳德拉当上新CEO,但显然其“爱Linux”也是出于赚钱和商业的需要,而说到底微软成立OpenTech就是想通过开源手段推广其Azure云平台而已,无论包裹了多么绚丽的外衣,其垄断嗜血本性依旧未改。

所以对微软来说,要想在开源界有个立足之地,请先多多做一些贡献吧,不要想着怎么空手套白狼。贡献和自由是对等的,与权力是也是对等的,想争取更多的权力就要做出更多的无私的贡献,而不是为自己服务(比如他们在2011年给Linux内核贡献代码,几乎全都是Hyper-V虚拟化的代码,因为这是Azure的底层架构所需)。总之一句话:但行好事,莫问前程!

目前加入的这些成员大多是与初创成员之间有裙带关系或个人关系,通过面子加入,我猜想很大一部分并不是真的看中其多么宏大的愿景,也不过是看中其可以带来的实际利益罢了,不是所谓的什么为中国开源贡献。其实,一个愿景越是宏大,其实现的可能就越低,而为了保证继续吹嘘这个愿景,继续维持这个虚幻的景象,就只能依靠——谎言。就如同纳粹德国和前苏联斯大林对其人民所做的那些一样。

简言之,开源社是以微软为首的几个初创成员借开源之名的市场行为,是一个商业利益联盟,是一个主要利益流向特定利益集团的逐利计划。并不是无差别的覆盖开源社区,也不能最终为整个开源生态带来福祉。也许这个过程中会有一些好的副作用产生,但远远无法掩盖其真实的目的。更不能真的推动开源在中国的发展。



11月4日 UPDATE:

关于此问题的其他回复,请见这个知乎问题:http://www.zhihu.com/question/25949844

有朋友看完文章已后,特别是对“开源社”的问题提出了两个见解:1. 现在的国情,需要有这么一个领导角色,统领中国的开源进程。2.这是微软为了进入政府采购而出的一步棋。

我先回答第二个问题:这是微软为了进入政府采购而出的一步棋。因为这个事情没有定论,看不出其明显动向,不能下这个结论,所以不能说微软被赶出政府采购而寄希望于用这么一个方法来重回。

关于第一个问题,现在的国情,需要有这么一个领导角色,统领中国的开源进程。其实有这样思维观念的人很多,甚至是社区里经验丰富的老人,也有这种思想!这就如同“需要一个领导,来带领中国革命”的红色恐怖表述一样,在我之前的几篇博文已经提出过,中国的开源社区发展之所以不行,很大程度是因为缺少公民自治能力。而公民自治能力需要两个前提,一是法治和契约精神,二是主人翁意识负责任态度。法治和契约精神这需要自上而下慢慢来,但个人主人翁负责任的态度和想法却需要每个人不断自我提高,这就如同台湾g0v.tw(零时政府)里说的“不要问‘为什么没有人做这做那’,首先要承认你就是‘没有人’”,我狠欣赏这句话的说法。期待明君圣主是中国人的劣根性之一,是不愿意对公共事务承担义务,“事不关己高高挂起”的冷漠,最终拱手将自己应该承担的义务和权利让渡给了一个组织。自己负起责任,自己组织和领导自己的社区,这才是应该学着做起来的,不要将希望寄托在某个人或者某个组织身上,不要将自己应尽的义务和相应的权利让渡给这个人或组织。若每个人都这么做,那么这个人或组织将会变得超乎想象的集权,并最终成为一个垄断集团,独裁一切,而最终这个苦果也要大家起来吞!

所以,放弃明君圣主的寄望吧,该踏踏实实回到现实中了,应该让每个社区成员都需要负起自己的责任,参加到开源的活动中来,贡献到开源中来,并最终推举(或选举)出一个领导者或者组织机构,自己的开源社区自己领导,最终按照这种去中心化的开源模式,组建起来的一定会是一个真正的开源社区联盟!