1 Punkte von GN⁺ 2025-09-24 | 2 Kommentare | Auf WhatsApp teilen
  • Ruby Central hat Open-Source-Projekte wie Bundler und RubyGems ohne Zustimmung der bisherigen Maintainer übernommen
  • Hintergründe sind vor allem der finanzielle Druck durch Shopify und die Geldnot von Ruby Central; dabei wurden bestimmte Maintainer aus den Projekten ausgeschlossen
  • Der Prozess der erzwungenen Übertragung von GitHub-Repositories und gem-Eigentum lief nicht öffentlich ab und führte zu Verwirrung und Widerstand in der Community
  • Ruby Central und Shopify rechtfertigten dies mit Verantwortung für Sicherheit und Infrastruktur, tatsächlich geht es im Kern jedoch um Eigentumsfragen und eine Vertrauenskrise in der Community
  • Einige frühere Maintainer konzentrieren sich nun auf die Konkurrenzprojekte Spinel und rv und suchen nach neuen Ansätzen für das Ruby-Ökosystem

Überblick

Ruby Central hat kürzlich Eigentum und Kontrolle über wichtige Open-Source-Projekte wie Bundler und RubyGems einseitig und ohne Zustimmung der bisherigen Maintainer übernommen. In diesen Vorgang verwoben sind finanzieller Druck durch Shopify, die Geldnot von Ruby Central, der Ausschluss zentraler Maintainer und Verwirrung in der Community.

Zusammenfassung der wichtigsten Ereignisse

  • Ruby Central hatte mit finanziellen Schwierigkeiten zu kämpfen; Sidekiq zog seine jährliche Förderung von 250.000 US-Dollar zurück, nachdem DHH zur RailsConf eingeladen worden war
  • Infolgedessen wurde Ruby Central stark von Shopify abhängig
  • Shopify verlangte von Ruby Central die vollständige Übernahme der GitHub-Repositories sowie des Eigentums an Bundler und dem Gem rubygems-update und setzte mit dem Entzug von Fördergeldern unter Druck, falls dies nicht umgesetzt würde
  • Beim Übernahmeprozess wurden zentrale Maintainer, insbesondere André Arko, ausgeschlossen, und die Umstellung wurde ohne Zustimmung der Community erzwungen
  • Der Ablauf des Vorfalls und die internen Diskussionen wurden nach außen hin schnell und nicht öffentlich abgewickelt, wodurch viele wichtige Mitglieder der Community ausgeschlossen wurden

Detaillierter Ablauf der Übernahme von Bundler und RubyGems

Ausgangslage

  • Am 9. September änderte Hiroshi Shibata (HSBT) den Namen des RubyGems-GitHub-Enterprise-Kontos in „Ruby Central“, fügte Marty Haught als neuen Owner hinzu und entzog den bisherigen Maintainers teilweise ihre Rechte
  • Nachdem diese Maßnahme problematisiert wurde, wurden einige Rechte wiederhergestellt; die Hinzufügung von Marty als Owner wurde jedoch nicht rückgängig gemacht

Diskussion über Eigentum und die Abgrenzung von Services

  • Das RubyGems-Sourcecode-Repository wird von der Community besessen und verwaltet
  • Der RubyGems Service ist ein von Ruby Central separat betriebener Infrastruktur-Service
  • Obwohl diese beiden Konzepte klar voneinander getrennt werden müssten, vermischte Ruby Central sie und nutzte dies als Grundlage für den Eigentumsanspruch

Entzug von Rechten und Vollzug der Übernahme

  • Um den 18. September herum verloren die bisherigen Maintainer erneut ihre Zugriffsrechte und wurden aus den Konten bei GitHub, Fastly und rubygems.org ausgeschlossen
  • Der Vorstand von Ruby Central beschloss in einer Abstimmung die erzwungene Übernahme der GitHub-Repositories und des gem-Eigentums; Marty setzte dies allein um

