最近读到专栏作家Andrew Binstock在《软件开发时报》上发表的题为《开源的改头换面(The Changing Face of Open Source)》的评论员文章,感觉有点意思,大概摘译如下:
今天的开源编程几乎是商业性的,大部分的编码是由全职开发人员编写的,因为他们的雇主有兴趣对某个项目提供支持。譬如,今天JBoss的编码,只有百分之一不到的编码来自独立的开发人员,而Eclipse则更少。(饶有风趣的是,Eclipse Foundation的Mike Milinkovich说,独立的开发人员作为beta测试人员还是非常棒的)。
究其原因,首先是现在的项目复杂性越来越大,在庞大的编码库里找到能有所贡献之处,所做贡献又确有价值的过程越来越困难。即使象听上去很容易的事,譬如提供文档,所需要的工作量也是非志愿性社区所能及。
第二个也是重要的,开源项目商业化的原因,就是因为项目主管更愿意对开发人员有控制权,这样他们就能计划特定的功能以及发行日期,而不必等待志愿者提供所需编码了。
当然,商业化的效果有目共睹,譬如,与功能不全的AbiWord相比,你得到的是功能齐全的OpenOffice,与以前一些混杂的线程支持方法相比,你得到的是Linux kernel中企业级的线程支持。
但商业化也带来了其他一些的问题,其中很重要的问题是,在今天,大型的,草根级的开源项目怎样,或者是否还能,生存下去。研究表明,在目前,这并不乐观。在过去的几年内,大部分新的开源编码是商业公司贡献的现有编码。虽有类似Firefox 和Spring这样的项目日益红火,但相比之下,这些项目很小。
开源的商业化也解释了为什么一个公司当初希望通过开源化来改变产品效益不好的初衷并没有效果,因为他们所做的就是公开源代码而已 。
开源的商业化也意味着对产品而言,开源不再是个卖点,而价格,功能以及来自发行商处的支持才更具重要性。但想一下,这些东西不就是评估闭源的商业软件的同样标准么?