“您的产品能跟Apache,JBoss,Spring比么,是一个级别的东西么?他们的源代码都是放在网站上随便下载的,您的呢,还要填申请,还要加入 群,怎么这么多破事儿啊!您平台的开发工具用了Eclipse,IBM让您加入群或者填申请了么,Eclipse的源代码就放在IBM的网站上,随便用, 谁都可以下载。看好,这才叫开源!到了中国的开源为什么就会这样艰难呢?”
这位网友的言词很犀利,但他还是给我们留了一些余地没有把话说得那么明白。实际上这位网友的想说的不过是,你为什么要采用这样的开源模式?你到底想赚钱还是想开源?下面我针对这些问题逐一回答,如果我的理解有不当之处,也请各位网友提出自己的见解。
首先,优秀的开源项目是一个综合性的问题,它不仅包括技术与产品本身还包括:
1、 合理的推广模式,例如Rod Johnson在推出Spring之前已为Spring的思想打下了坚实的基础写了好几本J2EE的书,这种影响力甚至深远到很多人都排斥EJB,以及于Spring一推出就受到了很多人的关注。当然我用Spring只是举个例子,推广有很多种形式但什么形式更适合J-Hi呢?我们还在探索。
2、 及时、有效的服务支持,例如JBoss这是免费的也是开源的,但它有优质的服务。7*24小时全年无休的为使用者解决实际问题。当然服务还包括很多大量的文档、清晰易懂的视频、有针对象的用例程序、可参考的运行系统、现场的技术支持等等。由此可见,服务是一个复杂的工程,需要投入大量的人力、物力、财力。
3、 有自身生存的条件,纵观很多开源项目与开源组织有很好的产品但还是半路夭折了。例如opensymphony组织,可能大家不熟但他们的产品我想大家都知道:webwork、ognl、osworkflow、osCache。我们以webwork为例,它在Struts1.X时就与之争占市场,最终还是败下阵来,甚至Struts2只是在webwork内核之上披上了一层外衣。究其原因是什么,为什么opensymphony组织失去了生命力,我觉得最主要的原因还是来自于自身,没有最起码的生存条件作为基础。实际上开源项目面临最重要的问题就是生存问题。只要是开源的参与者,都有一颗关爱他人与他人分享成果的心。然而做一件事情并且要长期的坚持下去只有激情还是远远不够的,我一直认为只有吃饱肚子才能干开源,而吃饱肚子是生存的前提。
4、 有基金或资金的支持,强而用力的基金与资金的支持是开源很重要的因素,比如Apache背后有无数的大企业的捐赠与资助,而在中国我们没有这个条件。再说深一点,webwork卖给了apache,hibernate卖给了JBoss,起码这些产品卖出后还在继续开源继续维护,反过来看我们能卖给谁,即使是卖了还能再开源码?
总结上述几点可以看出,我们Apache,JBoss,Spring确实不能比不但不能比技术而且在所有的条件下都没法比。就是因为没法比所以我们也在探索一条适合中国国情的开源的路(采用这样的开源模式),我们从不否认自己的商业性,也不想否则。原因很简单,那就是生存,不过有一个论点我倒是想明确一下,我们不是为了想赚钱才开源,而是想开源必须要赚钱!
其次,开源项目是个长期的坚持不懈的过程,前一阵子流行一句话
“剩者为王”,那么如何才能成为“剩者”呢?一个开源项目如果要有长久的生命力,不是只靠一个团队或几个人事(几个人是做不过来这么多事情的),还要有推广(要有广告投入吧);要有服务(要有支持人员吧);要有收益(要支付人员工资吧)等等,真正的“剩者”就是能生存下来的人,如果生存都成为问题,何谈长期与坚持不懈呢?
最后,中国的开源不但需要大家的理解与支持,更需要大家的参与,有问题可以说出你的意见与解决方案,而不是批评与指责。如果真要这么说的话,那么我们已经把我们五年的劳动成果分享给大家,而您又为别人做了些什么呢?中国的开源以及中国开源所应采取的何种模式运作才算是合理?这是一道非常有深度的问题。我真心的希望大家在看到这篇文章后能发表一下自己的意见与建意。实质的问题的核心就是“在中国如何能在开源的前提下又能保证生存与发展”