Vertiefte Abhängigkeit von Ruby Central von Shopify

  • Durch die Einladung von DHH zur RailsConf verlor Ruby Central bestehende Förderung durch Sidekiq, wodurch sich die Finanzstruktur auf Shopify konzentrierte
  • Während der Rails World wurden zwischen wichtigen Personen und Unternehmen wie Ruby Central, Rails Core, Shopify und GitHub Bedingungen für langfristige Förderung diskutiert; dabei wurden der Ausschluss bestimmter Maintainer und die Übertragung von Eigentum als Bedingungen eingefordert
  • Auch innerhalb des Vorstands herrschte die Einschätzung, dass „die einzige andere Option darin bestanden hätte, die Schließung von Ruby Central einzuleiten“

Umsetzung der Übernahme und Reaktion der Community

  • Der Vorstand von Ruby Central erteilte Marty die Befugnis, die Übernahme sofort umzusetzen; Shopify stellte Engineers bereit, um die On-Call-Struktur schnell umzustellen
  • Nachdem Ellen dies als Erste öffentlich gemacht hatte, veröffentlichte Ruby Central eine offizielle Stellungnahme mit der Begründung, die „Sicherheit der Supply Chain“ zu stärken
  • Intern wurden Sicherheits- und personelle Vertrauensprobleme betont; tatsächlich lag das Kernproblem jedoch in einem nicht legitimierten Eigentumsübergang und fehlendem Konsens in der Community

Aussagen zentraler Personen und Streitpunkte

  • DHH veröffentlichte einen Tweet zur Unterstützung der Übernahme von Bundler/Gems, hatte sich jedoch in der Vergangenheit bei einem Fall der erzwungenen Übernahme von WordPress-Plugins gegenteilig geäußert, was Kritik an fehlender Konsistenz auslöste
  • Der Vorstand von Ruby Central und einige Beteiligte sorgten für Verwirrung, indem sie Äußerungen machten, die den Betrieb der RubyGems.org-Infrastruktur mit dem Eigentum am Sourcecode-Repository vermischten
  • Shun Cureton und andere erklärten, die Abstimmung mit den Maintainers habe innerhalb der verfügbaren Zeit nicht stattfinden können, daher seien die Rechte nur vorübergehend eingeschränkt worden. Dennoch ist ein dauerhafter Ausschluss einiger früherer Maintainer wahrscheinlich

Das Auftreten von Spinel und rv

  • Frühere Maintainer von Bundler und RubyGems wie André Arko und Samuel Giddins gründeten die neue Genossenschaft Spinel und begannen mit der Entwicklung des neuen Ruby-Verwaltungstools rv
  • rv zielt darauf ab, umfangreiche Verwaltungsfunktionen für gems, Ruby-Versionen, Abhängigkeiten und binäre Vorpaketierung zu integrieren und will mehrere bestehende Tools wie rvm, rbenv, bundler und rubygems ersetzen
  • Teile von Shopify und Rails Core sehen in Spinel und rv eine potenzielle Bedrohung für ein zentralisiertes Ruby-Ökosystem

Fazit und Bedenken

  • Es ist unklar, ob Ruby Central das Eigentum an Bundler und RubyGems künftig wieder an die Community zurückgeben wird
  • Dass der Vorstand von Ruby Central die erzwungene Übernahme ohne Zustimmung trotz ausreichender Kenntnis der Folgen und Alternativen durchführte, hat dem Vertrauen der Community schweren Schaden zugefügt
  • Kritisiert wird zudem eine Governance-Struktur, die gegenüber dem Druck von Unternehmen wie Shopify anfällig ist; gleichzeitig wird die Notwendigkeit neuer Community-Alternativen wie Spinel hervorgehoben

Disclosure

  • Der Autor war von 2017 bis 2022 bei Shopify beschäftigt

Disclaimer

  • Diese Zusammenfassung ist die Einschätzung eines Nichtfachmanns und basiert auf Interviews mit mehreren Stakeholdern sowie auf Sitzungsprotokollen. Auslassungen und Fehler sind möglich.

Changelog

    1. September 2025: Einige Namen von Teilnehmenden der Rails World entfernt, Zitat von DHH zu WordPress ergänzt

2 Kommentare

 
click 2025-09-24

