Hello from sunny and warm Glasgow and Community Over Code. A series of things lately, have me asking questions about how our community is doing, how the project is doing and is this something special to the Cassandra project? Not an easy thing to measure so I decided to find out if it was possible.
The answer is yes! Linux Foundation already does a health status page for their projects, with lots of metrics and with an entire subproject called CHAOSS[1] This lead me to develop this first version of our project health geared towards apache projects: https://pmcfadin.github.io/cassandra-project-health/index.html There are a lot of metrics, but they are grouped into, Community: Code and contributor health metrics Governance: How each commit stands up to our standards of testing and review Conversations: Sentiment analysis across every email in dev@ and every JIRA comment Peers: Select group of metrics form other projects as a comparison A couple things stand out very quickly. We are very responsive on mailing lists and great with new people. And to nobody's surprise, we are suffering with PRs. That lead me to another path. In teams I work with, automated review pipelines are getting really deep with AI assitance and it's needed. There is a lot of toil just opening a PR to look at and start a review process. I've polled collegues, used existing skills like the rustrazorblade skills[2] and practices I've seen from my own work. https://pmcfadin.github.io/cassandra-pr-review/ This is a limited group of PRs I did a a POC but ideally, this would be run as soon as a new PR is recived and the contributor would get a report link within minutes. I also did not every single script in my pipeline for every PR. A good example of every script being run is PR 5021: https://pmcfadin.github.io/cassandra-pr-review/pr/5201/ Some highlights of what it does. Check to make sure all elements are present. Tests. Reviewer. CI results. Looking at the code changes and suggesting reviewers Adversarial code review output Static analysis using PMD A test plan for if you want to do deeper testing using Easy DB Lab A lot lot more... For new contributors, this gives them immediate feedback and gives them a self-service aspect. You can run all these locally as well. For reviewers, you can get a quick glance of the current state of the PR with low effort Both of these projects are available as public repos and would love to hear your feedback. What's missing? What could be better? Jarek Potiuk and I had a discussion about maybe folding this into Apache Magpie. What do you think? https://github.com/pmcfadin/cassandra-pr-review https://github.com/pmcfadin/cassandra-project-health Patrick 1. https://www.chaoss.community/kb/metrics-model-starter-project-health/ 2. https://github.com/rustyrazorblade/skills
