开源ESB:Steed ESB 开发小记(一)

从发起国内首款开源ESB的召集帖到现在,转眼已经过去了一个多月了,期间忙忙碌碌的,虽然工作有了一些进展,但是并没有能够按照自己的规划完成相应的任务。期间我也在不断的思考,现在小记一下。

1 靠兴趣发起和维持的项目到底能坚持多久?

从发出召集帖到现在,一直有人不断的问我这个问题:你对Steed这个项目有多大的信心?靠兴趣发起和维持的项目到底能够坚持多久?

由个人发起的开源项目,不同于由开源组织发起的项目(如Apache),不同于由商业公司支持的开源项目,更不同于商业公司捐献的开源项目。无论是开源组织发起,还是商业公司支持,或是商业公司捐献的项目,项目组人员基本都是固定的,或者说一段时间内相对固定。公司或者开源组织全力扶持其进行开源项目的开发,其全部的工作基本就是搞开源产品的研发。因此其工作时间有一定的保证,可以全心全意的工作,而他的所有工作,就是做开源产品。

反观像Steed这类由个人或者私人团体发起的开源项目,项目组成员都是利用业余时间来搞产品研发,即使在一个相对短的时间内(如一周)都不一定能保证有时间来进行产品研发。比如工作中项目工期比较紧,个人有一些私事等等。

另外,开源社区或者商业公司支持的项目中的开发人员,在从事开源产品研发的时候,不用为工资担忧,因为他们的工作就是全心全意搞产品研发,会有人为其发薪水。而Steed的参与人员不一样,我们首先得完成各自公司的任务,只有这样我们才能“吃饱穿暖”,如果还剩余有精力,才会投入到开源产品的研发上来。没办法,这就是我们的真实情况,确实也是让人很无奈的现状。

虽然存在着种种困难,但是我认为这个项目会一直坚持下去,会按照RoadMap一点一点的发展下去。因为这是我们的兴趣所在,而我们之所以对其有兴趣,是因为我们都能认识到这个产品确实会对国内的ESB项目提供帮助,能够促进国内ESB社区的建设,能够带动更多的人深入到ESB产品的研发中来,同时能力会获取进一步的提升。

还是那句话:Steed没有失败,无论结果如何,我们都会有收获。

2 关于工作分工

这确实是一个很难的问题,从项目开始到现在一直困扰着我。虽然我在公司也带领团队进行ESB产品的研发,但是开源产品中遇到的问题,和公司里面遇到的问题确又有很大的不同。

比如在公司里面可以让合适的人做合适的工作,对SOAESB理解深的,可以做一些核心的开发工作,UI展现功底比较深的,可以做UI…………,但是在开源项目中,尤其是刚刚启动的开源项目中,除了通过mail给我的简历之外,我很难深入的了解每个人更适合于做什么工作。

在公司里遇到技术难度以后,我可以教给大家。但是开源项目……,我的精力实在也是有限。

3 如何保证产品的进度?

这是一个难度更加大的问题了,甚至当圈里的朋友每每问起我这个问题时,我通常会回答“我没办法保证项目的进度,我只能规划进度,如果不能按时完成,我只能延期”。

不能保证项目的进度,原因可以归纳为两点:

第一:项目组成员从事Steed ESB研发的时间不是完全可控的。

第二:项目组的一些成员以前并没有从事过ESB产品的研发,对某些应用到的技术理论不清楚,不明白,不会用其中涉及到的一些关键技术。这都得需要学习时间,而这个时间,确实也是不可控的。

4 如何选取项目组成员?

目前的情况是:有兴趣参与的人员给我发邮件,我会从中挑选一些我觉着更合适的人。

5 项目进行过程中遇到的困难

第一:人员问题

2月中旬到3月初的一个月的时间内,有大概20多人与我联系,希望能够参与到该项目的开发中来。我没有确定哪些人将会参与这个项目,因为我觉得那时大家都不是很忙(刚刚过年,大家的工作都还没有真正忙碌起来),我的计划是过一段时间,大家都“冷却”下来后再确定团队的最后人员。

第二:技术问题

很多人没有研发过ESB产品,会需要学习很多知识。虽然我这几年一直从事ESB的研发以及架构设计工作,但是我的精力毕竟有限,不一定有足够的经历帮助大家去解决每一个问题。

第三:现状

目前该项目的开发人员只有我一个人,并不是我不想此时让更多的人参与进来,也并不是人们不想参与,而是项目还没有完全铺开,即使很多人参与进来,可能并不能提高多少效率。我想我把一些关键点实现完之后,可以全面的铺开,也具备了更多人参与进来的条件。我每天都会在下班之后在该项目中投入2~5小时的经历,一点点的做吧。当然,我非常希望此时能够有经验人士参与进来,与我一起完成前期的工作。

 

 

对于上面的问题,如果大家有好的建议,可以与我联系:

Email:[email protected]

MSN:[email protected]

猜你喜欢

转载自boyingking.iteye.com/blog/364735
ESB