chaoss / grimoirelab

GrimoireLab: platform for software development analytics and insights
https://chaoss.github.io/grimoirelab/
GNU General Public License v3.0
471 stars 179 forks source link

Add Gitee Backend in Grimoirelab #496

Open shanchenqi opened 2 years ago

shanchenqi commented 2 years ago

Hello, everyone! We want to merge the grimoirelab-gitee(perceval, enrich) solution back to Grimirelab in CHAOSS, just as discussed in slack grimoirelab channel. In our previous solution, we made grimoirelab-gitee as a plugin. Now we plan to push it into main branch as one of backends. Instead of plugin solution, we will follow the current backend structure, avoiding legacy broken. We will first put perceval-gitee into the main branch and then enrich part into elk. @eyehwan and I will provide long-term maintenance work for it. In addition, the plugin solution can be used to incubate a new data source backend solution, just like what we have done for grimoirelab-gitee as an independent project in a separate github repo. When it's mature and stable enough(one-year incubation for example), we can consider merging it back to Grimoirelab. We can provide a detailed guideline for it.

So I would like to launch a discussion here and we could talk more about the details of this plan.@vchrombie,@sduenas, @dicortazar, @sgoggins, @GeorgLink Thanks!

GeorgLink commented 2 years ago

I love the idea and also appreciate that you will provide long-term maintenance for gitee support.

I'm not familiar with the maintainership side of GrimoireLab, so can only express my excitement for this but don't know about next steps.

sduenas commented 2 years ago

Thanks for reaching us back @shanchenqi and @eyehwan again. We will be happy to have gitee backend as part of the grimoirelab official distribution. However, I still think we need to define how to do it. My thoughts are going in a different direction of yours, though.

I think we should lightweight perceval/grimoirelab in terms of datasources supported. There are some bakends that are part of the core that don't have maintenance and I think nobody is using (askbot, rocketchat, ...). So, instead of adding I would like to move backends out of the core of the platform to other repositories. I'm not sure exactly how it should be.

I think the best option would be to start moving your perceval repository under CHAOSS organization. Then, you will have maintenance permissions and we will need the core people of GrimoireLab to have access to it too. What do you think about this approach?

Regarding the backend for the enricher, we would like to have plugins there too. I'm not sure if for your words you already have a solution in play. Can you explain more about this?

eyehwan commented 2 years ago

I think we should lightweight perceval/grimoirelab in terms of datasources supported. There are some bakends that are part of the core that don't have maintenance and I think nobody is using (askbot, rocketchat, ...). So, instead of adding I would like to move backends out of the core of the platform to other repositories. I'm not sure exactly how it should be.

@sduenas , actually we already have gitee perceval solution as a plugin in our own github repo: grimoirelab-perceval-gitee and have been using it for more than one year, which is stable. If you think plugin solution is good and I am fine with it. But it requires small code change in the grimoirelab, we can create pull request for it and let you guys review it.

Regarding the backend for the enricher, we would like to have plugins there too. I'm not sure if for your words you already have a solution in play. Can you explain more about this?

For the enrich part, we also have created an independent repo: grimoirelab-elk-gitee as you mentioned plugin solution. We can also move it in CHAOSS.

There are some bakends that are part of the core that don't have maintenance and I think nobody is using (askbot, rocketchat, ...).

I totally understand you concern. But as @shanchenqi and I mentioned above, we commit that we would provide long term support on it. In another hand, I have to say that in order to keep a software platform long term evolved, The Cathedral and the Bazaar can coexist in a harmony way. :)

In general, I agree with you that let's start from moving our perceval repository under CHAOSS organization. We will create pr from that part. What do you think?

shanchenqi commented 2 years ago

Hi,@sduenas! We have already moved perceval-gitee repository under CHAOSS organization as you suggested. Could you review code for us? Thanks for your help.

In next period, we will continue to move grimoirelab-elk-gitee to CHAOSS

eyehwan commented 2 years ago

@sduenas also could you please give us a name list who need access to this repo?

sduenas commented 2 years ago

Thanks @shanchenqi and @eyehwan for doing that. Happy to see the backend is under CHAOSS now. Ok, so the only permissions that I need is to add the GrimoireLab core team to it but I don't understand why I can't do it. As admin of CHAOSS I should be able to do it.

sduenas commented 2 years ago

Hi,@sduenas! We have already moved perceval-gitee repository under CHAOSS organization as you suggested. Could you review code for us? Thanks for your help.

Thanks! I'll be very glad to do it.

eyehwan commented 2 years ago

@sduenas I have given you admin access of this repo, you should be able to add core team now.

sduenas commented 2 years ago

Thanks! I already had permissions but I think I was doing something wrong. Thanks anyway!

shanchenqi commented 2 years ago

Hi, @sduenas. We added grimoirelab-elk-gitee plugin under chaoss in the repo https://github.com/chaoss/grimoirelab-elk-gitee. We also created a pull request #1062 for this solution. This PR added an endpoint in order to support the plugin mechanism. By this way, other data source backend can also be added without changing grimoirelab-elk connectors themselves.

eyehwan commented 2 years ago

@sduenas until now, we have moved main part of gitee solution(perceval+elk) as plugin solution to Grimoirelab, let me know your suggestions in the next step.

Thanks.