Contribute to CRuby

Disclaimer: I am not from Ruby Core team.

I want to write this because I see Python got a fantastic documentation on how to contribute to CPython.

Links

ko1’s guidelines no how to contribute

ko1: Koichi Sasada. Ruby Core team. Author of YARV VM.

(1) Introduction of MRI development culture
(2) MRI source code structure
(3) Exercise: Add methods to Ruby
(4) Fixing bugs
(5) Performance improvements
Task ideas

Writing Code

Best to create a ticket on issue tracker to discuss first.
Add features only for trunk. No cosmetic changes. Check here for coding style of CRuby codebase. Include a benchmark with BenchmarkDriver.

Getting source code

git clone https://github.com/ruby/ruby.git
cd ruby

What to work on?

  • Documentations
  • Standard Libraries
  • CRuby source (requires C knowledge)
  • Make ruby work on other platforms

Subscribe to the updates

Ruby Mailing List to read the conversations in the community and ruby core developer meeting notes also post there.

Discourse provide a mirror for the mailing list.

Run Tests for ruby/ruby

git clone https://github.com/ruby/ruby.git
cd ruby
autoconf
./configure --disable-install-doc
make -j
make check

Report or fix test failure.

Write test to document Ruby behavior

RubySpec

FAQ

Ruby still use SVN?

Moved to Git recently.

CRuby accepts contribution from GitHub?

Yes. They accept patches that do not have a lot of changes. But better open an issue first.

Contribution Examples