pull down to refresh

Most of the critical issues are clearly called out in the source code with comments like TODO or FIXME

How does a well-known bitcoin software accumulate so much tech debt?

PeerSwap also had a lot of new releases lately. Is this pattern showing a hole in Blockstream's dev process?

How does a well-known bitcoin software accumulate so much tech debt?

In general for FOSS, by focusing on features and prestigious refactors and not taking enough time for the non-sexy work like following up on open items that fell out of your release cadence. I think it's fairly common in the bitcoin space as a whole and it makes things worse on top of the hidden debt that is (was previously) genuinely hard to find.

reply
I think it's fairly common in the bitcoin space as a whole

I think it's fairly common in software engineering in general. I am certainly guilty of leaving TODOs behind for "later."

reply
53 sats \ 0 replies \ @optimism 11h

We all are. I think that if it comes to it, // TODO is still a better practice than writing it on a post-it or burying it in a Jira backlog. But you need to have someone that actually reads it, cares about it, and destroys it. Maybe, in lieu of anyone willing to spend the time, /debtinator could be a reasonable Claude skill.

reply

it’s just hard for me to fathom because I worked for a large company where nobody’s funds were at risk… even still we would get torn apart for any TODOs in the code and had quarterly sprints to eliminate tech debt

I guess not every company has their coding standards sized appropriately for the consequences of getting it wrong

Does Blockstream get to put their name on something then excuse their responsibility because it's FOSS?

reply
297 sats \ 0 replies \ @unboiled 19h
it’s just hard for me to fathom because I worked for a large company where nobody’s funds were at risk… even still we would get torn apart for any TODOs in the code and had quarterly sprints to eliminate tech debt

The large (not super yuuuge, but still NASDAQ listed) company I worked for, would act and say the same.
So devs stopped adding or deleted // TODO markers and added an item to the backlog instead (or not.)
Guess which backlog items never got enough prio to be tackled?

PMs got promoted for new shiny features and the ability to track an uptick in usage and associate it with the aforementioned new shiny thing.
There was no metric impacting promotion for improving code stability, reducing tech debt, or removing unused features / dead code. So that didn't happen.
In fact, it was almost the opposite: There was a metric for responding to and participating in "war rooms" when stuff broke. So we had more of those than PRs addressing tech debt.

I managed to sneak in a fair few fixes during my time there. But only because I valued my sanity more than my prestige for how I am handling outages during on-call stints. And my reviewers were happy that I'd tackle them so they, in turn, can spend more time on scoring points for a promotion.

reply
30 sats \ 6 replies \ @anon 21h

LMAO

reply
35 sats \ 5 replies \ @anon 21h

Well, that would have been funny in 2018 or 2019, not so much in 2026.

reply
30 sats \ 4 replies \ @anon 21h

These devs have no skin in the game.

reply

Of course they have skin in the game. What a silly statement.
Why would they even want to deal with any of this?

reply
30 sats \ 2 replies \ @anon 19h

because ligma of course

reply

'ligma' joke was funny in July 2018, not so much in 2026

I think it differs from place to place. I worked with some (mostly: non-bitcoin finance / telco industry) companies where removing tech debt was only second to fixing bugs, but there were many more cases where there wasn't any discipline around it at all. None of these were FOSS companies though, so they had contractual obligations (or in some cases, awesome "service" contracts where the customer pays for filing a change request or issue against your debt) and bottom line most were sensitive to avoiding damages and some were sensitive to recognizing that reputation damage is the worst thing that can possibly happen.

This was 1-2 decades ago. It won't fly now. You get breached, you just do a press release and move on.

Line 16+ of the CLN license is why it doesn't really matter what you ship in FOSS, because you waive all liability. This is also why as a party that has anything real at stake (think: reputation, so anything but startups), you can't just install CLN binaries (or Bitcoin Core for that matter) and yolo. It's a critical stage now though, where startups that matured over the years in some aspects of their business (mostly: growth) have not reciprocated that in the maturity of their processes, and all dev process is dead now. I feel like a dinosaur, so I probably am one. Ripe for extinction.

reply
30 sats \ 0 replies \ @anon 17h

Good questions. Care to chime in @blockstream_official?

I'll add: What does keeping the source private afford operators, when the actors most capable of reproducing it aren't slowed by that at all?

reply
30 sats \ 0 replies \ @anon 26 Aug

reply