Ist am Ende also DHH die eigentliche Ursache?

 
GN⁺ 2025-09-24
Hacker-News-Kommentare
  • Ich kann meine Überraschung über die Nachricht kaum verbergen, dass Sidekiq seine jährliche Förderung von 250.000 $ für Ruby Central zurückgezogen hat, denn Sidekiq – oder vielmehr ContribSys – ist ein Ein-Mann-Unternehmen, das allein von Mike Perham betrieben wird. In einem Interview vor einigen Jahren sagte Mike, dass er ohne Mitarbeiter 1 Mio. $ pro Jahr verdiente und dafür nicht einmal eigene Server betreiben musste. Laut einem aktuellen Podcast von 2023 soll er inzwischen allein fast 10 Mio. $ Jahresumsatz machen, und ich finde, das ist ein ziemlich großartiges Leben für einen Solo-Gründer und Entwickler.
    • Mike ist wirklich ein großartiger Mensch, und allein die Tatsache, dass es ihn in der Community gibt, ist ein großes Glück. Ich wusste nicht, wie hoch seine Förderung war, aber schon daran, dass er weder seine Spenden noch deren Rückzug gesondert öffentlich macht, erkennt man, dass er ein Mensch mit Prinzipien ist.
  • Die Hintergründe sind gut erklärt, aber ich verstehe immer noch nicht wirklich, warum das passiert ist. Shopify hat schon immer viel zu Ruby und Rails beigetragen und sie großzügig unterstützt, deshalb habe ich das Unternehmen früher nicht negativ gesehen.
    • Wenn ich die Kommentare lese, verstehe ich nicht, warum so viel Angst davor besteht, dass Shopify eine größere Rolle übernimmt. Das Unternehmen ist seit Langem ein wichtiger Kernbeitragender zu Ruby. Ich stimme dem Vorgehen in diesem Fall zwar nicht zu, aber aus diesem Artikel allein lässt sich nur schwer eine böswillige Absicht herauslesen.
    • Es wirkt wie eine Mischung aus guten Absichten, Missverständnissen und mangelnder Kommunikation. Shopify wollte strengere Zugriffskontrollen, um das Risiko von Supply-Chain-Angriffen zu senken und die Governance zu verbessern, und setzte dafür eine Frist. Die Teilzeit-Maintainer schoben es bis zum letzten Moment auf, dann wurde Einfluss ausgeübt, um die Wartung zu übernehmen, ohne vernünftig zu kommunizieren oder eine echte Einigung zu erzielen, was die bisherigen Maintainer überraschte und die Verwirrung noch vergrößerte. Themen wie konkurrierende Tools und die DHH-Kontroverse mögen manche harte Reaktion beeinflusst haben, sind aber nicht die direkte Ursache dieses Vorfalls.
    • Wenn man zwischen den Zeilen liest und ein wenig spekuliert, ergibt sich ungefähr folgender Ablauf: 1) Leute mit teilweiser Kontrolle über RubyGems versuchten, DHH auszuschließen. 2) Kräfte, die DHH nahestanden, warfen diese Leute aus RubyGems hinaus. 3) Alle rechtfertigen ihr eigenes Handeln mit dem Banner „gute Ingenieurspraxis“. Am Ende ist es eine Situation wie in Game of Thrones: „Man gewinnt oder man verliert.“
    • Ich habe gehört, dass einige Organisationen ihre Finanzierung wegen DHHs Auftreten und Sorgen um die Supply-Chain-Sicherheit zurückgezogen haben. Shopify ist dann für eine zentrale Abhängigkeit selbst aktiv geworden und hat die Führung übernommen.
  • Unter dem Vorwand, die Supply-Chain-Sicherheit zu stärken, wurde behauptet, der Admin-Zugriff auf RubyGems.org, RubyGems und Bundler werde sicher verwaltet. Tatsächlich war es aber eher eine unerwünschte Situation, in der interne Spaltung beinahe in einen böswilligen Supply-Chain-Angriff umschlug.
    • Ich würde gern genauer wissen, welche böswilligen Handlungen es konkret gegeben haben soll. Mich interessieren die Fakten, zum Beispiel ob tatsächlich Schadcode eingeschleust wurde.
  • Ich hatte nicht erwartet, einen so gut zusammengestellten Beitrag zu lesen. In der Ruby-Community gab es schon früher interne Konflikte, aber bei diesem Vorfall ist es besonders schade zu sehen, wie Vertrauen und Verbundenheit durch kurzsichtige Zerstörung zerbrechen.
    • Wenn das heutige Ruby sich tatsächlich „selbst auffrisst“, dann hoffe ich, dass es sich auch in Zukunft weiter selbst auffrisst.
    • Ich frage mich, warum es überhaupt zu diesem Zustand des „Selbst-Auffressens“ gekommen ist.
    • Der Behauptung, die Ruby-Community sei schon seit ihren Anfangstagen von starken internen Konflikten geprägt gewesen, kann ich schwer zustimmen. Die frühe Ruby-Community war großartig.
    • Der Artikel ist zu unübersichtlich; manche Teile gehen zu sehr ins Detail, während an anderer Stelle wichtige Inhalte fehlen, sodass es schwer ist, den Gesamtzusammenhang nachzuvollziehen. Ich stimme zu, dass die Ruby-Central-Affäre ein großes Chaos war und dass die Maintainer besser hätten behandelt werden müssen, aber ich finde es schade, dass der Autor wichtige Themen wie Kulturkampf-Aspekte nicht untersucht hat.
  • Ich frage mich, warum Samuel Giddins und André Arko als zu entfernende Personen markiert wurden und was genau das Problem war. Nach dem Artikel wirkt es so, als sei das auf Wunsch von Shopify geschehen, aber ich würde gern den genauen Grund kennen.
    • Der entsprechende Teil wird im Artikel hier erklärt.
  • Ich verstehe nicht, wie Ruby Central die Kontrolle über das RubyGems-Code-Repository und die Gems übernehmen wollte. Ruby Central hat doch keine Struktur, mit der es einfach so Rechte auf meinem GitHub ausüben könnte – oder lagen die Dinge unter einem Ruby-Central-Konto oder einer Organisations-Account?
    • Wie im Text ausdrücklich steht, lud ein Maintainer (HSBT) Marty als Owner des GitHub-Accounts ein, und das geschah ohne die bisherige Absprache.
    • Im Abschnitt „9. September, HSBT...“ wird beschrieben, dass ein bestehender RubyGems-Maintainer einen neuen Nutzer als Owner hinzufügte und das meiste später wieder zurücknahm. Ein neuer Nutzer blieb jedoch als Owner der RubyGems-GitHub-Organisation eingetragen, und dadurch konnte Ruby Central später verschiedene Dinge tun.
    • Soweit ich gehört habe, wurde die RubyGems-Organisation in Ruby Central umbenannt.
  • Wenn man Risiken auf Ebene einer GitHub-Organisation nicht akzeptieren will, ist es klüger, gar nicht erst in eine solche Struktur einzutreten. Selbst wenn ein Maintainer Teil einer Organisation wird, sollte GitHub unbedingt eine Funktion haben, mit der mein Repository letztlich vollständig unter meiner Kontrolle bleibt und ich es bei Bedarf jederzeit wieder herauslösen kann.
  • Dazu gibt es auch weitere aktuelle Diskussionen
  • Soweit ich weiß, besitzt Ruby Central den Quellcode nicht, sondern betreibt nur den Dienst. Wer hat dann die GitHub-Accounts oder Repositories besessen, und wer hat sie ursprünglich angelegt?
    • Soweit ich mich erinnere, waren die Leute, die Ruby Central gegründet haben, auch an der Entstehung von RubyGems in den frühen Tagen beteiligt, etwa David Black und Chad Fowler. Das ist allerdings schon lange her und hat mit der aktuellen Kontroverse vielleicht nicht mehr viel zu tun.
  • Ich hoffe, dass sich diese ganze Kontroverse gut lösen lässt. Das erinnert mich daran, welche Auswirkungen die Übernahme von Sun Microsystems durch Oracle damals auf die Community und die Maintainer hatte.