Рубин это язык. Он имеет несколько реализаций, но есть одна ссылочная реализация, известная как MRI (Ruby интерпретатор Matz) или C-Ruby (потому что она написана на C). Существует также проект спецификации ruby, который пытается документировать, как должен вести себя ruby, а не просто «делать то, что делает MRI».
Существует также несколько версий ruby, 1.8.7 и 1.9.1 - наиболее часто встречающиеся в наши дни.
При этом цель всех реализаций (включая JRuby, Ironruby, Rubinius) - соответствовать спецификации и, следовательно, быть совместимым. Таким образом, вы можете написать свой «чистый» код ruby и запускать его в любой реализации, которая лучше.
Конечно, разные реализации имеют свои ошибки и свой уровень соответствия спецификации. И это то, что вам нужно остерегаться.