国产开源项目的七宗罪(转)

现在国际上软件开源的潮流已经越来越趋明显,几乎可断言成势不可挡。

通常情况下人们之所以会青睐于开源项目,大体就在于开源项目具有以下七大优点:1、安全  2、可靠性/稳定性 3、开放标准和摆脱供应商依赖 4、减少对软件进口的依赖 5、增强自身的软件能力  6、杜绝盗版,遵守知识产权条约和世贸组织规定 7、软件本地化

然而令人万分遗憾的是,与国际上开源社区的火热相比,国内的开源项目就显得有些寂寞冷清,甚至于李开复先生对此都颇有微词。当然形成这一状况的原因是多方面的,并不是一两句就能解释清的。所以在此我抛除社会客观影响不提,单就国人开源人的主观情况作些浅薄至极的“臆测”,取名为《国产开源项目的七宗罪》

1、七宗罪之 —“贪食”(Gluttony):圣经中说:“这些狗贪食,不知饱足。这些牧人不能明白,各人偏行己路,各从各方求自己的利益。”

大多数人可能或多或少都有这样的刻板印象,那就是每每认为举凡国产开源项目大多动机不纯,只是把“开源”这面大旗作为谋求自己私利的手段和垫脚石。

譬如某些不入流的空壳公司,把一些无法盈利的旧项目代码重新整合后公开源码,就称其为企业级开源项目;连license都没有规定,就声称自己已经正式开源了。又譬如某些小作坊,号召那么三、四个人,武装七八条“枪”,从网络上搜索些废弃项目的源码,改头换面到连异常都用中文字符显示,就说自己成功组建开源团队了,就可以合情合理的接受分VIP会员及接受募捐了。

诚然搞开源不是那么轻松的事情,吃饭都有问题,谈开源,大家又不都是雷锋——况且即使都是雷锋,也是要吃饭穿衣居家过日子的,没钱当然不行。可问题就在于凡事都有个限度,所谓“过犹不及”,用吃饭举个例子:若你是个170多斤的大小伙子,精力充沛运动又足,一顿连吃几大碗米饭别人也没什么好非议;可如果你是三五岁的娃娃,连咀嚼功能都没发育完全,却偏偏要独吞整桌的满汉全席,眼见绝大多数的食物都会被这娃娃浪费掉,当然会引起旁人的不满与争议。

开源项目也是一样,大多数人反对国人开源项目,并不是仇视国货,而是仇视本就有限的资金被“狗吃了”,加之我们中国又偏偏盛产“汉芯”或“智慧星杀毒软件”、“十进制网络专家”等“神物”,闹得如今我们对国货“哀其不幸,怒其不争”,自然而然的也对所有打着国产开源名义的事物都“另眼看待”,而国人开源项目也不知悔改,依旧我行我素,可惜到现在还是“贪多”却始终“嚼不烂”,说到底还是“贪食”之罪了。


2、七宗罪之 —“贪婪”(Greed):圣经中说:“贪婪就与拜偶像一样。贪婪,就是我们把物质金钱放在最重要的地位上,他所拜的就是物质金钱,这同拜偶像一模一样。”

贪婪从本质上说并不能算是坏事,最多也只能算是人类共有的劣根性。他是人类最基本的几种欲望之一,从某种角度上说,没有贪婪,也就没有人类如今的进步。正是由于渴望更多的占有,渴望更多的利益,人类才会一直进化到如今。如果没有贪婪的欲望,不要说发明计算机,恐怕在现代人类是否掌握了绳结记事都是未知数。

但在很多的国人开源项目中,贪婪的意义却产生了反面作用。例如很多国人开源项目,为了和我们祖国的建设一样“多快好省,又好又快”,大量修改使用其他同类项目的源代码,却又不注明出处,不遵守他人项目的license;就好比《天龙八部》中的神山上人,自身根基不弱,虽然悟性超凡几可与鸠摩智互争短长,但他身为清凉寺主持却不能一心一意发扬本门武学,偏偏要到少林寺去偷学武功,光是如鸠摩智、慕容博等人偷学也倒罢了,好歹也有个“求学之心”,却又非想给武功换个名头、改个外貌,当成自己清凉寺的绝学发扬广大,奠定自己“宗师”的领导地位,那就难免会令人不齿,让人唾弃了。至于生托硬拽代码,连表面功夫都不作就照抄的,更是犹如恒河沙数不胜枚举。

什么是当今国产开源项目所面临的最大挑战?不是国人的非议,不是那些成熟的第三方开源组件,更不是经费不足,而是不尊重知识产权的盗版行为。盗版不利于我们的科技进步,更不利于开源事业的发展,人人都想着不劳而获,人人就都会因贪婪而一无所获。尊重license,可以得到所有人的尊重。因此请注意,如果你要抄袭别人代码,请为他们保留版权说明,搞汉芯还需请个工人帮忙磨商标呢,别什么都是你做的。贪婪虽非大罪,但却要有理有节。

