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/*

lib/unicode_normalize.rb, lib/unicode_normalize/*

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/*

lib/cgi/escape.rb

  • No maintainer

lib/English.rb

lib/delegate.rb

lib/did_you_mean.rb

ext/digest, ext/digest/*

lib/erb.rb

lib/error_highlight.rb, lib/error_highlight/*

lib/fileutils.rb

lib/find.rb

lib/forwardable.rb

lib/ipaddr.rb

lib/optparse.rb, lib/optparse/*

lib/net/http.rb, lib/net/https.rb

lib/net/protocol.rb

lib/open3.rb

lib/open-uri.rb

lib/pp.rb

lib/prettyprint.rb

lib/prism.rb

lib/resolv.rb

lib/securerandom.rb

lib/shellwords.rb

lib/singleton.rb

lib/tempfile.rb

lib/time.rb

lib/timeout.rb

lib/tmpdir.rb

lib/tsort.rb

lib/un.rb

lib/uri.rb, lib/uri/*

lib/yaml.rb, lib/yaml/*

lib/weakref.rb

Default gems(Extensions) Maintainers

ext/cgi

  • Nobuyoshi Nakada (nobu)

ext/date

ext/etc

ext/fcntl

ext/io/console

ext/io/nonblock

ext/io/wait

ext/json

ext/openssl

ext/pathname

ext/psych

ext/stringio

ext/strscan

ext/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

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

ostruct

pstore

benchmark

logger

rdoc

win32ole

irb

reline

readline

fiddle

repl_type_completor

Platform Maintainers

mswin64 (Microsoft Windows)

  • NAKAMURA Usaku (unak)

mingw32 (Minimalist GNU for Windows)

  • Nobuyoshi Nakada (nobu)

AIX

FreeBSD

  • Akinori MUSHA (knu)

Solaris

RHEL, CentOS

macOS

  • Kenta Murata (mrkn)

OpenBSD

cygwin, …

  • No maintainer

WebAssembly/WASI