开源的麻烦

对我来说,应该没有人会怀疑我对于开源的热爱和执着已经贡献,所以我也就有机会说一些开源的问题,而根本就不需要考虑政治正确与否的问题。不过我还是要强调一下,如果没有我这个背景,大家还是要小心一点,免得被口水淹死。

作为一个开源的推荐者和推进者,我也经常遇到麻烦,特别是用的越多,就越是觉得有必要就许多问题专门的研究一下。今天我就说一个问题,希望有类似遭遇的朋友探讨一下。

当你在项目中,特别是商业项目中准备引入开源项目的时候,大家往往会遇到一个问题————版本和与之相关的维护与升级的问题。这个问题很复杂,也很微妙。很多人,很多时候,对这个问题的困扰,都普遍性的存在。具体的开源项目我就不举了,免得引来太多的争吵。

大家都知道很多开源项目与之关联的都有一个背后的开源社区。而你的项目和这个社区的关系就变得很关键。另外这个开源社区的构成也很重要。特别是对于你的项目来说,有一个类似Linus这样的仁慈的独裁者是非常重要的事情。

回到具体的层面,开源项目的升级规划,以及升级的步调,对你来说也是很重要的。另外很多时候你还需要关注一下一个开源项目产生的若干分支的发展。进一步,很可能你还需要在必要的时候对自己的项目进行分支,也需要对自己应用到的开源的部分进行开源项目的分支。而更加微妙的是有个别的时候,你需要对几个相关的分支作统合的处理,以至于这些分支本身就是有内在矛盾的时候。而当你使用一个开源项目已经很久的时候,是否向其提供代码也会变得很微妙。当然省时和省事的办法是自己搞一个分支,自己作开源的维护者。但是这样作的问题无疑也是很多。

当然这些麻烦是前进中的困扰,并不能真正的构成拒绝开源的理由。不过确实这些事情至少现在还是比较难于找到合适的解决方法的。然而到了今天这一步,这些问题必将在开源的发展中得到解决。对于我来说,开始的时候我提倡使用开源,到前一个阶段我主张有机地引入开源的某些部分,到今天我提倡把自己的项目开源出去,都是随着不同的问题的出现,逐步想前走的。特别是今天,在我们面临这些问题的时候,我觉得利用和主导开源社区,对一个需要长期维护和使用的项目来说,是必要的。

猜你喜欢

转载自ozzzzzz.iteye.com/blog/1909190
今日推荐