RubyGems & Bundler (2023)

Paketverwaltung für Ruby, eine beliebte Programmiersprache

Eckdaten

Status:
Laufend
Investition
668.400,00 €
Investitionsjahr(e)
2023, 2024

RubyGems & Bundler bieten Bibliotheks- und Softwarepaketverwaltung an, die in jeder Kopie der Programmiersprache Ruby in der Standardbibliothek der Sprache enthalten ist.

RubyGems.org hostet öffentlich verfügbare Softwarepakete (sogenannte „Gems“), die es Entwickler:innen ermöglichen, neue Funktionen schnell und einfach in ihre Projekte zu integrieren, während Bundler genau die Gems und Versionen herunterlädt und installiert, die für ein bestimmtes Projekt benötigt werden. Mit RubyGems und Bundler laden hunderttausende Ruby-Entwickler:innen jeden Monat Milliarden von Gems von RubyGems.org herunter.

Die Programmiersprache Ruby und das Ruby on Rails Framework sind heute unter anderem aufgrund ihrer Flexibilität weit verbreitet. Sie sind eine wichtige Ressource, die von bekannten Unternehmen wie GitHub, Stripe, Shopify, Kickstarter, Twitch und Airbnb sowie von Open-Source-Projekten wie Mastodon, GitLab und Discourse genutzt wird. All diese Anwendungen sind auf das reibungslose Funktionieren und die Sicherheit von Bundler und RubyGems angewiesen.

Warum ist das wichtig?

Sowohl Bundler als auch RubyGems sind unverzichtbare Werkzeuge für die Verwendung von Ruby. Etliche Anwendungen in vielen Bereichen sind auf ihre regelmäßige Wartung und Verbesserung sowie auf ihre ständige Einsatzfähigkeit angewiesen. Ein Ausfall der RubyGems-Server oder ein Funktionsverlust von Bundler hätte weltweit große Auswirkungen. Indem sie die Hosting-Plattform für Gems verbessern, erhöhen sie die Sicherheit der Softwareproduktion und tragen dazu bei, das Ruby-Ökosystem vor Angriffen aus der Lieferkette zu schützen. Daher zählen die beiden Tools zu kritischer Infrastruktur, nicht nur für die Entwickler:innen, die sie verwenden, sondern auch für unzählige öffentliche und private Dienste, die täglich von Hunderten von Millionen Menschen genutzt werden.

Es gibt viele Open-Source-Projekte, die Ruby oder das Ruby on Rails Framework verwenden. Einige Beispiele für beliebte Open-Source-Projekte, die Ruby verwenden, sind:

  • Discourse, eine digitale Plattform für Diskussionsforen
  • GitLab, ein webbasierter Git-Repository-Manager
  • Jekyll, ein Generator für statische Websites
  • Mastodon, ein kostenloses, dezentrales und quelloffenes soziales Netzwerk
  • Spree Commerce, eine Open-Source-E-Commerce-Plattform, die über 1,5 Millionen Mal von RubyGems heruntergeladen wurde
  • Metasploit, ein branchenübliches Tool für die Sicherheitsforschung
  • Homebrew, der beliebteste Paketmanager für macOS
  • Code.org, ein beliebter Lehrplan für den Informatikunterricht

Was unterstützen wir?

Als eines der Pilotprojekte des Sovereign Tech Fund (Oktober 2022 bis Mai 2023) wurden die folgenden Arbeiten in Auftrag gegeben: Wartung von Bundler, RubyGems und des Dienstes RubyGems.org. Diese Arbeiten gewährleisten die Kompatibilität von Bundler mit aktuellen und zukünftigen Betriebssystemen, verbessern die Leistung von RubyGems.org für Milliarden von monatlichen Downloads und stellen sicher, dass Probleme in der Sicherheit und Zuverlässigkeit des Tools schnell und entschlossen behoben werden können. Es wurde auch in übergeordnete Tools investiert, um das Leben von Ruby-Entwickler:innen zu erleichtern, z. B. in Projekte wie Gemstash, die Ruby Toolbox und die Online-Dokumentation der Ruby-API.

In den Jahren 2023 und 2024 hat der STF Ruby Central, eine gemeinnützige Organisation, die sich der Förderung und Erhaltung der Verwendung der Programmiersprache Ruby verschrieben hat, mit den folgenden Arbeiten beauftragt:

  • Verbesserung der Zuverlässigkeit des globalen RubyGems.org-Service, einschließlich einer bezahlten 24/7-Rufbereitschaft von 3 bis 5 Personen, die eine schnelle Reaktion auf Notfälle, Zwischenfälle oder kritische Sicherheitsprobleme ermöglicht; Infrastruktur-Upgrades (Kubernetes, Elasticsearch, PostgreSQL); Abschaffung und Entfernung veralteter APIs; automatisierte Überprüfungsumgebungen, um einfacher testen und den Entwicklungsprozess beschleunigen zu können.
  • Beseitigung von Schmerzpunkten, Verbesserung der Effizienz und Workflow-Tools für RubyGems-Maintainer:innen: Admin-Tools zur Unterstützung von Nutzer:innen und zur Lösung von Problemen; Verwerfen und Entfernen bestimmter Befehle sowie eines ungeprüften kryptografischen Signierungsschemas aus der Vergangenheit, um künftige Bugs zu reduzieren.
  • Verbesserte Unterstützung für Organisationen: Namespaces für Organisationen zur Vermeidung von „name-confusion“ Attacken; Hinzufügen mehrerer Benutzer:innen-berechtigungsstufen; ein Terraform-Anbieter zur Verwaltung von Berechtigungen für Gems; Verbesserung der Sicherheit auf rubygems.org; bessere und automatisierte Kontoverwaltung.
  • Verbesserungen für Entwickler:innen von Gems: Download-Grafiken pro Version, um reale Änderungen der Nutzung im Laufe der Zeit zu zeigen; sichere Freigabe von Gems; Verbesserung der Unterstützung für „compact index“, was die Bestimmung der Kompatibilität der verwendeten Gems untereinander beschleunigt sowie die Sicherheit, das Zwischenspeichern und die Erkennung von Fehlern verbessert und gleichzeitig die Serverkosten und die Bandbreite reduziert.
  • Verbesserungen für Ruby-Entwickler:innen: Neue Funktionen auf der Grundlage von Nutzer:innen-Anfragen; eine Ansicht zur Anzeige von Paketinhalten (nicht nur von Repository-Inhalten); eine Ansicht zur Anzeige von Änderungen zwischen Versionen; Erweiterung und Pflege des Ruby Toolbox-Leitfadens, der Entwickler:innen den Einstieg in die Verwendung von Ruby erleichtert; Erweiterung der Website rubyapi.org um Dokumentation zur Sprache Ruby selbst sowie zu APIs.

More technologies

Alle Technologien