我已经从事.Net平台的开源工作五年有余。最近跟朋友的聊天让我不禁回望.Net开源的这五年。
五年前的2004年,.Net 1.1在当时是个热门,开源被认为是对微软的巨大威胁,Steve Balmer 也极力反对任何出现的开源。那时候对.NET平台开源的要求和呼声渐高。
我记得在2005年的时候找工作,当时我已经在开源项目上工作了一年多,我的项目Rhino Mocks在.NET TDD社区也稳定发展,然而这些经历在工作面试时根本不起作用,因为那个时间开源并不广泛。
过去的五年.NET系统在开源领域的发展很有意思。开源工具、平台和框架不再是稀有、奇怪的东西,而是越来越普通了。以下的几点可以证明我的观点:
1,关于开源的书籍出版的越来越普遍;
2,微软做了许多来促进.Net平台的开源;
3,NHibernate的下载每月超过1万,经常是每月接近或者超过两万;
4,两周前我发布了Windsor 2.0,至今超过1200个下载;
5,NHibernate用户发来的邮件每月超过1000封。
6,我的NHibernate讲座售罄,只能再做copy。
从我作为社区的一员和咨询师的经历来看,开源的使用也已经越来越频繁,许多项目要求使用开源工具和平台。开源发展到现在有许多原因,我想不可忽视的一点是它的成熟。.NET的开源项目已经有些年头了:NHibernate 是6岁,Castle是5岁,Rhino Mocks是4岁。而且微软每隔两年也会更新升级版本,这些都促进了.Net平台在开源上的发展。
目前开源已经成为理想的有时候甚至是必要的技术。最近我跟一各客户签约,它的技术要求是如果开源他们的软件以及如何管理一个好的开源项目。另一个客户要求所有的架构都开源,包括最新开发的,因为他们做的是基础级别的开发。基础结构的代码很难做到特立独行,索性不如开源。而且开源后有很多利好,可以接受外部的建议和贡献,从而节省开发时间和成本。
尽管目前开源的发展还远不到鼎盛时期,但从目前来看,我认为前景无限。
【编辑推荐】