ruby/ruby
Maintainers
Ownership in ruby/ruby is documented authoritatively in doc/maintainers.md. That file is consulted by the auto-review-request workflow (.github/auto_request_review.yml) to nominate reviewers when a PR is opened.
This page summarises the major subsystem owners. For default gems whose source is vendored from upstream gem repositories, the real maintainer is the upstream gem's owner.
Top-level
| Area | Owner |
|---|---|
| Language core features and security | Yukihiro "Matz" Matsumoto |
| Evaluator (VM, eval) | Koichi Sasada (ko1) |
| Core classes (overall) | Yukihiro Matsumoto |
Subsystems
| Subsystem | Maintainer(s) |
|---|---|
Garbage collector (gc/, gc.c) |
Peter Zhu, Matt Valentine-House (the "GC team") |
Parser (parse.y) |
Yui Naruse (naruse), Yuichiro Kaneko (yui-knk) |
Prism (prism/) |
Kevin Newton, Shopify Prism team |
Lrama (tool/lrama/) |
Yuichiro Kaneko (yui-knk) |
YJIT (yjit/) |
Maxime Chevalier-Boisvert, Alan Wu, Takashi Kokubun, Aaron Patterson, Shopify YJIT team |
ZJIT (zjit/) |
Shopify YJIT/ZJIT team |
Threads (thread.c, thread_pthread.c) |
Koichi Sasada (ko1) |
Ractor (ractor.c) |
Koichi Sasada (ko1) |
Fibers / coroutines (cont.c, coroutine/) |
Samuel Williams (ioquatix), Koichi Sasada |
Fiber Scheduler (scheduler.c) |
Samuel Williams (ioquatix) |
IO (io.c, io_buffer.c) |
Samuel Williams (ioquatix) |
Encoding / M17N (encoding.c, enc/) |
Yui Naruse (naruse), Martin Dürst (duerst) for Unicode normalisation |
Onigmo regex (reg*.c) |
K. Takata, Akinori MUSHA, upstream Onigmo maintainers |
Set (set.c, lib/set.rb) |
Akinori MUSHA (knu) |
Standard library (default gems)
Most default gems have an upstream repository; the maintainer there is the canonical owner. Selected mappings (full list in tool/sync_default_gems.rb's REPOSITORIES hash and doc/maintainers.md):
| Gem | Upstream | Maintainer |
|---|---|---|
rubygems / bundler |
github.com/rubygems/rubygems | Hiroshi SHIBATA (hsbt) and the rubygems team |
optparse |
github.com/ruby/optparse | Nobuyoshi Nakada (nobu) |
uri |
github.com/ruby/uri | Aaron Patterson (tenderlove) |
prism |
github.com/ruby/prism | Kevin Newton |
psych |
github.com/ruby/psych | Aaron Patterson |
json |
github.com/ruby/json | Jean Boussier (byroot) and the json team |
did_you_mean |
github.com/ruby/did_you_mean | Yuki Nishijima |
error_highlight |
github.com/ruby/error_highlight | Yusuke Endoh (mame) |
syntax_suggest |
github.com/ruby/syntax_suggest | Schneems and contributors |
irb |
github.com/ruby/irb | aycabta and the IRB team |
reline |
github.com/ruby/reline | aycabta |
rdoc |
github.com/ruby/rdoc | the rdoc team |
prettyprint / pp |
upstream + here | Yuki Sonoda |
pathname (Ruby + ext) |
here | Tanaka Akira (akr) |
mkmf (lib/mkmf.rb) |
here | (no specific maintainer; nobu in practice) |
unicode_normalize |
here | Martin J. Dürst (duerst) |
C extensions in ext/
| Extension | Maintainer |
|---|---|
ext/socket |
Tanaka Akira (akr) — API changes need matz's approval |
ext/openssl |
Kazuki Yamaguchi (rhenium) and the openssl team |
ext/digest |
Akinori MUSHA (knu) |
ext/pathname |
Tanaka Akira (akr) |
ext/coverage |
Yusuke Endoh (mame) |
ext/objspace |
(no specific maintainer) |
ext/ripper |
(no specific maintainer) |
ext/pty |
(no specific maintainer) |
ext/fiber |
Samuel Williams |
ext/monitor |
Koichi Sasada |
ext/win32 |
NAKAMURA Usaku (unak) |
ext/zlib |
(no specific maintainer; was UI Misuzu) |
ext/strscan |
upstream Sutou Kouhei (kou) |
ext/stringio |
Nobuyoshi Nakada |
ext/etc, ext/fcntl |
(legacy, low maintenance) |
Platform maintainers
Per doc/maintainers.md's "Platform Maintainers" section:
| Platform | Maintainer |
|---|---|
| Ubuntu / Debian | (community) |
| macOS | Yuta Saito (katei), Aaron Patterson |
| Windows MSVC | NAKAMURA Usaku (unak) |
| Windows MinGW | Lars Kanis |
| Solaris / illumos | (community) |
| AIX | (community) |
| WASM / WASI | Yuta Saito (katei) |
Branch maintainers
Stable releases of older Ruby branches are cut by per-branch maintainers. The current list is at the Release Engineering wiki page. Recent maintainers:
| Branch | Maintainer |
|---|---|
master (4.1 dev) |
All committers; Yui Naruse coordinates releases |
ruby_3_4 |
Yui Naruse (naruse) |
ruby_3_3 |
Yui Naruse |
ruby_3_2 |
Hiroshi SHIBATA (hsbt) |
How review-request automation works
When you open a PR, GitHub Actions consults .github/auto_request_review.yml and the labels mapped from doc/maintainers.md. Reviewers are auto-suggested based on which files the PR touches.
You can mention specific maintainers in the PR description if you want their attention, but the bot usually picks the right people based on paths.
How to update the list
The authoritative source is doc/maintainers.md. To update:
- Edit
doc/maintainers.md. - (If you're listed as a new owner of a path) update
.github/auto_request_review.ymlif your username isn't already mapped. - Open a PR.
The "3 months rule" applies: a maintainer who hasn't been active on their part for three months can be discharged. (See the cited ruby-core thread in the original document.)
See also
doc/maintainers.md— full list (this page summarises it)..github/auto_request_review.yml— reviewer auto-assignment..mailmap— historical author/email aliases (for git blame).tool/sync_default_gems.rb'sREPOSITORIEShash — gem ↔ upstream-repo mapping.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.