X-lab2017 / open-digger

Open source analysis tools
https://open-digger.cn
Apache License 2.0
280 stars 78 forks source link

[讨论] 有些疑问之处希望与大佬们交流 #1570

Closed binary5 closed 1 month ago

binary5 commented 1 month ago

Description

  1. 一些小型的开源商业公司似乎更关心从社区中汲取需求点来完善产品,对于开源社区治理与社区活跃不怎么关心。这似乎说明开源评估的适用性有些窄——大部分开源企业都是盈利优先的,开源社区维护的好不会促进盈利能力。如何看待这种情况呢?
  2. 如果我想对OpenRank做一些自定义修改——改一下涉及到边权的指标和权重,只是自己使用。在openrank-neo4j-gds是否能做到这一点呢?看概述有点看不出来。
  3. 想使用一种新指标:“bug类issue处理时长”,如果容易做的话我可以自己试着实现。
frank-zsy commented 1 month ago

说一点我的个人看法:

1、开源有不同的层次,本质上作为一种开放边界的跨组织的协作方式,开源的范围和功效也是不同的,形态并不完全一样。仅仅是作为快速收集和响应用户反馈也是一个重要的功效,相较于传统的通过邮箱、电话来收集反馈的方式而言已经有了效率上的巨大提升。而如果后续用户在使用的过程中,除了反馈也可以进一步帮助做一些改进工作,自然是更好的,但这件事在没有有效激励的情况下并不是一个必选项。但即便如此,开源评估作为一种观测手段,对于社区之间的横向比较和社区自身的发展趋势的观察还是有意义的。

2、openrank-neo4j-gds 插件是基于 Neo4j 图数据库的底层插件类库,是 OpenRank 算法的在数学上的 Pregel 并行计算框架下的通用实现,而并非针对开源场景的。OpenRank 在开源中有两个应用方向,一个是基于全域开发网络的仓库、开发者评价( https://github.com/X-lab2017/open-digger/blob/master/src/cron/tasks/global_openrank.ts ),一个是基于单仓协作网络的贡献度评估( https://github.com/X-lab2017/open-digger/blob/master/src/cron/tasks/community_openrank.ts ),这两个的实现均在定时任务中。如果想做一些参数改进的话,可以看一下这两个任务的代码。前者由于是百万级节点的图,必须使用 Neo4j,而后者是本地矩阵代数运算和 Neo4j 运算混合使用的,根据社区规模使用不同的计算方法以达到效率最大化。

3、这个在 #1567 我说明了一下,理论上是可以实现的,在目前 Issue 解决周期( https://github.com/X-lab2017/open-digger/blob/master/src/metrics/chaoss.ts#L292 )的指标基础上,在查询时通过 Issue Label 或 Title 等添加一些过滤条件即可,有兴趣的话可以考虑尝试实现一下。

binary5 commented 1 month ago

感谢解答!