项目开源之后那学要进行哪些维护和服务?

兔子   2015-02-06 15:00:05
比如有哪些工具可以代为管理?
另外,还有哪些渠道和方式可以招募用户或者招募支援参与项目的朋友?
回贴
沙发
2015-02-06 15:00:32    兔子

Emily Chen:


开放源代码是开源产品的第一步,对于开源产品来说,一个良好健康的社区是比产品更重要。 社区重于代码。 成功的开源项目都是相似的,而失败的开源项目各有各的问题。 目前我们看到具有影响力和成功的开源项目,无一例外都有一个活跃的社区。一个良好的开源项目在社区里要作的工作非常多。

一, 从开源项目基础架构来看, 以下是必须具备的

- 代码托管

- bug管理系统 / 流行的系统如果bugzilla,ticket等

- wiki

- 详尽的文档

- 邮件列表

- 社区即时沟通工具/ IRC 或QQ群

- 论坛

二, 从开源社区治理的角度来看

1) 让更多人能参与的公开透明的决策机制

基于公司的开源产品最容易陷入的一个困局也是大忌,开源是开源了,但是在这个开源项目里面的玩家,只有自己人。而一个真正成熟,经得起考验的开源项目一定是有一个健康的生态圈,里面大大小小玩家和参与者越丰富,这个开源产品才越有生命力。 如何让更多的公司,社区里更多的开发者参与进来? 公开透明的决策机制非常重要。 具体来说,社区里的开发者修复了一个bug或引入了一个新的feature, 他的代码如何被主项目所接受? 被接受的标准和流程是如何的? 这个开源产品的发展方向是由该公司来决定还是由社区来影响的? 这些都是非常重要的问题。


拿我曾经工作过的SUN公司来举例: Sun在2000年6月19日宣布它将开放StarOffice的源代码,因此也就有了OpenOffice.org。在Sun的管理下,OpenOffice.org项目社区并不活跃,也没有多少社区成员参与到项目的决策中来,大部分决定都是在Sun公司内部做出的,因此OpenOffice.org的进展总是很慢。众所周知,它的代码总是显得很神秘,本来可以通过一个框架进行扩展的,Sun偏偏要自己重写代码实现。尽管取得了一些改进,但其界面仍然不一致。

再谈一谈我亲身经历过的OpenSolaris社区, 从2007年Solaris开源成为OpenSolaris,到2010年OpenSolaris退出舞台,我作为SUN的员工见证了整个繁荣和消亡的历程。 我意识到里面最大的一个问题就是, OpenSolaris整个社区,80%是SUN公司自己的员工在参与。参加Solaris的各种会议,80%是SUN的员工。在邮件列表里, 回答问题的都是SUN的工程师。 核心的模块负责人,清一色是SUN的工程师。OpenSolaris社区评Contributor Award奖的时候最有意思,SUN公司的员工们相互提名自己的同事。 所以当SUN公司被收购时, 昔日庞大的OpenSolaris社区一夜之间变成空城。

2) 社区的治理

代码是重要的,但是社区更重于代码。

2.1 快速规律的发行周期

大到操纵系统,一般半年发布一次。 小的产品,快速迭代周期可到1个月,甚至一周发布一次。规律的发布周期可以让社区的开发者们有规律地参与开发活动,制定开发计划。 对开源项目的消费者,尤其是公司来说, 方便他们选择稳定的版本来跟自己的产品集成。

看看成熟的开源项目的发行周期:

GNOME - 保持6个月一次的的发行周期。 顺便说一句,GNOME的release是专门有一个release team, 而且该小组的成员来自各个公司。

Firefox - 既有一年一次的Firefox ESR (Extended Support Release), 也有以6周为单位的快速release产品周期。

Ubuntu Linux - 6个月一次的release周期

制定一个规律的发行周期,对于开源一款产品来说,是脉搏。

2.2 社区的推广活动

活动分为线上线下,大致可分为以下几类

线上: IRC讨论会, 有奖活动,线上大赛,社交媒体,Bug fix 周, TestDay等

线下: 校园行, 沙龙,讲座,培训, 大规模会议, 小型聚会,用户组活动, 黑客松,黑客周,开源大使等



推广活动又可对不同人群有针对性:
开发者: 黑客松,编程夏令营, 开发者Summit,黑客周
用户: 创办用户组活动, 沙龙,培训
学生: 校园讲座,有奖大赛,开源大使
合作商: 大规模会议, 产品发布,特定合作项目等

开源社区的活力源泉就是1+1 >2. 开源一款产品,不仅仅是代码的开放,比代码开放更重要的是: 开放的社区,透明完善的制度, 多方的参与,从而构建健康的开源产品生态环境。

沪ICP备15046442号
蝉知1.6