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.
Language core features including security
- Yukihiro Matsumoto (matz)
Evaluator
- Koichi Sasada (ko1)
Core classes
- Yukihiro Matsumoto (matz)
Standard Library Maintainers
Libraries
lib/mkmf.rb
- unmaintained
lib/rubygems.rb, lib/rubygems/*
- Eric Hodel (drbrain)
- Hiroshi SHIBATA (hsbt)
- https://github.com/rubygems/rubygems
lib/unicode_normalize.rb, lib/unicode_normalize/*
- Martin J. Dürst
Extensions
ext/continuation
- Koichi Sasada (ko1)
ext/coverage
- Yusuke Endoh (mame)
ext/fiber
- Koichi Sasada (ko1)
ext/monitor
- Koichi Sasada (ko1)
ext/objspace
- unmaintained
ext/pty
- unmaintained
ext/ripper
- unmaintained
ext/socket
- Tanaka Akira (akr)
- API change needs matz's approval
ext/win32
- NAKAMURA Usaku (usa)
Default gems Maintainers
Libraries
lib/benchmark.rb
lib/bundler.rb, lib/bundler/*
- Hiroshi SHIBATA (hsbt)
- https://github.com/rubygems/rubygems
- https://rubygems.org/gems/bundler
lib/cgi.rb, lib/cgi/*
- unmaintained
- https://github.com/ruby/cgi
- https://rubygems.org/gems/cgi
lib/English.rb
lib/delegate.rb
lib/did_you_mean.rb
- Yuki Nishijima (yuki24)
- https://github.com/ruby/did_you_mean
- https://rubygems.org/gems/did_you_mean
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 (ktsj)
- 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/irb.rb, lib/irb/*
- Stan Lo (st0012)
- Tomoya Ishida (tompng)
- Mari Imaizumi (ima1zumi)
- Hitoshi Hasumi (hasumikin)
- https://github.com/ruby/irb
- https://rubygems.org/gems/irb
lib/optparse.rb, lib/optparse/*
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/optparse
lib/logger.rb
- Naotoshi Seo (sonots)
- https://github.com/ruby/logger
- https://rubygems.org/gems/logger
lib/net/http.rb, lib/net/https.rb
- NARUSE, Yui (naruse)
- https://github.com/ruby/net-http
- https://rubygems.org/gems/net-http
lib/net/protocol.rb
lib/open3.rb
lib/open-uri.rb
- Tanaka Akira (akr)
- https://github.com/ruby/open-uri
lib/ostruct.rb
- Marc-André Lafortune (marcandre)
- https://github.com/ruby/ostruct
- https://rubygems.org/gems/ostruct
lib/pp.rb
- Tanaka Akira (akr)
- https://github.com/ruby/pp
- https://rubygems.org/gems/pp
lib/prettyprint.rb
- Tanaka Akira (akr)
- https://github.com/ruby/prettyprint
- https://rubygems.org/gems/prettyprint
lib/prism.rb
- Kevin Newton (kddnewton)
- Eileen Uchitelle (eileencodes)
- Aaron Patterson (tenderlove)
- https://github.com/ruby/prism
- https://rubygems.org/gems/prism
lib/pstore.rb
lib/readline.rb
lib/resolv.rb
- Tanaka Akira (akr)
- https://github.com/ruby/resolv
- https://rubygems.org/gems/resolv
lib/rdoc.rb, lib/rdoc/*
- Eric Hodel (drbrain)
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/rdoc
- https://rubygems.org/gems/rdoc
lib/reline.rb, lib/reline/*
- Tomoya Ishida (tompng)
- Mari Imaizumi (ima1zumi)
- Stan Lo (st0012)
- Hitoshi Hasumi (hasumikin)
- https://github.com/ruby/reline
- https://rubygems.org/gems/reline
lib/securerandom.rb
- Tanaka Akira (akr)
- https://github.com/ruby/securerandom
- https://rubygems.org/gems/securerandom
lib/set.rb
- Akinori MUSHA (knu)
- https://github.com/ruby/set
- https://rubygems.org/gems/set
lib/shellwords.rb
- Akinori MUSHA (knu)
- https://github.com/ruby/shellwords
- https://rubygems.org/gems/shellwords
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/thwait.rb
- Keiju ISHITSUKA (keiju)
- https://github.com/ruby/thwait
- https://rubygems.org/gems/thwait
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 (naruse)
- 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
Extensions
ext/cgi
- Nobuyoshi Nakada (nobu)
- https://github.com/ruby/cgi
- https://rubygems.org/gems/cgi
ext/date
ext/etc
- unmaintained
- https://github.com/ruby/etc
- https://rubygems.org/gems/etc
ext/fcntl
ext/fiddle
- Aaron Patterson (tenderlove)
- https://github.com/ruby/fiddle
- https://rubygems.org/gems/fiddle
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 (naruse)
- Hiroshi SHIBATA (hsbt)
- Jean Boussier (byroot)
- https://github.com/ruby/json
- https://rubygems.org/gems/json
ext/openssl
- Kazuki Yamaguchi (rhe)
- https://github.com/ruby/openssl
- https://rubygems.org/gems/openssl
ext/pathname
- Tanaka Akira (akr)
- https://github.com/ruby/pathname
- https://rubygems.org/gems/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/win32ole
- Masaki Suketa (suke)
- https://github.com/ruby/win32ole
- https://rubygems.org/gems/win32ole
ext/zlib
- NARUSE, Yui (naruse)
- https://github.com/ruby/zlib
- https://rubygems.org/gems/zlib
Bundled gems upstream repositories
minitest
power_assert
rake
test-unit
rexml
rss
net-ftp
net-imap
net-pop
net-smtp
matrix
prime
rbs
typeprof
debug
racc
mutex_m
getoptlong
base64
bigdecimal
observer
abbrev
resolv-replace
rinda
drb
nkf
syslog
csv
Platform Maintainers
mswin64 (Microsoft Windows)
- NAKAMURA Usaku (usa)
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 (jeremyevans0)
cygwin, ...
- none. (Maintainer WANTED)
WebAssembly/WASI
- Yuta Saito (katei)