HowToContribute

This page is for people who want to send a patch. If you want to report a bug, see HowToReport.

Before submit

Only Ruby 2.3 may accept new feature. 1.9/2.0/2.1/2.2 won't accept new feature, and maintenance branches like 2.1 also won't merge new feature.

Search previous discussions in ruby-core.

You must agree about your code will be distribute and/or modify and so on under Ruby's License. The license may change in the future, you must join the discussion if you don't agree the change.

Patch Requirement

usually it should be for trunk of Ruby. (only when it is a bugfix and the bug exists in only the maintenance branch)

Format must be a unified diff (diff -pu is prefered. svn diff and git diff are also ok).

don't introduce cosmetic changes (follow original coding style of the code)

Don't mix different changes in one commit.

Submit

Make a redmine's ticket as Bug or Feature, and it will forward to ruby-core (or ruby-dev).

Pull request to https://github.com/ruby/ruby is acceptable for tiny fixes. But pull requests which need discussions will be simply ignored.

After Submit

A ticket maybe ignored by accident (because of busy of reviewers, and so on). In the case, ping the ticket.

License

You must agree that your patch will be licensed under the Ruby License, and when we change the license you are assumed to agree the change until you object it in the given term.