A framework to help you do growth hacking for your open source projects.
- 推动:如何推动项目维护者持续投入"技术人日"?
- 提效:如何自动化一些琐事,节约一些"技术人日"?
- 规划:给定有限的"技术人日"资源,应该做哪些事,以便(尽量)最大化收益?
- 风险管理:企业做开源的一个诉求是“别出事”、别带来负面影响(比如负面舆情,比如伤害品牌形象)。能否即时发现可能“出事”的风险事项?
为每个项目计算活跃度,排序,生成大盘。
除了活跃度,还有舆情 issue 大盘
大盘数据可以生成 excel:
也可以推送到 IM 群:
- IM 入群提示, 建议提问时先发 issue
- 用户艾特机器人,可以查看使用帮助
-
带着 issue 艾特机器人,机器人开始帮忙催 owner 回 issue
-
定时催促,直到回复了 issue
-
如果长时间不回复,舆情风险上升,机器人会在别的群里也催促 owner
issue 被 assign 后,在 IM 群中提醒当事人。
我们定义舆情 issue 有不同等级:
level | 标准 |
---|---|
1 | 有用户在群里贴出来 issue 、寻求解答 |
2 | 有用户在群里贴出来 issue 、寻求解答,但催促 owner 后仍未回复。 |
3 | 5 天没人回复的 issue |
4 | 30 天没人回复的 issue |
基于上述抽象,本工具提供了治理舆情 issue 的解决方案
定期找出长时间未回复的 issue,在大群中报警,通知项目维护者。
在大群报警之前,可以提前 1 天在小群友情提醒,更加人性化。
机器人会定期对所有开源项目进行“活跃度检查”,如果项目长期缺少维护、不处理舆情 issue,会被自动判定为“腐烂级”项目。
判定规则:
-
项目连续 4 周活跃度达不到 20
-
项目存在 30 天以上未回复的 issue
达到上述两个条件就定性为“腐烂级”项目,机器人会建议限期整改,否则归档。
整改期可以每隔 xx 天投诉升级、抄送主管。整改期过后如果仍未解决,将启动垃圾回收流程,对项目进行归档。
推动别人太麻烦了,交给机器人去做吧!
- 开周会前,自动询问当事人进展
- 写周报前,自动询问当事人进展
- 每周组织社区会议
- 集成进 github issues, 自动追踪已 assign 的高优先级 issue, 在 issue 下询问进度或者在 IM 内询问进度。
- 自动推广 good first issue,吸引贡献者
如果开启该功能,good first issue 必须满足一定的label 规范、命名规范, 详见 https://mosn.io/layotto/#/zh/development/label-spec
- 代码:仿照dingtalk.js编写自己的xxxim.js,然后把自己的xxxim.js在src/dao/im.js里面导入。在接口里面根据im的配置type在if分支里面调用自己写的接口。
if(group['type']==='dingtalk'){
return dingtalk.sendMarkdown(group,content,atUid,uidArr);
}else{
// 其他IM接入示例
return otherim.sendMarkdown(group,content,atUid,uidArr);
}
- 配置:在config.json里面填写im的type为自己的im类型。
"good-first-issue-notifier": {
"enable": true,
"channels": [
{
"type": "dingtalk",
"urls": [
"https://oapi.dingtalk.com/robot/send?access_token=66113ea1b10247d25149158fb4b765da6c3c57bddca2682215122cc205e2ac70"
],
"title": "goodFirstIssue认领",
"atUid": [],
"atAll": true
}
]
}
其他功能的用法见英文文档 ,暂未翻译。
见 issue 区