开发者社区从何而来

开源(open source)很火,开源软件公司融资也很火。所以很多公司,很多人,都想赶个潮流搞“开源”。而“开源”离不开“社区”。那么,什么又是开源社区呢?

开源社区,是由围绕着开源软件项目而聚集的技术人员所组成的。这些技术人员依据开源的准则行事,共同将这个开源项目发展壮大。为了促进社区的健康发展,我们需要制定一系列的开源流程,或者遵循开源的最佳实践。

我以前就是这么认为的,但我渐渐发现我可能是搞反了。开源项目与开源社区,究竟谁先谁后?这可能是开发者社区运营中最重要的“元问题”。

按之前大多数人的思路,首先有一个开源项目,然后项目团队围绕这个项目本身开始做文章。技术的先进性,开发过程的开放性,活动的丰富性等等。经过一番努力,项目团队构建起了一个以此项目为基石的社区。项目团队为项目发展作出的努力固然值得尊敬,但社区是他们建立起来的吗?

我现在倾向于认为,开发者社区是伴随 IT 行业出现的自然产物。社区的源头是出现了软件开发者这样的高度专业化人群,而不是具体的某一个软件项目。

软件开发者不同于医生,律师,机械工程师这些专业人士,因为软件本身是虚拟的,不受限于时间和地点。因此软件开发者能够更容易的展开协作。注意,我说的是工作上的协作,而不是学术上的交流。比如,上海和北京的两个软件开发人员可以隔着上千公里一起写同一个软件项目。但相隔千里的医生或者律师,在目前的技术条件下就比较难以共同合作了。因此程序员之间可以发展出“开源”这样的行事准则,以支撑软件开发中的开放式合作。所以说开源社区从属于开发者社区,它来自于开发者本身,而不是某个具体的项目。

那么如何理解开源软件与社区之间的关系?我不认为应该把某个开源软件当作是社区的基石。某个开源软件更像是一个有趣的“游乐场”,吸引了社区中的程序员。如果程序员从中获得了乐趣,那么会有更多人愿意来这个“游乐场”。

从这个角度来看,开源软件的项目团队需要好好思考与社区之间的关系。创造开发者社区,掌控开发者社区,这些都是常见的迷惑性思维。开发者社区常在,而项目不常在。项目团队应该把心思放在做好自己的项目,保持“游乐场”的趣味性上。

这便是对开发者社区最大的尊重。

3 评论

已关闭评论。