3、七宗罪之 — 懒惰(Sloth):圣经中说:“懒惰使人沉睡;懈怠的人,必受饥饿。”

懒惰,就如同勤劳一样,是每个人或多或少的拥有,却又不会时常体现的品质。中国人虽自古就明白“业精于勤,荒于嬉,行成于思,毁于随”这一浅显的道理,但这几千年来能够遵守的人却凤毛麟角,少之又少。

在开源项目中我们提到懒惰,不是在说lazy机制,对于数据上的滞取可以减少数据库压力,避免不必要的资源浪费,是很有意义的;我们所不满的是很多国人项目的惰性。比如在sourceforge上,其实from china的项目并不是很少,但是,真正能坚持做下去的却是凤毛麟角,很多国人项目往往只是写个开头,发个一两版,甚至只是申请下项目连程序都不发就看不到人了。还有能真正做好文档支持的,更是“上穷碧落下黄泉,两处茫茫皆不见”。

我们大家都需要强化一个概念。所谓开源项目,绝不等同于我们在公司所作的。公司的项目通常是计划式,以直接利益为目的,如果公司破产或业务改变那么项目就可能会取消。而开源项目可就不一定了,很多项目都是由爱好者发起维护的,可人会突然出现,更可能会突然夭折。你要准备好即使你离开,这个项目也会继续,一个项目的发展目的不仅仅是为了你个人,这就需要我们做好多方面的准备工作,仅仅有兴趣,而没有恒心是要不得的,态度上的懒惰是一切开发者的大敌,对于开源项目更是从不例外。懒惰只能体现在编程思想上,而绝不要带到开发过程中。

4、七宗罪之 — 淫欲(Lust):圣经中说:“你们听见有话说,不可奸淫。只是我告诉你们,凡看见妇女就动淫念的,这人心里已经与他犯奸淫了。”

淫欲,用这个词可能有些暧昧,我习惯上更愿意解释为佛洛伊德所说的“力比多”(Libiduo),也就是包含性欲的一切身体器官快感。按照精神分析的理论,人生也本能,而死也本能,生的本能主要就体现在“力比多”之上。

根据佛洛伊德的理论,人有时之所以会压抑不住的想要去自慰、都是在“力比多”的趋势之下的本能反应,是常人都会有的生理行为,并没有什么好丢人的。

但到了很多国人开源项目里,就变成了“假、大、空”的阿Q精神胜利法,变成了“夜郎自大”式的意淫,一会说自己多么的符合MDA,一会又说自己即pragmatic又kickstart,好像天地间所有的好处自己的项目便都占据了,好像世界之所以要发展到今天便只是为了自己出生罢了。实际上,在大多数人眼中这种做法和青春期孩子的频繁手淫没有任何区别,只是在单纯发泄自己的本能欲望,虽说在眼球经济的当下宣传是必不可少的手段之一,但是过度的夸大宣传却只能起到反作用。小孩子什么时候长大了,真的能够“御女无数”时,恐怕便不会到处宣扬自己的“光辉战史”了。一味意淫,宽大自己所谓的“伟大事业”,正是中国开源人需要引以为戒的淫欲之罪。

5、七宗罪之 — 嫉妒(Envy):圣经中说:“凡有的,还要加给他叫他多余。没有的,连他所有的也要夺过来。”

“凡有的,还要加给他叫他多余。没有的,连他所有的也要夺过来。”这句话说得好啊,说出了绝大多数人嫉妒的原因。

相声中解释“抱负”时,说“抱负的含义就在于,谁对我不好,我就‘报复’谁”。嫉妒也同样的,谁有我没有的,我就要嫉妒谁,这就是嫉妒。童话中狐狸说吃不到的葡萄是酸的,王开源先生抗议微软垄断的行为,乃至我写这篇博文,都有可能会被归结为嫉妒。

嫉妒是因为“不具有”,但嫉妒了又能怎么样呢?没本事的,只能在心里默默的怨恨命运的不公,最多和友人发些许牢骚;有些笔耕手段的,便会到处散播不利于自己嫉妒对象的文章,将他所占有的那些彻底抹黑,有机会再趁机捞些好处;若是再有些真假本领的“高手”,则会干脆一招把自己的对手打倒或吓倒在地,将他的所有彻底盘剥,临走还不忘了给对方加上“废物”、“垃圾”的“商品标识”。

所谓“同行是冤家”,文人相轻,程序员同样也相轻。别人代码错了固然难逃“垃圾”的“美誉”,即使写好了,针对于国产开源项目的现状,也很可能会被看都不看的无厘头般一骂了之,这不只发生在开源项目与程序员大众之间,更有可能发生在开源项目与开源项目之间。例如可能会有这种情况,某A建了个看似很牛X的程序员博客或论坛,某B开源在上面写点什么,若有意或无意的触犯了某A的“大师利益”,竟然有被某A删除封号的危险,这实在是不敢恭维的一种“中国特色”了。我倒不是在说中国程序员怎么样了,而是在强调做人还是客观些好。嫉妒,归根结底只是因为不能满足自己的需要;而满足自己的需要,却不能凭借于嫉妒。

