Sean Hogge

September 26, 2025

Two Birds Give Out a Song

Darkest Timeline

You know that meme/scene from Community where Troy comes back from getting the delivery pizza and things are on fire and the cast is fighting and all that?

That's me. I'm Troy.

I recently wrote my first Rails plugin. I've been a Rails developer for over 10 years now. For many reasons, some of which are embarrassing, I've never written a Rails plugin. It's a specific kind of Ruby gem.

Just as I was reading up about how to publish my work on RubyGems.org so that other Rails developers could "gem install" or add my work to theirs via their Gemfile without a GitHub link, everything with RubyGems, Ruby Central, and the Ruby community became news.


The Message

I don't know what's actually happening. We have first-, second-, and third-hand accounts, some of which conflict. Trusted members are saying other trusted members aren't being clear or aren't correct or aren't being honest.

What's relevant is that it appears maintainers of gems that are hosted on RubyGems are being removed from repositories they either created or maintained.

What's relevant is that before this, I would never have asked myself the question: "should I publish my gem to RubyGems?"

What's relevant is that I'm asking myself this now. Is that what I should be considering when contributing to the ruby community?


Leadership

I've been in leadership roles a few times. I've been on 501(c)(3) boards. I've never handled a fiduciary responsibility for more than about a $100,000 annual budget (at most), and this included a revenue-generating division.

So my experience is adjacent, but not nearly in the same league. But there are some things I learned from those experiences.

  1. Leading is entirely about supporting those who are doing.
  2. Almost every decision has a downside, and if you're lucky the downside is clearly recognizable and unequal to the upside.
  3. Tangible action should have a tangible impetus


Immutable Objects

I harbor no illusion that RubyGems can be easily replaced or isn't beholden to some sort of financial support.

So I would say to Ruby Central:

Is your purpose to help developers like me help other developers (by sharing open source software)?
If so, are you helping me by doing what you are doing?

If I instead go to rubycentral.org to answer the first question myself:

Ruby Central's Open Source Program focuses on maintaining and improving critical infrastructure and tools for the Ruby ecosystem. The program aims to ensure these fundamental components are secure, reliable, scalable, and fast, enabling developers to effectively package, share, and use Ruby software. 

Ruby Central recognizes the importance of sustainable, high-quality tooling and infrastructure for both short-term business success and the long-term vitality of the Ruby community. Through this program, Ruby Central fulfills its unique position and obligation to coordinate, fund, develop, and operate shared resources that benefit the entire Ruby ecosystem.

It sounds like Ruby Central has listed its priorities in order. Are the recent changes (explained as changes to improve security and reliability) a tangible action with a tangible impetus? What threats to security and reliability are being addressed?

I'm now worried that if I publish my work on your platform that I will lose access to it. Whether that is true or not, do you recognize that it's a failure in leadership that someone like me has this worry? It may not be true, but it isn't unfounded.


MINADUCK

I don't like MINASWAN. It reminds me of "As a father of girls..." What often follows is support of something that shouldn't require the siring of female progeny to support. I like Matz, but I don't want my behavior to hinge on his behavior.

I prefer MINADUCK. Motivation is nice, although don't undervalue causeless kindness.

Comic acronym contortion aside, is this how we want to be? Is everyone acting in the best interests of the appropriate priority? Is this leadership in which the leaders can have pride?

I just want to write code that helps others. Please help me do that without hurting others.