Skip to content

Commit 8335d02

Browse files
committed
📝 Document history of why this exists
1 parent 1ff2644 commit 8335d02

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,46 @@ A _fast_ GitHub Action for fast Ruby environment setup using [rv](https://github
5151

5252
[setup-ruby]: https://github.com/ruby/setup-ruby
5353

54+
## Why?
55+
56+
<details>
57+
<summary>Click to see historical background around why I built this</summary>
58+
59+
| 📍 NOTE |
60+
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
61+
| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. |
62+
| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and an reason has been given for only 1 of those, while 2 others resigned in protest. |
63+
| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. |
64+
| Simply put - there was active policy for adding or removing maintainers/owners of [rubygems][rubygems-maint-policy] and [bundler][bundler-maint-policy], and those [policies were not followed][policy-fail]. |
65+
| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. |
66+
| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. |
67+
| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. |
68+
| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. |
69+
| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. |
70+
| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
71+
| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. |
72+
73+
[rubygems-org]: https://github.com/rubygems/
74+
[draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
75+
[draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
76+
[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/
77+
[simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV
78+
[martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q
79+
[draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/
80+
[draper-theft]: https://joel.drapper.me/p/ruby-central/
81+
[reinteractive]: https://reinteractive.com/ruby-on-rails
82+
[gem-coop]: https://gem.coop
83+
[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12
84+
[martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
85+
[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace
86+
[gem-server]: https://github.com/galtzo-floss/gem-server
87+
[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
88+
[bundler-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/bundler/playbooks/TEAM_CHANGES.md
89+
[rubygems-maint-policy]: https://github.com/ruby/rubygems/blob/b1ab33a3d52310a84d16b193991af07f5a6a07c0/doc/rubygems/POLICIES.md?plain=1#L187-L196
90+
[policy-fail]: https://www.reddit.com/r/ruby/comments/1ove9vp/rubycentral_hates_this_one_fact/
91+
92+
</details>
93+
5494
## Quick Start
5595

5696
### Basic Usage

0 commit comments

Comments
 (0)