Improve the visibility of project contributions
Currently, there is no standardized and widely accessible way to obtain information on PR contributions on a per WG basis. This is not only a healthy metric to keep track of in general, but it is also information that is reported at each TOC meeting for the WG updates as a way to:
- monitor contributor engagement in general
- help surface who is on track for approver and who is on track for lead.
Note: the metric of Pull Requests is only one aspect considered as helpful contributions to Knative or for consideration for being an approver and WG lead.
I have to guess that each WG lead is maintaining their own way of getting to this metric. As an example, this is the script used by the Networking WG.
It would be great if this workflow could be improved by using our existing infra to:
- automatically generate this output, on a periodic schedule
- propagate this output over multiple channels for greater visibility. Please see the proposed list of distribution channels.
The output could be an aggregate of the past 3 months on a monthly basis. Or whatever aggregation makes the most sense. The listing could be a total count on a per contributor base, or could include a listing of each PR submitted per contributor.
Considerations
With Knative being a distributed system with the inevitable intertwined pieces, it is important to note that some Knative repos might contain Go packages that are of concern to more than one WG. The way we currently indicate that is by having an OWNERS file in those packages with the relevant information for reviewers/approvers and labels for the corresponding WG areas.
For example, contributions that count for the Networking WG are all of those made to the networking, as well as all the net-* repos and the serving repo. However, for the serving repo, only the contributions made to Go packages designated as part of 'area/networking' are attributed to the Networking WG. One way to search for that is to run the following at the root of the serving repo:
echo "\n" | find . -name OWNERS | xargs grep -rl 'area/networking'.
This is likely the case with other Knative WGs.