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/pathname.rb
Tanaka Akira (akr)
lib/rubygems.rb, lib/rubygems/*
Hiroshi SHIBATA (hsbt)
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)
lib/cgi/escape.rb
No maintainer
lib/English.rb
No maintainer
lib/delegate.rb
No maintainer
lib/did_you_mean.rb
Yuki Nishijima (yuki24)
ext/digest, ext/digest/*
Akinori MUSHA (knu)
lib/erb.rb
lib/error_highlight.rb, lib/error_highlight/*
lib/fileutils.rb
No maintainer
lib/find.rb
Kazuki Tsujimoto (k-tsj)
lib/forwardable.rb
Keiju ISHITSUKA (keiju)
lib/ipaddr.rb
Akinori MUSHA (knu)
lib/optparse.rb, lib/optparse/*
Nobuyuki Nakada (nobu)
lib/net/http.rb,lib/net/https.rb
NARUSE, Yui (nurse)
lib/net/protocol.rb
lib/open3.rb
No maintainer
lib/open-uri.rb
Tanaka Akira (akr)
lib/pp.rb
Tanaka Akira (akr)
lib/prettyprint.rb
Tanaka Akira (akr)
lib/prism.rb
Kevin Newton (kddnewton)
Eileen Uchitelle (eileencodes)
Aaron Patterson (tenderlove)
Earlopain (earlopain)
lib/resolv.rb
Tanaka Akira (akr)
lib/securerandom.rb
lib/shellwords.rb
Akinori MUSHA (knu)
lib/singleton.rb
Yukihiro Matsumoto (matz)
lib/tempfile.rb
No maintainer
lib/time.rb
Tanaka Akira (akr)
lib/timeout.rb
Yukihiro Matsumoto (matz)
lib/tmpdir.rb
No maintainer
lib/un.rb
WATANABE Hirofumi (eban)
lib/uri.rb, lib/uri/*
NARUSE, Yui (nurse)
lib/yaml.rb, lib/yaml/*
Aaron Patterson (tenderlove)
Hiroshi SHIBATA (hsbt)
lib/weakref.rb
No maintainer
Default gems(Extensions) Maintainers
ext/cgi
Nobuyoshi Nakada (nobu)
ext/date
No maintainer
ext/etc
No maintainer
ext/fcntl
No maintainer
ext/io/console
Nobuyuki Nakada (nobu)
ext/io/nonblock
Nobuyuki Nakada (nobu)
ext/io/wait
Nobuyuki Nakada (nobu)
ext/json
ext/openssl
Kazuki Yamaguchi (rhenium)
ext/psych
Aaron Patterson (tenderlove)
Hiroshi SHIBATA (hsbt)
ext/stringio
Nobuyuki Nakada (nobu)
ext/strscan
Kouhei Sutou (kou)
ext/zlib
NARUSE, Yui (nurse)
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)
rake
Hiroshi SHIBATA (hsbt)
test-unit
Kouhei Sutou (kou)
rexml
Kouhei Sutou (kou)
rss
Kouhei Sutou (kou)
net-ftp
Shugo Maeda (shugo)
net-imap
Nicholas A. Evans (nevans)
net-pop
net-smtp
TOMITA Masahiro (tmtm)
matrix
Marc-André Lafortune (marcandre)
prime
rbs
Soutaro Matsumoto (soutaro)
typeprof
Yusuke Endoh (mame)
debug
Koichi Sasada (ko1)
racc
Yuichi Kaneko (yui-knk)
mutex_m
getoptlong
base64
Yusuke Endoh (mame)
bigdecimal
Kenta Murata (mrkn)
observer
abbrev
Akinori MUSHA (knu)
resolv-replace
rinda
Masatoshi SEKI (seki)
drb
Masatoshi SEKI (seki)
nkf
Naruse Yusuke (nurse)
syslog
Akinori Musha (knu)
csv
Kouhei Sutou (kou)
ostruct
Marc-André Lafortune (marcandre)
pstore
benchmark
logger
Naotoshi Seo (sonots)
rdoc
win32ole
Masaki Suketa (suketa)
irb
reline
readline
fiddle
Kouhei Sutou (kou)
repl_type_completor
tsort
Tanaka Akira (akr)
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)