More at rubyonrails.org: Blog | Guides | API | Ask for help | Contribute on GitHub |

Frequently Asked Questions

What is Rails Contributors?

Rails Contributors gives credit to all people who have contributed to the Rails code base.

Why, isn't this information already provided by Git?

Not really.

Rails Contributors is tailor-made for Ruby on Rails and, albeit not perfect, tries really hard to be as accurate as possible. You need to go far beyond Git metadata to accomplish what this application does.

Subversion

Ruby on Rails used Subversion in about its first four years. Since Subversion does not have the concept of commit author, their name is just not there.

Some conventions emerged though, like putting the author name in square brackets in the commit message, or in CHANGELOG entries. Rails Contributors processes those credits.

Canonical names

Over the years people get mentioned by their name, or nickname, there are abbreviations, typos, emails.... For example, Marcel Molina Jr. has commits credited to "Marcel Molina" (no "Jr."), "Marcel", "Marcel Molina Jr" (lacks a dot), "marcel", "noradio" (nickname), and "Marcel Mollina Jr." (typo, double "l"). The application knows all of them refer to the same person, and it is able to consolidate all of Marcel's commits into one single canonical name.

Rails Contributors knows about +1100 name variations.

Multiple authors

Git has no support for multiple authors, and again the project has figured out conventions to give credit for one commit to several people.

See for example this commit with two authors, or the CHANGELOG entry of this other one. The application understands those conventions and gives credit to all authors.

Plural nicknames

A couple of nicknames refer to several people. For example, a commit by "Carlhuda" (like this one) has to be credited to Yehuda Katz and Carl Lerche.

Manual credit

Finally, occasionally the information to give credit is just missing. For example, Dana Jones should have given credit for this commit, but the attribution was not included. Rails Contributors has support also for these exceptional hard-coded fixes, and Dana has gotten her due credit.

My contributions are split, can they be merged?

Yes, please have a look at the maps in canonical_names.rb and feel free to submit a pull request. Please take into account only maps for nicknames that exist in the repository, typos, etc., are accepted. That is not a generic database of aliases.

Can several people get credit for one commit?

Yes, you can place their name at the end of the first line of the commit message in square brackets:

    awesome API refinement [DHH & Jeremy Kemper]

or in the rest of the message, in a line by itself:

    first line of commit message

    message body line 1
    message body line 2

    [Author 1, Author 2, Author 3]

A few list separators are supported, but you can just stick with "&" or "," for example.

The home page has a huge table, no pagination?

That's by design.

If you contributed anything to Rails, even a comma in a comment, your name deserves to be in the home page.

Why does it count commits?

Generally speaking, commits, LOCs, etc. are not a meaningful metric of the amount or quality of people's contributions. We all know that, and that's why this website is not a ranking.

But commits are the natural unit of data we have as input, what can be grouped and listed. That's about it.

Is this gamification?

No.

While Rails Contributors may encourage some people to partake in the project, there is no gamification in the motivation behind this application.

The motivation for Rails Contributors is to give well-deserved public recognition to all people who have contributed to the code base over the history of the project, and to say a big "Thank You!"