3 ms·
The only gripe I have with the Ruby ecosystem (and transitively to Rails) is that RubyGems is not curated, and many gems have bitrotted into broken obsolescence
by inopinatus 3y ago
The only gripe I have with the Ruby ecosystem (and transitively to Rails) is that RubyGems is not curated, and many gems have bitrotted into broken obsolescence over the years, but these are presented with equal standing to those that are actively maintained, and it takes a discerning eye & additional effort to tell the abandoned ones apart from packages that are simply very stable.
There’s also a ton of idea placeholder and half-baked proof-of-concept gems. These are easier to spot (usually released once, years ago) but are now nothing but squatters on the namespace.
Even if human effort is too much to ask, a filtered subset of packages that successfully bundle and pass their own tests for specific Ruby version+arch would be helpful. More broadly, perhaps that RubyGems should even be entirely siloed for each annual Ruby release, since this tends to be the boundary of breaking changes to the language (see also: semver) and approximately the cycle on which unmaintained packages become an obstacle to the update of shared dependencies.
- graypegg 3y agohttps://www.ruby-toolbox.com/ https://www.ruby-toolbox.com/ If you’d like a list of maintained gems! They even show activity stats for each gem.
- inopinatus 3y agoYes - Ruby Toolbox is handy, one of the discovery and currency assessment tools I use too, and is good at surfacing projects that are actively developed, but it takes a metric driven approach that's intrinsically weak at distinguishing between abandoned code and stable code. It won't reveal when a decaying gem will cause other dependencies to be held back, and Ruby Toolbox suffers from the same fundamental blindness to compatibility with specific language editions that RubyGems has. Since it’s not a part of RubyGems, it ultimately can't offer a reliable barrier to inadvertently installing bitrotted code. None of this is meant as a criticism of Ruby Toolbox, because it never claimed to do all that, nor can we expect it to. All said & done, and to reframe things more constructively, I think there's a missing piece in the community infrastructure puzzle that someone could fill if they had the time, inclination, and build farm to do it.