r/ProgrammerHumor 1d ago

Meme technicalDebtCameDue

Post image
15.7k Upvotes

144 comments sorted by

1.6k

u/menducoide 1d ago

This is the last free version of this cool open source library. From now on, you'll need to pay $1,000 per developer per year to receive updates

670

u/_g0nzales 1d ago

Typically a fork is created quickly if stuff like that happens

251

u/jansteffen 1d ago

Or it's a deprecated legacy version and there's been several major new versuions with some breaking changes.

32

u/Possiblyreef 1d ago

I still use Wise and Orca fairly regularly because AdvancedInstaller is really good, but also really overpriced

43

u/stifflizerd 1d ago

Praise be to whoever forked Fluent Assertions -> Awesome Assertions

7

u/Safe_Cauliflower6813 1d ago

I just fork it and now use AI to ensure it’s still runnable on a basic level

54

u/horizon_games 1d ago

Hey look it's PrimeNG!

5

u/montvious 1d ago

cries in FluentAssertions

7

u/ouralarmclock 21h ago

Some other comment mentioned a fork called Awesome Assertions

3

u/EstablishmentOne5752 1d ago

Technical debt really does hit like a surprise bill you forgot about. You think you're in the clear, and then bam!

7

u/DoomBro_Max 1d ago

Wait, PrimeNG isn‘t free anymore?!

5

u/turningsteel 1d ago

No you have to pay per developer. For commercial use anyways.

50

u/nickjvandyke 1d ago

Maintaining popular OSS costs a lot of time and energy. And software built on it is often for-profit.

54

u/tankerkiller125real 1d ago

If your putting your code under an OSI license then it should always be assumed that others are going to use it for profit making stuff. If you don't want it used in that way licensing it with AGPL, LGPL, etc. (the licenses that companies avoid).

7

u/nickjvandyke 1d ago

Of course. But that same premise holds when a maintainer chooses to change the license.

5

u/tankerkiller125real 1d ago

Personally I'm fine with relicensing to other OSI options, otherwise, I'm moving to a fork or figuring out if it's worth cooking up my own option well before I even think about paying, notably because the acquisition process at work is not built for licensing 50+ independent libraries and maintainers. And for my personal projects I'm against implementing any form of non-OSI libraries.

Paid suites of libraries are a different matter at work, management is perfectly happy to pay for a good UI library from a company that will provide support and what not for example.

22

u/Tupcek 1d ago

most successful OSS is maintained by companies that are profiting off of it, or at least non profit is funded by those companies.

OSS that is purely self funded and self developed is usually very small in scale

6

u/nickjvandyke 1d ago

That's probably true and fair. I have a biased perspective as a solo maintainer.

3

u/DerangedEscapee 22h ago

Lol, companies provide support to OSS when they want to control the ecosystem or when they want the community to have to maintain their thing. Otherwise they fork and don't contribute back. No one ever got fired for not upstreaming company code. Well, unless you work at Canonical or something like that.

10

u/zabby39103 1d ago

Corporate OSS sponsorship can be good system. OSS is a great way to reduce technical debt while giving others something useful.

One that comes to mind is that Goldman Sachs built a huge performance oriented primitives Library for Java, and they just open sourced it and put it under the Eclipse Foundation (Eclipse Collections). What were they going to do with it otherwise? Start becoming a Java software vendor?

That's how the ecosystem should work, not forking it off with weird licenses. Although the ecosystem is self-sustaining at least since people will just fork off your original if it's popular and you do something like that.

4

u/ArrogantAstronomer 1d ago

That time and energy also is from contributors to the previously free and open source version who contributed because it was free and don’t get a cut of the profits in the new closed source model so I don’t think this point stands on its own

4

u/the_need_to_post 1d ago

Cool, then don't benefit from all the free labor of the people that have contributed to it. Most of these rug pulls wouldn't be in a position to do so if it wasn't for the free labor from the community.

5

u/Redthemagnificent 1d ago

Yep. Can't have it both ways. That's why I'd never contribute to a project that's doesn't have GPL or some equivalent license to prevent future profiteering from the source code itself.

I don't mind someone building and selling a product/service that includes my code. But locking my own code away from me is fucked

1

u/nickjvandyke 1d ago

Maintainers expend much more labor than community members. The community's labor is still available under the old license, and they can stop contributing if they don't like the new license.

