This page describes the current branch, module, library, and extension maintainers of Ruby.
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.
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.
- Yukihiro Matsumoto (matz)
- Koichi Sasada (ko1)
- Yukihiro Matsumoto (matz)
- unmaintained
- Eric Hodel (drbrain)
- Hiroshi SHIBATA (hsbt)
- https://github.com/rubygems/rubygems
- Martin J. Dürst (duerst)
- Koichi Sasada (ko1)
- Yusuke Endoh (mame)
- Koichi Sasada (ko1)
- Koichi Sasada (ko1)
- unmaintained
- unmaintained
- unmaintained
- Tanaka Akira (akr)
- API change needs matz's approval
- NAKAMURA Usaku (unak)
- Hiroshi SHIBATA (hsbt)
- https://github.com/rubygems/rubygems
- https://rubygems.org/gems/bundler
- unmaintained
- https://github.com/ruby/cgi
- https://rubygems.org/gems/cgi
- Akinori MUSHA (knu)
- https://github.com/ruby/digest
- https://rubygems.org/gems/digest
- Masatoshi SEKI (seki)
- Takashi Kokubun (k0kubun)
- https://github.com/ruby/erb
- https://rubygems.org/gems/erb
- Yusuke Endoh (mame)
- https://github.com/ruby/error_highlight
- https://rubygems.org/gems/error_highlight
- Kazuki Tsujimoto (k-tsj)
- https://github.com/ruby/find
- https://rubygems.org/gems/find
- Keiju ISHITSUKA (keiju)
- https://github.com/ruby/forwardable
- https://rubygems.org/gems/forwardable
- Akinori MUSHA (knu)
- https://github.com/ruby/ipaddr
- https://rubygems.org/gems/ipaddr
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/optparse
- Tanaka Akira (akr)
- https://github.com/ruby/open-uri
- Tanaka Akira (akr)
- https://github.com/ruby/pp
- https://rubygems.org/gems/pp
- Kevin Newton (kddnewton)
- Eileen Uchitelle (eileencodes)
- Aaron Patterson (tenderlove)
- https://github.com/ruby/prism
- https://rubygems.org/gems/prism
- Tanaka Akira (akr)
- https://github.com/ruby/resolv
- https://rubygems.org/gems/resolv
- Akinori MUSHA (knu)
- https://github.com/ruby/set
- https://rubygems.org/gems/set
- Yukihiro Matsumoto (matz)
- https://github.com/ruby/singleton
- https://rubygems.org/gems/singleton
- Tanaka Akira (akr)
- https://github.com/ruby/time
- https://rubygems.org/gems/time
- Yukihiro Matsumoto (matz)
- https://github.com/ruby/timeout
- https://rubygems.org/gems/timeout
- Keiju ISHITSUKA (keiju)
- https://github.com/ruby/thwait
- https://rubygems.org/gems/thwait
- Tanaka Akira (akr)
- https://github.com/ruby/tsort
- https://rubygems.org/gems/tsort
- WATANABE Hirofumi (eban)
- https://github.com/ruby/un
- https://rubygems.org/gems/un
- NARUSE, Yui (nurse)
- https://github.com/ruby/uri
- https://rubygems.org/gems/uri
- Aaron Patterson (tenderlove)
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/yaml
- https://rubygems.org/gems/yaml
- Nobuyoshi Nakada (nobu)
- https://github.com/ruby/cgi
- https://rubygems.org/gems/cgi
- unmaintained
- https://github.com/ruby/etc
- https://rubygems.org/gems/etc
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/io-console
- https://rubygems.org/gems/io-console
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/io-nonblock
- https://rubygems.org/gems/io-nonblock
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/io-wait
- https://rubygems.org/gems/io-wait
- NARUSE, Yui (nurse)
- Hiroshi SHIBATA (hsbt)
- Jean Boussier (byroot)
- https://github.com/ruby/json
- https://rubygems.org/gems/json
- Kazuki Yamaguchi (rhenium)
- https://github.com/ruby/openssl
- https://rubygems.org/gems/openssl
- Aaron Patterson (tenderlove)
- Hiroshi SHIBATA (hsbt)
- https://github.com/ruby/psych
- https://rubygems.org/gems/psych
- Nobuyuki Nakada (nobu)
- https://github.com/ruby/stringio
- https://rubygems.org/gems/stringio
- Kouhei Sutou (kou)
- https://github.com/ruby/strscan
- https://rubygems.org/gems/strscan
- NARUSE, Yui (nurse)
- https://github.com/ruby/zlib
- https://rubygems.org/gems/zlib
- NAKAMURA Usaku (unak)
- Nobuyoshi Nakada (nobu)
- Yutaka Kanemoto (kanemoto)
- Akinori MUSHA (knu)
- Naohisa Goto (ngoto)
- KOSAKI Motohiro (kosaki)
- Kenta Murata (mrkn)
- Jeremy Evans (jeremyevans)
- none. (Maintainer WANTED)
- Yuta Saito (kateinoigakukun)