It's been a long time since I sent out a status update. Let's round up 2024, 
and let's see if we can't have more regular updates in 2025 shall we?

First, some vanity metrics on the year in review:

Community Health and Activity:
-  Tickets created: 840
- Tickets fixed: 518
- Tickets created in 2024 and closed: 463
- Commits to trunk: 343 (excluding merge commits)
- `git diff --stat` against 1st commit in 2024:  1549 files changed, 77170 
insertions(+), 28184 deletions(-)
- 42 unique committers committed to the project (compared with 47 in both 2022 
and 2023), with our top 4 being:
    - Stefan Miklosovic at 172 commits
    - Brandon Williams at 117
    - Mick Semb Wever at 98
    - Caleb Rackliffe at 63

Releases:
- 4.0 line: 4 releases
- 4.1 line: 4 releases
- 5.0 line: 3 releases

We deprecated the 3.0 and 3.X line, which was a *huge* improvement in QoL for 
merging patches for all of us.

Email:
- 230 topics on the dev@ list
- 122 topics on the user@ list

Slack:
- 1949 members in #cassandra on the-asf.slack.com
- 869 members in #cassandra-dev on the-asf.slack.com

We've had a solid year for progress, engagement, discussion, and diversity when 
it comes to the project.
---------------------------------------------------------------------------------------------
So that's the Ghost of Cassandra Past. What about the present?

First off, as always, how can you get involved if you're looking to contribute? 
Follow this link: 
https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=484&quickFilter=2162&quickFilter=2160&quickFilter=2652
This will give you a list of all the relatively low complexity tickets that 
currently lack an assignee.

You can find us on the ASF slack: https://the-asf.slack.com, in #cassandra-dev 
for dev discussion and #cassandra for user discussion. If you need an invite to 
the slack server, let me know and I'll get you setup.

For the code, let's look at the present workflow on trunk / our next major:
- https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=484

I've updated our project release kanban board to be aligned with the current 
branches and workflows. Of note, just over 50% of the work flagged as in flight 
on the project is on trunk. I went ahead and bumped the 4 in "Awaiting 
Feedback" back to Triage since they were sitting for months to years at a time 
and contributor questions on the tickets had been answered.

*We currently have 35 tickets on trunk that need review*; any committers with 
some spare cycles, your help there would be greatly appreciated; I'll try and 
kick out another email for us to [DISCUSS] this as it's a longstanding struggle 
for us. I don't have longitudinal data for the past year or two on this metric, 
but having 90 tickets project-wide, 35 on trunk, that are blocked waiting on 
review feels high to me.

We have 11 tickets project-wide that are in "Needs Committer" state, 8 of which 
are on trunk.

All in all, things feel like they're in a pretty healthy balanced spot heading 
into the last stretch of the holiday season.

---------------------------------------------------------------------------------------------

That's the present. What about the Future? Let's take a look from a "next major 
release perspective."

We released 5.0 GA on September 5th, 2024. If we target a release 12 months 
after the prior went GA, that would put our new target at early September 2025 
for 6.0. If we plan to cut a branch 8 weeks prior to that (did we ever 
formalize this?), that would mean we're coming up on a frozen / stabilizing 
release branch cut target of July 5th, 2025. 6 months, or 29 weeks, or 208 
calendar days, or 149 working days (M-F) between now and then. Which honestly? 
That's a decent amount of time for us all to keep chugging away, especially 
given how much is already in trunk:

- We currently have 121 new features and improvements unique to trunk.
- We currently have 217 bugfixes unique to the branch as well.

So the future looks bright and busy. And not yet too chaotic from a calendar 
perspective. Yet.

---------------------------------------------------------------------------------------------
*[Key mailing list discussions]:*
Been a long time since we did one of these so I'm going to hand pick some 
highlights of what's in flight.

- Paulo Motta kicked off a discussion about our default compaction strategy, 
immediately making it clear that compaction is Complicated and picking defaults 
is Hard: https://lists.apache.org/thread/kny0csz4wr9vm5owh0m0pt39qjdx4x6v. This 
kicked off a separate discussion about:

- How do we handle experimental flagging? Is it time to evolve it? 
https://lists.apache.org/thread/9ptpkd3yymy5wok137c5jytysw373v52. That thread 
appears to be narrowing down on a consensus with some stress testing of ideas 
sneaking in at the end there. Please chime in if you're interested and have 
some experience or opinions you'd like to share to the Stone Soup of our 
process.

- Jon Haddad with admirable brevity opened up the thread "[DISCUSS] 5.1 should 
be 6.0": https://lists.apache.org/thread/5vxk2mh1rt1r07yt5mqjm6nqgp16c48x. He's 
giving me ideas on click-baiting my email subjects in the future, but that 
aside, that thread also appears to be converging as well. If you have a +1, a 
-1, or anything in between to add to the discussion please chime in.

- After doing incredible work with and for the community, Melissa Logan and the 
team at Constantia are stepping back from running meetups for Cassandra and 
have a call out to ask for help from volunteers to keep it going: 
https://lists.apache.org/thread/pft9ynl1vclxo68hmdgn8optlnp2ld0w. If this is 
something you're interested in, please speak up! As geographically spread out 
as we are as a community, these opportunities to get together and see each 
others' faces and talk about what we're doing as well as connecting with our 
users are super valuable.

- Branimir is clearly as disgruntled with our javadoccing as everyone else but 
he's uniquely willing to start a conversation about alternatives (/clap). 
Markdown-based commenting in our code anyone? 
https://lists.apache.org/thread/trgyoo7vfdws1r0mthdtpzxdrc0nrsdk. I've had a 
dangling item on a todo list to try and generate javadocs for our project 
for... months? years? at this point, so I'm personally in favor of a more 
unified less hideous approach to commenting our code. We can't do an "ant 
javadoc" style build target until JDK23, but that's just more incentive for us 
to keep updating our support and moving forward right?

- The last thing I want to call out is Jaydeep Chovatia reaching out about the 
idea of external tooling to support anti-entropy and correctness validation for 
Materialized Views: 
https://lists.apache.org/thread/qwkcjxgg4g3x042g8vq6j2tt91dh54jh. Given how 
that feature intersects with the "how do we lifecycle features", plus how 
complex and fraught the topic of the architecture of MV's has been for us, this 
is an interesting one and I'm personally glad to see energy going into 
considering what next steps for MV's might best be. And not just because I 
reviewed that ticket back in the day. :disappear:

---------------------------------------------------------------------------------------------
That'll do for now; don't want to overextend ourselves on the status email 
front. Like I said, I'm going to make it a point to try and get back on the 
wagon with these with your first monthly update coming end of January.

As always, thanks everyone for the code you write, the discussions you engage 
in, and the professionalism, candor, and open-mindedness you bring to the table 
that make this project possible.

Happy 2024 everyone and I hope you all have a safe and lovely holiday season.

~Josh

Reply via email to