很多人是从Git那里听说,源代码还有分布式管理的概念的。当然说起来支持分布式的工具也真不少,比如mercurial就很是惹眼(OpenJDK你听说过吧)。咋一下子冒出这么多呢?
开源项目大概对这个潮流有个促进作用,因为很多时候,松散的团队,个人独自开发,采用一个集中式的管理方式显然不适合。
另外个人solo式的开发,逐步开始注重源代码管理,以及集成和测试的支持,也是一个促进的因素。
还有就是移动办公,也刺激了分布式的趋势。显然你坐在火车上用笔记本开发,如果搞一个cvs或者svn,肯定没有用mercurial方便。
而且小的创业团队,在国外很多,特别是学生和自由程序员很多,他们更加没有cvs或者svn的情感约束。
而且很多人习惯使用Email做交流,而众多此类型的工具,对使用Email做具有源代码版本管理功能的提交和发布,都很简便。这也是一个大的背景。
说了这么多,其实我们可以看出这其实当表了一种潮流——组织更加多元化,松散和集中双向支持,更加强调简便直观。而显然一个新手从mercurial入门,会比用cvs和svn更加适合。这也是一个潮流——新人众多,并且地域分布广泛,并且他们更加愿意利用互联网建立团队,从而打破地域的限制。
另外还有一个趋势,那就是配置管理已经从专业团队专用而复杂的昂贵用品,成为一种普遍存在的简便小玩具。当然玩具这个词其实不确切,因为虽然他们功能简单,但是足够用,至少可以满足生产环境的绝大多数场景。
我估计下一步就是会出现很多项目管理的玩具,比如出现一个代替Trac的小东西。可以在随便一个台式机下运行,可以通过Email和邮件列表,或者新闻组互相联系,进行协同。
如果真能如此,好戏就该开始了。
开源项目大概对这个潮流有个促进作用,因为很多时候,松散的团队,个人独自开发,采用一个集中式的管理方式显然不适合。
另外个人solo式的开发,逐步开始注重源代码管理,以及集成和测试的支持,也是一个促进的因素。
还有就是移动办公,也刺激了分布式的趋势。显然你坐在火车上用笔记本开发,如果搞一个cvs或者svn,肯定没有用mercurial方便。
而且小的创业团队,在国外很多,特别是学生和自由程序员很多,他们更加没有cvs或者svn的情感约束。
而且很多人习惯使用Email做交流,而众多此类型的工具,对使用Email做具有源代码版本管理功能的提交和发布,都很简便。这也是一个大的背景。
说了这么多,其实我们可以看出这其实当表了一种潮流——组织更加多元化,松散和集中双向支持,更加强调简便直观。而显然一个新手从mercurial入门,会比用cvs和svn更加适合。这也是一个潮流——新人众多,并且地域分布广泛,并且他们更加愿意利用互联网建立团队,从而打破地域的限制。
另外还有一个趋势,那就是配置管理已经从专业团队专用而复杂的昂贵用品,成为一种普遍存在的简便小玩具。当然玩具这个词其实不确切,因为虽然他们功能简单,但是足够用,至少可以满足生产环境的绝大多数场景。
我估计下一步就是会出现很多项目管理的玩具,比如出现一个代替Trac的小东西。可以在随便一个台式机下运行,可以通过Email和邮件列表,或者新闻组互相联系,进行协同。
如果真能如此,好戏就该开始了。