🌱 Maintained Check: New probe: Do maintainers respond to public bug and security issues?#4867
🌱 Maintained Check: New probe: Do maintainers respond to public bug and security issues?#4867
Conversation
Signed-off-by: Adam Korczynski <adam@adalogics.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4867 +/- ##
==========================================
+ Coverage 66.80% 69.46% +2.66%
==========================================
Files 230 256 +26
Lines 16602 16400 -202
==========================================
+ Hits 11091 11393 +302
+ Misses 4808 4116 -692
- Partials 703 891 +188 🚀 New features to boost your workflow:
|
Signed-off-by: Adam Korczynski <adam@adalogics.com>
Signed-off-by: Adam Korczynski <adam@adalogics.com>
Signed-off-by: Adam Korczynski <adam@adalogics.com>
Signed-off-by: Adam Korczynski <adam@adalogics.com>
Signed-off-by: Adam Korczynski <adam@adalogics.com>
This seems like a small tweak based on the existing Is this significant enough to warrant its own check vs. evaluating tweaking the existing |
|
Another comment brought up during today's community meeting:
|
Thank you for the feedback. This is taken into account in the current version: From what I have found, those are by far the most popular ones, however, it will be very easy to include more label names. |
|
This pull request has been marked stale because it has been open for 10 days with no activity |
IMO, this should definitely fit in the scorecard/checks/evaluation/maintained.go Lines 97 to 100 in 525a930 |
|
This pull request has been marked stale because it has been open for 10 days with no activity |
|
This pull request has been marked stale because it has been open for 10 days with no activity |
Signed-off-by: Adam Korczynski <adam@adalogics.com>
What kind of change does this PR introduce?
New probe
This PR adds new probes to the Maintained check that assess whether a project's maintainers respond respond to public issues with "bug" and "security" related labels. In essence, the core of this new probe is to assess how many of a project's issues labelled "bug" or "security" receive no maintainer response within the first 180 days after the label has been added.
This is a form of inactivity probe of a project and provides a signal about a project's practices with public "bug" and "security" issues. The probe aims to make it easy for projects to perform well in this probe and as it is now can be useful in assessing whether a project is very poor in responding to public issues. As such, the goal is to identify obvious bad behaviours instead of differentiating between fine-grained limits. Said otherwise, the probe sets a high bar for scoring low. If a project scores low, it can be a signal of poor maintenance. In my opinion it is a useful signal in and of itself as well as an indicator of potential underlying issues.
At a more technical level, the probe supports GitHub and Gitlab-hosted projects. The probe uses the existing
issuesHandlers and fetches the issues of a repository, sorts the ones that are relevant for the probe - the ones that have had a "bug" and "security" label at some point - and then checks the history of each issue. Finally, the probe will do a relative scoring between all the issues that were labelled with a "bug" or "security" label at any point and the ones that have not had any maintainer activity within 180 days of the issue being labelled "bug" or "security".Some example scenarios are:
The project will score 10 because the maintainers have responded to 80% of the issues.
Another scenario:
The project will score 5 because maintainers have responded to 70% of these within 180 days.
In its current state, the probe does account for some edge cases such as:
That being said, there will likely be further edge cases that can be explored through usage.
Special notes for your reviewer
How this differs from the existing Maintained probes:
Currently, the Maintained check has four probes:
The probe in this PR is related to probe 3 in that list, however has several differences: The existing probes checks for recent activity in issues. The project scores low if there is no recent activity. The probe in this PR checks whether the project maintainers respond to issues labelled "bug" or "security" within 180 days of the time the issue was assigned the label. As such, the probe in this PR does not check for recent activity from the date and time the user runs Scorecard; instead it considers the time between issues being labelled "bug" or "security" and 180 days after.
Does this PR introduce a user-facing change?
yes