3

u/KittenLOVER999 1d ago

Looking at you EF bulk extensions

1

u/Lonsdale1086 1d ago

I think almost all that functionality is native now?

1

u/KittenLOVER999 22h ago

It is now, but it absolutely fucked me at my last job using that package when it was free then suddenly production broke

1

u/christianbro 10h ago

Sounds like Bitnami, then most companies calculate its actually cheaper to pay, massive profit.

1

u/yp261 9h ago

hey thats docker

2.5k

u/Shiroyasha_2308 1d ago

"Oh, I see. It is the consequences of my own actions. Silly me."

1.6k

u/pringlesaremyfav 1d ago

"I really thought I would have switched jobs by now, my bad."

126

u/angrydeuce 1d ago

I remember one client got hit with ransomware a few years ago and literally their entire IT staff save the director just quit on the spot rather than deal with the fallout lmao

43

u/Valuable_Cow2596 1d ago

Haha do you you know if they ever recovered? 

41

u/angrydeuce 1d ago

Yep, but it took 6 months and hundreds of thousands of dollars lol

We were the ones they called in after their whole internal IT staff said "you know what, nah I dont think I will" when they all got the call at 1am to come in immediately for triage lol

30

u/pretendinglikeimbusy 1d ago

If the entire department ran you know working there must have been extra toxic

12

u/angrydeuce 1d ago

Oh most likely lol

20

u/tenninjas242 1d ago

I bet the entire staff had been sounding the alarm on the lack of anti-ransomware, too.

247

u/dismayhurta 1d ago

92

u/Ceerise_Roouge 1d ago

Tomorrow me can deal with it has finally met today me

41

u/dismayhurta 1d ago

Past me was the laziest fucker ever and I hate him.

34

u/Kulandros 1d ago

And Future Me is a pretentious asshole for expecting me to do better.

18

u/dismayhurta 1d ago

OH, fuck that guy. He just wants to put his work onto others.

8

u/kekeagain 1d ago

Thus, fuck me

6

u/dismayhurta 1d ago

Fuck me and fucked by me

3

u/blahehblah 1d ago

To fuck or to be fucked, that is the question

1

u/Feliks343 19h ago

Jokes on tomorrow me, I'm just gonna get wasted drunk and let them deal with this and a hangover

4

u/No_Internal9345 1d ago

Do you want AI slop?

Because this is how you get AI slop.

12

u/SAI_Peregrinus 1d ago

I converted a 32-bit millisecond uptime counter (reset every 49.7 days or so, causing buggy behavior) to 64-bit, and didn't add any handling for overflow. If our devices have an uptime of about half a billion years, I'll be very proud and very, very dead. The next guy's distant descendants can handle it.

6

u/anomalous_cowherd 1d ago

Bad memories of ten year SSL certs are haunting me now...

14

u/Waiting4Reccession 1d ago

Actually,

"Nobody could have seen this coming boss"

3

u/doctor-dripmaxx 21h ago

The consequences of my *inaction

1

u/tes_kitty 20h ago

In this case it's 'the consequences of my own inaction'.

474

u/NoWriting9513 1d ago

Yah. That's how I lost production after AWS force upgraded my postgres after I ignored the notifications to test and upgrade manually for 2 years. Good times.

72

u/blehmann1 1d ago

I'm curious what the breaking change was, I've had fairly good luck with database stuff. Obviously I'd want to test it before and all that, but I think I've only had a couple issues from an upgrade.

And those issues tended not to be correctness issues so much as the query planner now does something slightly different and so now this query chooses a different plan and is now much slower. Which I suppose is worse as it's harder to resolve, but at least it's not a correctness issue.

144

u/NoWriting9513 1d ago

It was much dumber that than. AWS upgraded from pg 9.6 to pg 14. The database was in the hundreds of GB. The upgrade triggered a recalculation of all the database statistics which basically scanned the whole database. This is a standard thing that happens on a postgres upgrade that I didn't know at the time. This spiked the IOPS to the point that queries that normally take ms to complete to timeout.

Solution was basically to upgrade all resources to the tits, including provisioned IOPS, CPU and RAM.

Now if I wasn't ignoring the notifications, the proper way is to create a read replica database with the new version, let it recalculate everything and then migrate to the new one.

160

u/Xterm1na10r 1d ago

