Maintainers
This page describes the current branch, module, library, and extension maintainers of Ruby.
Branch Maintainers
A branch maintainer is responsible for backporting commits into stable branches and publishing Ruby patch releases.
The list of current branch maintainers is available in the wiki.
Module Maintainers
A module maintainer is responsible for a certain part of Ruby.
- The maintainer fixes bugs of the part. Particularly, they should fix security vulnerabilities as soon as possible.
- They handle issues related the module on the Redmine or ML.
- They may be discharged by the 3 months rule [ruby-core:25764].
- They have commit right to Ruby's repository to modify their part in the repository.
- They have "developer" role on the Redmine to modify issues.
- They have authority to decide the feature of their part. But they should always respect discussions on ruby-core/ruby-dev.
A submaintainer of a module is like a maintainer. But the submaintainer does not have authority to change/add a feature on his/her part. They need consensus on ruby-core/ruby-dev before changing/adding. Some of submaintainers have commit right, others don't.
No maintainer means that there is no specific maintainer for the part now. The member of ruby core team can fix issues at anytime. But major changes need consensus on ruby-core/ruby-dev.
Language core features including security
- Yukihiro Matsumoto (matz)
Evaluator
- Koichi Sasada (ko1)
Core classes
- Yukihiro Matsumoto (matz)
Standard Library Maintainers
lib/mkmf.rb
- No maintainer
lib/rubygems.rb, lib/rubygems/*
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/rubygems
lib/unicode_normalize.rb, lib/unicode_normalize/*
- Martin J. Dürst (duerst)
Standard Library(Extensions) Maintainers
ext/continuation
- Koichi Sasada (ko1)
ext/coverage
- Yusuke Endoh (mame)
ext/fiber
- Koichi Sasada (ko1)
ext/monitor
- Koichi Sasada (ko1)
ext/objspace
- No maintainer
ext/pty
- No maintainer
ext/ripper
- No maintainer
ext/socket
- Tanaka Akira (akr)
- API change needs matz's approval
ext/win32
- NAKAMURA Usaku (unak)
Default gems(Libraries) Maintainers
lib/bundler.rb, lib/bundler/*
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/rubygems
- https://rubygems.org/gems/bundler
lib/cgi/escape.rb
- No maintainer
lib/English.rb
lib/delegate.rb
lib/did_you_mean.rb
ext/digest, ext/digest/*
- Akinori MUSHA (knu)
- https://github.com/ruby/digest
- https://rubygems.org/gems/digest
lib/erb.rb
- Masatoshi SEKI (seki)
- Takashi Kokubun (k0kubun)
- https://github.com/ruby/erb
- https://rubygems.org/gems/erb
lib/error_highlight.rb, lib/error_highlight/*
- Yusuke Endoh (mame)
- https://github.com/ruby/error_highlight
- https://rubygems.org/gems/error_highlight
lib/fileutils.rb
lib/find.rb
- Kazuki Tsujimoto (k-tsj)
- https://github.com/ruby/find
- https://rubygems.org/gems/find
lib/forwardable.rb
- Keiju ISHITSUKA (keiju)
- https://github.com/ruby/forwardable
- https://rubygems.org/gems/forwardable
lib/ipaddr.rb
- Akinori MUSHA (knu)
- https://github.com/ruby/ipaddr
- https://rubygems.org/gems/ipaddr
lib/optparse.rb, lib/optparse/*
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/optparse
- https://rubygems.org/gems/optparse
lib/net/http.rb, lib/net/https.rb
lib/net/protocol.rb
lib/open3.rb
- No maintainer
- https://github.com/ruby/open3
- https://rubygems.org/gems/open3
lib/open-uri.rb
lib/pp.rb
- Tanaka Akira (akr)
- https://github.com/ruby/pp
- https://rubygems.org/gems/pp
lib/prettyprint.rb
lib/prism.rb
- Kevin Newton (kddnewton)
- Eileen Uchitelle (eileencodes)
- Aaron Patterson (tenderlove)
- https://github.com/ruby/prism
- https://rubygems.org/gems/prism
lib/resolv.rb
- Tanaka Akira (akr)
- https://github.com/ruby/resolv
- https://rubygems.org/gems/resolv
lib/securerandom.rb
lib/shellwords.rb
lib/singleton.rb
- Yukihiro Matsumoto (matz)
- https://github.com/ruby/singleton
- https://rubygems.org/gems/singleton
lib/tempfile.rb
lib/time.rb
- Tanaka Akira (akr)
- https://github.com/ruby/time
- https://rubygems.org/gems/time
lib/timeout.rb
- Yukihiro Matsumoto (matz)
- https://github.com/ruby/timeout
- https://rubygems.org/gems/timeout
lib/tmpdir.rb
lib/tsort.rb
- Tanaka Akira (akr)
- https://github.com/ruby/tsort
- https://rubygems.org/gems/tsort
lib/un.rb
- WATANABE Hirofumi (eban)
- https://github.com/ruby/un
- https://rubygems.org/gems/un
lib/uri.rb, lib/uri/*
- NARUSE, Yui (nurse)
- https://github.com/ruby/uri
- https://rubygems.org/gems/uri
lib/yaml.rb, lib/yaml/*
- Aaron Patterson (tenderlove)
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/yaml
- https://rubygems.org/gems/yaml
lib/weakref.rb
Default gems(Extensions) Maintainers
ext/cgi
- Nobuyoshi Nakada (nobu)
ext/date
- No maintainer
- https://github.com/ruby/date
- https://rubygems.org/gems/date
ext/etc
- No maintainer
- https://github.com/ruby/etc
- https://rubygems.org/gems/etc
ext/fcntl
- No maintainer
- https://github.com/ruby/fcntl
- https://rubygems.org/gems/fcntl
ext/io/console
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/io-console
- https://rubygems.org/gems/io-console
ext/io/nonblock
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/io-nonblock
- https://rubygems.org/gems/io-nonblock
ext/io/wait
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/io-wait
- https://rubygems.org/gems/io-wait
ext/json
- NARUSE, Yui (nurse)
- Hiroshi SHIBATA (hsbt)
- Jean Boussier (byroot)
- https://github.com/ruby/json
- https://rubygems.org/gems/json
ext/openssl
- Kazuki Yamaguchi (rhenium)
- https://github.com/ruby/openssl
- https://rubygems.org/gems/openssl
ext/pathname
ext/psych
- Aaron Patterson (tenderlove)
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/psych
- https://rubygems.org/gems/psych
ext/stringio
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/stringio
- https://rubygems.org/gems/stringio
ext/strscan
- Kouhei Sutou (kou)
- https://github.com/ruby/strscan
- https://rubygems.org/gems/strscan
ext/zlib
- NARUSE, Yui (nurse)
- https://github.com/ruby/zlib
- https://rubygems.org/gems/zlib
Bundled gems upstream repositories and maintainers
The maintanance policy of bundled gems is different from Module Maintainers above. Please check the policies for each repository.
The ruby core team tries to maintain the repositories with no maintainers. It may needs to make consensus on ruby-core/ruby-dev before making major changes.
minitest
power_assert
- Tsujimoto Kenta (k-tsj)
- https://github.com/ruby/power_assert
- https://rubygems.org/gems/power_assert
rake
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/rake
- https://rubygems.org/gems/rake
test-unit
rexml
- Kouhei Sutou (kou)
- https://github.com/ruby/rexml
- https://rubygems.org/gems/rexml
rss
- Kouhei Sutou (kou)
- https://github.com/ruby/rss
- https://rubygems.org/gems/rss
net-ftp
net-imap
- Nicholas A. Evans (nevans)
- https://github.com/ruby/net-imap
- https://rubygems.org/gems/net-imap
net-pop
net-smtp
- TOMITA Masahiro (tmtm)
- https://github.com/ruby/net-smtp
- https://rubygems.org/gems/net-smtp
matrix
- Marc-André Lafortune (marcandre)
- https://github.com/ruby/matrix
- https://rubygems.org/gems/matrix
prime
rbs
- Soutaro Matsumoto (soutaro)
- https://github.com/ruby/rbs
- https://rubygems.org/gems/rbs
typeprof
debug
- Koichi Sasada (ko1)
- https://github.com/ruby/debug
- https://rubygems.org/gems/debug
racc
- Yuichi Kaneko (yui-knk)
- https://github.com/ruby/racc
- https://rubygems.org/gems/racc
mutex_m
getoptlong
base64
- Yusuke Endoh (mame)
- https://github.com/ruby/base64
- https://rubygems.org/gems/base64
bigdecimal
observer
abbrev
- Akinori MUSHA (knu)
- https://github.com/ruby/abbrev
- https://rubygems.org/gems/abbrev
resolv-replace
rinda
- Masatoshi SEKI (seki)
- https://github.com/ruby/rinda
- https://rubygems.org/gems/rinda
drb
- Masatoshi SEKI (seki)
- https://github.com/ruby/drb
- https://rubygems.org/gems/drb
nkf
- Naruse Yusuke (nurse)
- https://github.com/ruby/nkf
- https://rubygems.org/gems/nkf
syslog
- Akinori Musha (knu)
- https://github.com/ruby/syslog
- https://rubygems.org/gems/syslog
csv
- Kouhei Sutou (kou)
- https://github.com/ruby/csv
- https://rubygems.org/gems/csv
ostruct
- Marc-André Lafortune (marcandre)
- https://github.com/ruby/ostruct
- https://rubygems.org/gems/ostruct
pstore
benchmark
logger
- Naotoshi Seo (sonots)
- https://github.com/ruby/logger
- https://rubygems.org/gems/logger
rdoc
- Stan Lo (st0012)
- Nobuyoshi Nakada (nobu)
- https://github.com/ruby/rdoc
- https://rubygems.org/gems/rdoc
win32ole
- Masaki Suketa (suketa)
- https://github.com/ruby/win32ole
- https://rubygems.org/gems/win32ole
irb
- Tomoya Ishida (tompng)
- Stan Lo (st0012)
- Mari Imaizumi (ima1zumi)
- HASUMI Hitoshi (hasumikin)
- https://github.com/ruby/irb
- https://rubygems.org/gems/irb
reline
- Tomoya Ishida (tompng)
- Stan Lo (st0012)
- Mari Imaizumi (ima1zumi)
- HASUMI Hitoshi (hasumikin)
- https://github.com/ruby/reline
- https://rubygems.org/gems/reline
readline
fiddle
- Kouhei Sutou (kou)
- https://github.com/ruby/fiddle
- https://rubygems.org/gems/fiddle
repl_type_completor
- Tomoya Ishida (tompng)
- https://github.com/ruby/repl_type_completor
- https://rubygems.org/gems/repl_type_completor
Platform Maintainers
mswin64 (Microsoft Windows)
- NAKAMURA Usaku (unak)
mingw32 (Minimalist GNU for Windows)
- Nobuyoshi Nakada (nobu)
AIX
- Yutaka Kanemoto (kanemoto)
FreeBSD
- Akinori MUSHA (knu)
Solaris
- Naohisa Goto (ngoto)
RHEL, CentOS
- KOSAKI Motohiro (kosaki)
macOS
- Kenta Murata (mrkn)
OpenBSD
- Jeremy Evans (jeremyevans)
cygwin, ...
- No maintainer
WebAssembly/WASI
- Yuta Saito (kateinoigakukun)