6、七宗罪之 — 愤怒(Wrath):圣经中说:“暴怒的人,必受刑罚,你若救他,必须再救。”

西方文化习惯于个人英雄主义,而个人英雄主义有一个特点就是领导人物容易被一时的好恶所左右,而影响自己的判断与行动。在能够影响决策的几大情绪之中,愤怒显然是占了首位的,不然欧洲也不会流传下“阿基琉斯的愤怒”这句谚语。

诚然我们都不是人神混血的“英雄”,也可能没有阿基琉斯那种为了红颜、为了朋友而冲冠一怒杀敌万骑的勇气及能力。但是“愤怒”却是我们活着的人都经历过和还要继续经历的重要感情因素。也许有人能一辈子都没有爱过,却很少有人能一辈子都没有愤怒过。

让人对任何事情,任何行为都不生气,不动怒是不可能的,但是福音中却说“暴怒的人,必受刑罚,你若救他,必须再救。”,这即是从神格而不是人格的角度在要求人,也是在说明举凡愤怒的行为就一定会有所代价。

对于现阶段的国产开源项目,虽然也偶尔会有褒扬的声音存在,但更多的却是批评与牢骚。这就给愤怒的产生提供了营养液,而这个愤怒来自于两个方面,一是开源项目参与者的,二是对这些项目进行批评者的。

首先,参与开源项目的人会认为自己付出了,自己努力了,却没有人来理解,反而有这么多凉水泼头,那些只会死记硬背API,离开国外第三方组件恨不得就活不下去的人有什么资格说我?他们自己写得了吗?不平、感叹、无奈、悲伤最终将凝聚成开源者的愤怒。

其次,对于大多数程序员来说,并不关心使用什么组件,而更多的是关心使用这套组件的稳定性、安全性、通用性及文档支持等方面乃至公司要求等方面,大多数国人开源项目对他们来说并没有使用的可能性及必要,而且基于团队规模、开发时间及测试程度等多方面原因,国人开源项目的平均水平也确实偏低,为什么就不允许其他人说呢?你们做出这样的垃圾有什么不让人说的资本?我们只是不愿意重复发明轮子罢了,要写的话比你们强得多!专业精神促使很多程序员对国人开源项目失望,这失望直接导致了愤怒。

两股愤怒的交融点,势必形成对抗。但这对抗,却实在是毫无意义的。用什么技术,采取什么框架,说到底也只是程序员内部的事情,最多也就是个“名实之争”,与我们的最终服务对象——用户,根本没有任何瓜葛。这种愤怒,我看还是都少些的好。


7、七宗罪之 — 傲慢(Pride):圣经中说:“傲慢来,羞辱也来;谦卑的人却有智慧。”


古语有云:“生而富者骄,生而贵者傲。生富贵而能不骄傲者,未之有也。”,傲慢来自于态度,更来源于人的社会地位。

在国内,哪怕是科级干部的子女,也会比普通工人家的子女有好的太多的受教育及深造机会。出身,一直以来就是决定中国人一生命运的几大非可逆因素之一。

在开源项目中也同样,比如你是北航计算机本科毕业,可能便会想当然的看不起其他学校的专科生参与的开源项目,而令一个混到中科院软件工程硕士的,也很可能反过来瞧不起你这个本科,那些从海外回游的“海龟”们,大体上恐怕也不能免俗。我们可以发现,很多开源团队都愿意将自己团队较高成员的学历,而不是将做过的项目写在成员简介的第一行,只有在此项不足以炫耀时,才会“顾左右而言他”的用别的什么替代。学历、证书、从业资历等等和开源项目没有直接关系的事物,却成为了影响一个开源项目好坏评价的重要标准。

更有甚者,将第三方框架二次封装,在项目名加上个around、side之类的后缀,便当作多么了不得的成就,得意洋洋的发布出来,就敢自诩老子天下第一,这实在是狂傲的很了。我实不知这类项目应算作什么,若算作自主开发的新项目吧,离开原框架便无法运行,原框架出现什么新特性,改个什么api,他们不改这项目便算彻底over;若算作组件增强包吧,那就是说明原框架还有不足,可他们又不给原项目贡献修改代码,而是一味的扩展自己项目,我就不明白了,难道改进汽车引擎的任务,还比上给汽车后面多装个牛车去推的工作有意义吗?这种工作也算自己所宣称的那么有意义吗?

“虚心使人进步,骄傲使人落后”,人常言而人常忘之。这实在不是还在发展阶段的中国开源人应有的处事态度。


以上,就是我对中国开源项目"七宗罪"的粗劣点评,实难登大雅之堂,仅供诸位看官一笑而已.


你可能感兴趣的:(人生路漫漫,框架,工作,杀毒软件,文档,api,网络)