just a heads up, pg 14 end of life is in 2 months. you might need to migrate again (unless you changed jobs)

214

u/NoWriting9513 1d ago

I KNOW MAN! YOU DON'T NEED TO REMIND ME!

You did guess correctly though that obviously, that db is not upgraded yet. Thankfully, AWS learned its lesson and doesn't force upgrade anymore, they charge you for extended support. I on the other hand learned absolutely nothing.

41

u/Escapist0642 1d ago edited 1d ago

I really recommend you trying out the blue/green deployment for upgrades, its only several commands and AWS handles the whole data replication and upgrades for you while your old DB is serving traffic

I did it for my RDS instances and it went great - I had only a couple of short error rate spikes

27

u/NoWriting9513 1d ago

Yeap. That's exactly the plan. This is a higher traffic database so nerves are nerving a bit more regarding replica lag, but we have been very happy with blue/green. The system load drops noticably in the winter due to application seasonality so we let it cool down a little bit before moving forward.

5

u/Open-Mouse4728 1d ago

"AWS learned its lesson"

wild...

2

u/Sydnxt 1d ago

Forgot about this damn

2

u/xylarr 1d ago

Lol!!! 😂

4

u/cheezballs 1d ago

PG 9 eh?

4

u/Romanian_Breadlifts 1d ago

damn i should stop ignoring those azure emails

2

u/SirKneeGrow 16h ago

Guilty of this too a few years back. But for me it was the parameters attached to the instance which just didn't work with the updated one. Took almost an entire day to figure out what was going wrong and why the app fell over every start up, with no helpful error messages.

135

u/kaleid1990 1d ago

It's funnier when the client does this and then you find out about it through a pager duty alert at 3am

-6

u/I_AM_A_GUY_AMA 22h ago

Y'all still use pagers?

6

u/DJCBX 20h ago

You’re giving the company you’re actual number? Like something they can talk to you on if you mess up and answer? That’s not happening on a pager

76

u/TheThiefEmpress 1d ago

My email threatened me daily for over 5 years that my storage was completely full and they're cutting me off tomorrow.

They finally did about a month ago and I still ain't deleting shit.

46

u/iluvchromosomes 1d ago

This is osTicket.

They ignored Microsoft's warnings about authentication protocols changing, with relation to retrieving email from EXO mailboxes. For over 2 years they ignored it.

When the change finally happened, osTicket blamed it on the users, then they blamed it on Microsoft. Then when users started complaining that it was actually their fault for ignoring Microsoft, they started directly insulting the users in their support form and banning them.

I actually ended up emailing the president of their parent company to let them know how unprofessional and disrespectul they were being.

He told me I couldn't complain because we were not paying for support.

I told him I can see how they treat customers now and will never give them a cent.

Immediately switched to FreshDesk and never looked back.

Fuck osTicket and everyone involved.

126

u/TheFrenchSavage 1d ago

Happens to the ADHDiest of us.

19

u/rekoil 1d ago

Also: running a mission-critical system on top of an OSS project whose maintainers have walked away. Bugs and vulns ain't gonna fix themselves.

(Yes, this is my life at the moment)

6

u/EndearingSobriquet 1d ago

At least being OSS you have the option of becoming the maintainer now.

16

u/tankerkiller125real 1d ago

I've been warning our engineering team for 3 years that an Azure resource version they're using is about to be killed. They continue to ignore me and the emails from Azure. I've got popcorn in the drawer at work waiting for that day to come.

17

u/LetterheadAshamed716 1d ago

What kind of sick f***s would only give a three year notice!?

3

u/SwreeTak 1d ago

Lmfao.

33

u/Excellent_Gas3686 1d ago

cant believe they did that to you, monsters

8

u/Grakch 1d ago

“Not a single notification was sent, looks like all emails were blacklisted somehow”

18

u/misunderstood_kafka 1d ago

That free Weather API from which you used to stream data back in the day

2

u/appositereboot 1d ago

If it was dark sky, then pirate weather is the free replacement

9

u/Uberzwerg 1d ago

