specification: FinOps Framework specificationVersion: '1.0' schema: https://www.finops.org/framework/ provider: RubyGems providerId: rubygems created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. method: generated modified: '2026-05-05' reconciled: true tags: - Ruby - Package Manager - Open Source - FinOps - FOCUS description: 'FOCUS-aligned FinOps shape for RubyGems.org: a free, community-funded public registry with no direct billing. FinOps relevance is indirect — internal cost of CI bandwidth and storage when consuming the registry — rather than vendor invoice reconciliation.' sources: - https://guides.rubygems.org/rubygems-org-rate-limits/ - https://rubygems.org/pages/sponsors - https://focus.finops.org/focus-specification/v1-3/ alignedWith: framework: FinOps Foundation Framework frameworkUrl: https://www.finops.org/framework/ dataSpec: FOCUS dataSpecVersion: '1.3' dataSpecUrl: https://focus.finops.org/focus-specification/v1-3/ publisherName: Ruby Central, Inc. serviceCategory: Developer Tools / Package Registry billingModel: pricingCategory: Free / Community-Funded billingFrequency: Not Applicable billingCurrency: USD chargeCategories: [] focusColumns: ServiceName: RubyGems.org ServiceCategory: Developer Tools / Package Registry ProviderName: RubyGems PublisherName: Ruby Central, Inc. InvoiceIssuerName: Ruby Central, Inc. BillingCurrency: USD meters: - name: api_requests unit: request aggregation: sum dimensions: - endpoint - source_ip - name: gem_publishes unit: request aggregation: sum dimensions: - account - name: dependency_index_fetches unit: request aggregation: sum dimensions: - source_ip - name: download_bytes unit: GB aggregation: sum dimensions: - gem principles: - name: Visibility description: There is no per-consumer billing telemetry from RubyGems.org. Visibility comes from the consumer side (CI logs, mirror access logs, Bundler resolution traces) rather than provider-issued invoices. - name: Allocation description: Allocate the indirect costs (CI minutes, internal mirror storage/egress) by tagging Bundler / gem fetches with the project, environment, and pipeline that triggered them. - name: Optimization description: Use the compact index endpoints, run an internal gem mirror, cache aggressively in CI, and avoid hitting POST /api/v1/gems retry loops to stay well below load-balancer and rack-attack thresholds. - name: Accountability description: Engineering teams own their CI consumption and dependency hygiene. Sustained abusive traffic is escalated through support@rubygems.org. maintainers: - FN: Kin Lane email: kin@apievangelist.com