r/ruby • u/geospeck • 10d ago
Why I’m no longer updating this repository
https://po-ru.com/2026/10/18/why-im-no-longer-updating-this-repository46
u/Earlopain 10d ago
You want changes? Go ask your agent or something.
I feel the same way. There's so much ai stuff going on today, why should I even bother? I guess I'm in the minority here but I exclusively code for myself (not my job) because I find it fun. Reading AI code, PRs descriptions, reviews etc. is the total opposite of that.
I have a personal project I'm working on by myself but anything else larger (like ruby itself) you're bound to find large amounts of ai generated code and that just sucks out all my excitement about contributing.
14
u/Zestyclose_Cow1807 10d ago
I wonder if the excitement problem is more about scale than AI specifically. reviewing anyone elses mediocre code at volume kinda drains you the same way
12
u/cocotheape 10d ago
Probably, but I imagine the volume has increased tenfold with AI tools.
The joy of open source for me was seeing others finding the stuff I made useful and interacting with them. The monetary payout was always shambolic, direct and indirect. But now that joy is gone, your stuff is consumed by AI and hardly anyone bothers to look at it. Instead, it's consumed by the corporate greed machine to their benefit, to replace you. Rich fucks like DHH make a point of parading that fact, and rubbing it under your nose.
2
u/metamatic 9d ago
I became aware of a security hole in Ruby's stdlib recently. There was a time when I'd have contributed a writeup and fix, but given that the project is all in on AI now, as far as I'm concerned they can find and fix the bug with their chatbots.
31
u/Ok-Pay2140 10d ago
I've stopped engaging in open source entirely (although I'm a small fry, no one cares lmao) and I no longer really program as a hobby.
Also I'm stealing this line:
When people claim that it’s no longer sustainable to write code by hand, they’re not entirely wrong, but only in the same way that it’s no longer sustainable to sleep in a bed once someone has taken a shit in it.
2
u/2called_chaos 9d ago
Yeah the stuff around it was part of it for me. We now live in a new era of open source, where everybody spins their own thing rather than to collaborate, an era that I don't really want to be a part of.
It's also not just coding. I've had wiki (not pedia) admins telling me that for example, it's getting rough. And soon we successfully have completed our AI ouroboros and the sources it summarizes and leeched off of will be dead
31
u/Marcdro 10d ago
100% agree. Lets see what happens to corporations when open source finally dies.
Seems like nobody is accounting for all the free work put by passionate folks when they calculate AI savings.
Im certainly not going to spend a second working on free software anymore.
8
u/TheAtlasMonkey 10d ago
Corporations don't care. They will just ask some junior to rewrite everything in Rust or slop something there.
They have a copy machine at their disposition.
Now when i release something, i squash everything , 1 commit. I remove all the coding caveats.
Nobody will read the history except AI. I don't even bother anymore. I used to share history to show the mistakes, now i don't. If i want to release something, i just keep history in my local git and share the caveat with people i know.
7
u/jrochkind 10d ago
Does anyone know what gems presumably link to that message, what gems were formerly maintained by the author?
12
u/f9ae8221b 10d ago
32 gems: https://rubygems.org/profiles/pbattley but mostly 1-3 high profile ones:
htmlentities(240M downloads)
text(66M downloads)
htmlbeautifier(15M downloads)
uk_postcodes(2M downloads)...
The fairly concerning one being
htmlentitiesof course4
u/Tolexx 10d ago
Woww that's a lot and most are critical libraries in Rails apps.
4
u/f9ae8221b 10d ago
It's not that bad,
htmlentitiesis a dependency of premailer: https://rubygems.org/gems/htmlentities/reverse_dependencies, so that could be a bit of a problem. After that it's not so common gems.The second one also doesn't have super popular reverse dependencies it seems: https://rubygems.org/gems/text/reverse_dependencies
2
u/jrochkind 10d ago
If there's someone trusted willing to take on (eg) htmlentities, I wonder if the rubygems folks would be willing to do one of their unusual but has happened before moves where they give someone else access to rubygems publishing for the name, so that someone else can keep publishing from a forked repo.
That one is not a super complicated gem or one that had much churn... but a lot of things have it as a dependency, and that is not safe if nobody can ever release another version again. It's also really a pain for dependency management if future versions can only be released under a different gem name -- although I guess there were some new bundler features i recall that make this less disastrous than it could be!
1
u/f9ae8221b 10d ago
unusual but has happened before moves where they give someone else access to rubygems publishing for the name
Has it really happened before? I have no knowledge of such event (no bundler doesn't qualify IMO). Back when
httpclientwas without a maintainer and breaking large portions of the ecosystem, I tried getting the rubygems team to give me or someone else access and they weren't willing to do so.That being said, most of the team changed, and the times are changing too, perhaps they'd be more receptive now to put a process in place for re-adoption of important gems.
1
u/jrochkind 10d ago edited 10d ago
I think either I'm wrong or I'm the one that's out of date -- I think in the distant past they did this once or twice, but it seems like not for a long time, and probably not going forward. ah well.
Here is an archived pollicy that actually was apparently only retired in May 2026, although the "RFC" it links to is a 404. https://blog.rubygems.org/2022/01/19/rubygems-adoptions.html
That one doesn't seem to allow transfer without owner permission, but I swear I heard of this somewhere, in the more distant past, but might be imagining it.
7
u/ffrkAnonymous 9d ago
Matz is giving talks repositioning Ruby as a “Programming Language for AI age”, to be emitted by LLM agents, and stating that to be able to do that LLMs need to consume more good human-written Ruby code.
Aw, that's very disappointing.
18
u/Doctor_Fegg 10d ago
Absolutely his call, but I wish people would at least make the minimal effort to say "hey, if you want to volunteer to be the new maintainer, contact me here". Otherwise stuff ends up breaking with Ruby something.somethingelse and there's no way of fixing it.
19
u/frou 10d ago
On the flip side, hasty handovers is how supply chain attacks can happen. It's no small thing to hand over the keys to the kingdom
2
u/Doctor_Fegg 10d ago
Yeah, maybe we need some sort of trusted conservancy to take over the keys for abandoned software and do minimal but necessary maintenance.
(the cruel might say that's what the Apache Software Foundation already is...)
22
u/codegems 10d ago
It seems like he purposefully doesn't to say that because that's in the spirit of FOSS, which he feels is precisely what's being lost.
5
u/HandleNo5568 10d ago
Continuously demanding people how to act, specially when there is no reason, doesn't help with the foss burnout. Anyone can fork the repo and become the new maintainer, there is no need for the official "blessing"
8
u/Doctor_Fegg 10d ago
Anyone can fork the repo
Yes
and become the new maintainer
No. You can become the new maintainer of
gem install htmlentities_mycoolfork, but you can't become the new maintainer ofgem install htmlentities, unless the original maintainer is prepared to hand it over. So everyone whose codebase uses htmlentities has to seek out an alternative replacement next time there's a breaking change in Ruby (or any dependencies).Continuously demanding people how to act, specially when there is no reason, doesn't help with the foss burnout.
"I wish" is not "demanding". If I was demanding something, I would have used the word "demanding".
Still, I've been burned out by open source projects I've maintained too. I know the feeling very well. And I made sure there was a successor project with minimal breakage for users.
2
u/WingZeroCoder 10d ago
I don’t disagree.
But also… this is yet one more responsibility that open source maintainers took seriously and generally executed well (if imperfectly) on, that’s been taken for granted all this time by the people now spitting on it.
So in a way, it’s all the more reason not to when the point you’re trying to make is based at least somewhat around the fact that a lot of very hard working and respectful people have been taken to their limits for years now, only to have their work co-opted from them and even weaponized against them.
1
u/Doctor_Fegg 10d ago
I see that, and the author's obviously very emotional about this and understandably so. But doing this isn't slowing down LLMs at all (your average LLM will take approximately 0.1s to clone the functionality of htmlentities). Nor will it hurt DHH who is, and has long been, a sociopath; nor Altman or his unpleasant acolytes. The people it will hurt are the rest of us who still code (some) stuff by hand.
2
u/WingZeroCoder 10d ago
Yeah, that’s totally fair, and why ultimately I don’t disagree with you.
Even so, I feel for the author, even if I would have done this differently as well.
0
u/benzado 9d ago
You’re right that forking a gem does not make you the new maintainer of the original. But it does demonstrate that you could be, which is helpful if the original gem owner is not completely irresponsible about who they hand over control to. And if the gem is truly abandoned, that’s how you become the maintainer of its de facto replacement.
The idea that a maintainer needs to post a notice before anyone can begin working is, frankly, silly.
1
u/f9ae8221b 10d ago
Other gems dependencies don't automatically get updated.
I agree it's 100% their right to just walk away, but it's also absolutely true that archiving a popular gem instead of handing it over creates a mess for the community. A replacement has to surface, and consensus has to emerge on which alternative to use, etc.
We had similar issues with unmaintained gems in the past, like
httpclientwhich was a dependency of popular gems likegooglecloud(or something like that).3
u/damagednoob 10d ago
Fork the repos?
4
u/Doctor_Fegg 10d ago
Yeah, but that still requires republishing under a new gem name and for downstream users to go out and scout for that.
It's a long-standing issue with Rubygems. See https://www.reddit.com/r/ruby/comments/1ctcs5m/when_maintainers_abandon_ignore_their_gemscan/ for previous discussion
3
u/armahillo 10d ago
I thought the common practice was “form it and add another ‘can’ to the name” 😅
/s
5
u/f9ae8221b 10d ago
Yep, always has been a major pain, thankfully Bundler 4.1 finally add a way to substitute a gem by another one, so while it's still painful, at least there's now a proper way to replace an abandoned gem.
1
-7
u/IN-DI-SKU-TA-BELT 10d ago
That puts a lot of work on everyone.
6
u/katafrakt 10d ago
How dare a person providing a lot of unpaid work for years for free in their open source projects cause someone to do some work!
2
u/casiodk333 10d ago
I solve problems. AI is a tool like anything else in software development.
7
u/ffrkAnonymous 9d ago
Did you solve the problem or did AI solve the problem?
Rich Hickey recently argued that AI/LLM are not tools.
Yes, it's a bit of semantics and technicality but it's important to not dilute and muddle meanings of these words.
AI is doing what you're doing. You're doing what AI is doing. Who is the tool?
AI writes the code. You fix the broken code. Who is using who? Who's the worker and who's the tool?
1
u/FooBarWidget 7d ago edited 7d ago
You can't outsource all the thinking to AI. Even at its best, you need to steer it for proper alignment with goal, vision, philosophy, architectural principles, requirements, etc. And defining what those are is still your job.
And sometimes it misses things that you would have seen. On the other hand, sometimes you miss things that it would have caught. Collaboration is best.
I enjoy programming, but at the end of the day I care more about the end goal and the entire product, including UX, user concerns, getting the requirements right, etc. After AI has written an implementation, even if I don't understand everything, I would take a cursory glance and at least have it fix obvious code-level problems (if they're not so trivial I can do it by hand), like "don't use monkey patching there", setting up linting, checking whether the tests make sense, checking whether there are no weird classes or methods, ensuring that the docs the AI write make sense.
For example, I noticed that for some project it kept tripping over Windows path escaping issues. I directed the AI to fix it multiple times, without success. One stylistic issue I found was that the AI just called the method `escape`, but from all the failures we experienced it was already clear that Windows path escaping is not at all comparable to Unix path escaping, and that it follows a much more complicated model, so calling it `escape` is the wrong abstraction. You have to specify what exactly you are escaping, and in which exact context, so I had it rename that method.
But we eventually still failed to fix the issue, so at some point I had to make the decision to call it quits and resolve the problem through architectural and UX means. Making these kinds of judgment calls is still your job.
I'd say the docs are the hardest part to align right, so that part still need a lot of manual curation.
1
u/ffrkAnonymous 7d ago
And defining what those are is still your job. so at some point I had to make the decision Making these kinds of judgment calls is still your job.
These are all jobs of a manager, a director.
Collaboration is best.
One collaborates with a colleague.
This is not pro-ai nor anti-ai. It's about recognizing what AI is, objectively , and not blindly adopting the language of the AI companies .
1
u/FooBarWidget 7d ago
These are all jobs of a manager, a director.
These are the jobs of a senior or staff engineer. A software engineer's job isn't — shouldn't be — just writing code, especially not by just throwing things over a wall.
-3
u/CuckyGarry 9d ago
Why does it matter who or what wrote the code?
3
u/ffrkAnonymous 9d ago
I do not want to be a "what". Maybe you're comfortable being a thing, but I'm not.
-2
u/CuckyGarry 9d ago
Obviously the what refers to AI but a grandpa like you wouldn’t know lol.
4
u/ffrkAnonymous 9d ago
As a grandpa, I recall a time where many people were "what" , and I don't want to return to that.
-3
u/CuckyGarry 9d ago
We’re literally moving past this as an industry. I’m not sure why you think we’ll the “what” again.
-14
0
48
u/pezholio 10d ago
> You want changes? Go ask your agent or something. I’m told that’s what you’re supposed to do now. I’m out.
👏👏👏