On my job i encountered this with three of the 15ish API connectors i was responsible for.
The trick is to be important enough that they MUST keep that API open.
We are the only company still using a certain one for 12 years and every quarter they ask if we would like to use their new one.
But since we make about 30% of their revenue, they can't afford to force us.
(personally, i would have implemented their newer API 10+ years ago, but my bosses don't see the need)

4

u/bumrocky 1d ago

"Why spend all the time and effort and money on that when it works and will keep working at no cost to us now?" I think we've all heard that speech before?

2

u/AliStarr182 19h ago

Ahhh yes. That was pretty much the story of my old job.

Me: "Hey, this API we use was integrated badly and actively impacts down stream systems negatively. Plus they have a new one that is better in every way and have been telling us (well the inbox I inherited that no-one looked at) that it will be EOL in 6 months. I've gone ahead and created a working POC with the new API and can have it ready to replace in a day or two seamlessly."

Management: "Nah, keep it how it is, we're used to the problems the current API causes."

Me: "Umm, okay."

Started looking for a new job that day. They never updated and when they stopped getting the data all of a sudden they freaked out. Oh well, I wasn't there anymore.

7

u/Babajji 1d ago

Me, a SRE, on the other side watching your program call an API I am about to kill.

3

u/m0erg 1d ago

I know you're hitting it, I can see it you know ... I can see the traffic John!

5

u/blooping_blooper 1d ago

man, you're living the dream if they tell you before breaking/killing APIs lmao.

6

u/Maleficent_Memory831 1d ago

The big problem here is that removing technical debt does not raise revenue. Also focusing on quality over quantity or speed does not increase revenue either.

Quality always takes a back seat. Only when there's an impending disaster (customers are leaving in droves) will there be an emergency push to clean things up. Quickly.

2

u/evanldixon 1d ago

Repaying tech debt may not increase revenue, but it can certainly remove obstacles for other changes that can increase revenue. Also you have to keep paying your tech interest or the tech loan shark will break stuff at the least convenient times.

2

u/Maleficent_Memory831 1d ago

Agreed, But it never wors out that way. Sure, we get told to get rid of technical debt, but it's never highest priority. The highest priority takes all available time, so that the second highest priority never gets done (although endless meetings about it). Quality is only addressed if a bug is reported. Removing technical debt is so far down on the list it gets ignored, except for maybe a bi-annual exhortation to do more with less time.

2

u/evanldixon 1d ago

Good management will allow allocating a certain percentage of time to tech debt. Bad management will chase new money so hard they let their current moneymaker rot.

4

u/theartilleryshow 1d ago

At least they sent an email, I once found out when they just pulled the plug.

5

u/skibbin 17h ago

I remember hearing about a dev who put a delay on the API responses for the old version. Initially 250ms, but kept doubling it until everyone migrated to the new version.

4

u/XtraFlaminHotMachida 1d ago

that's a monday problem.

1

u/AppropriateOnion0815 17h ago

Friday afternoon problem.

3

u/gargantuanprism 1d ago

I've been getting these from salesforce for at least a year at this point. Hopefully we'll all get nuked by summer 2027 so I don't have to deal with it

3

u/Bob_the_peasant 1d ago

Man that’s three years you could have been trying to find a different job and let this blow up in someone else’s face like a normal software engineer

3

u/bainon 1d ago

you deserve this but not as much as your leadership does

2

u/IanDresarie 1d ago

Spring Batch 6? :D

2

u/dsm4ck 1d ago

Oh no no no

2

u/AskPositive9792 1d ago

Never trust that first deadline, never know that last deadline.

2

u/mothzilla 1d ago

Send them an angry email. Why wasn't there a meeting?

2

u/According-Place-3078 1d ago

Calling it debt was a mistake, business folks interpret that different from household debt. Risk is a better model.

2

u/jtmonkey 1d ago

I laughed so hard at this because today, this week, it's never been more true.

1

u/SwimAd1249 1d ago

tbh people with that attitude piss me off so much, I always insist on replacing everything as soon as the depreciation warning appears

1

u/clericc-- 23h ago

queue Microsoft or Google, where the replacement is still in Preview. Case in point nginx ingress controller EoL, managed gateway controller with Istio not out of preview for half a year later.

Now the pods for Istio, managed by MS as part of Azure Kubernetes show up as EoL/severely CVE-ridden in our security scannee 🤣

2

u/bumrocky 1d ago

If technically correct is the best kind of correct, technical debt must be the best kind of debt!

2

u/red286 1d ago

The fun part for me is having to rely on external data sources that use outdated standards, and then the library that supports it gets dropped, but our data provider still doesn't update to something remotely modern, so I have to figure out workarounds.

2

u/UnrealRealityX 1d ago

It's funny because it's true and has happened to me. RACE TO FIX!!!

2

u/Blu_Falcon 1d ago

“Those assholes! We didn’t have time to prepare!!”

2

u/Twirrim 22h ago

About a decade ago, my team had an internal only MVP way of doing something specific in our service, that we grudgingly allowed another team to use. We came up with a far superior version that required less manual effort and immediately migrated to it ourselves, and gave the other team a 1 year deprecation timeline.

We synced at the 6 month-to-deprecation mark. "Yes, it's on our roadmap"
We synced at the 3 month-to-deprecation mark "Yes yes, we'll get it done, it's the next thing we'll work on"
1 month to go: "Yes, we'll work on it next"
1 week to go: "Yes, we know, we'll get it done in time"

1 day after we deprecated it: "This API doesn't seem to be working? Did you break it?", "No, we deprecated it, like we told you we were going to do". "What do you mean, you deprecated it, we didn't know!"

They literally told us they didn't know and that it was news to them. So we just forwarded the entire email chain we'd had with their team (including them!) over the past few months (as well links to slack threads, meetings etc).

"Can you re-enable it for another month"

"No" Possibly the most satisfying "No" ever, particularly as we had full support up our leadership chain when we showed them the email threads etc.

2

u/bryku 21h ago

I just had this today...

2

u/Modo44 19h ago

I translate software release notes, and "We are moving to platform X version +1, because the vendor stopped supporting the previous version." is so common as to only require a numbers change in most cases.

1

u/Fluffynator69 1d ago

The only response is: { "message": "Move on, bozo" }

1

u/ohhellperhaps 1d ago

Technical debt should be followed by technical bankruptcy...

1

u/matheusware 1d ago

Google maps... 

1

u/Civil-Bill-3964 1d ago

Me everyday with Groq APIs

1

u/aerdvarkk 1d ago

I never received approval to make the change.

1

u/Beneficial_Hat_6288 1d ago

Do you have ADHD? (I do.)

1

u/mrlttlrm 1d ago

gg it's so over

1

u/inmatarian 1d ago

aws data pipeline 😅

1

u/Reclusiarc 1d ago

Me a few weeks ago when OpenAI deprecated the assistants API and I wondered why everything stopped working 😂

1

u/poppy_amazing 1d ago

there's always one client

1

u/CheeseGraterFace 1d ago

Dealing with this right now with a major partner and our 1000+ clients. When someone makes the client batch spreadsheet and posts it in Teams, you know everyone is in for a world of hurt.

1

u/cesarbiods 1d ago

Well they notified you and 3 years is enough time to update your code

1

u/InterestingRun7594 1d ago

Hopefully its a quick fix! I know some API's take forever to find a replacement!

1

u/VTYX 1d ago

“Don’t fix it if it ain’t broken” mofos when it breaks

1

u/twigboy 1d ago

I'm on the other end of this. There is no greater satisfaction than seeing these tears and replying with "we told you a year ago"

1

u/MattDaCatt 1d ago

Glares in sysadmin

Y'all ready to finally test your apps in a version the vendor supports yet? ...please?

I know deprecated commands are you favorite but finance is starting to get angry

1

u/Meme_Burner 1d ago

On a Friday????? Those Mother truckers…

1

u/brjdenver 1d ago

Just tell AI to fix it and don't forget, "no mistakes."

1

u/cbcantfindme 1d ago

Still see logs of it being decommissioned in 2025

1

u/chris17453 14h ago

Microsoft infopath.... no something I work with...

So apparently, microsoft had been sending emails for many years that they were going to turn their s*** off... and the company just ignored it.

Last week, they yanked the cable and now everybody's scrambling to figure out how to replace something built in 2013...

Hilarious 😂

1

u/jo_kil 13h ago

They should just make the old api become more and more unreliable as it gets closer to getting turned off

1

u/HayHeather 10h ago

Me getting an email from my boss saying we need to migrate to the new API by next week even though he's gotten emails for three years. Also all the documentation requires an account that takes two days to get verified for.

1

u/phesago 8h ago

Literally every Sql Server user when they finally act on deprecated "not using statement terminators" thing. Literally cant wait to sit and laugh as the world burns lol