Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Как сделать контрибут в Ruby on Rails

1,734 views

Published on

«Как сделать контрибут в
Ruby on Rails» — доклад Ярослава Маркина на RailsClub.ru (Москва) 19 апреля 2009

Published in: Technology
  • Be the first to comment

Как сделать контрибут в Ruby on Rails

  1. 1. Как сделать контрибут в Ruby on Rails Ярослав Маркин Москва, апрель 2009
  2. 2. Привет? • Ярослав Маркин • evilmartians.ru — небольшая команда рельсовиков (разработка и консультации) • Где вы меня видели? github (gem russian), контрибуты в Rails • В далеком 2006 вместе с Юликом Тархановым и Ильей Немихиным сделали лист ror2ru и начали работу над rubyonrails.ru
  3. 3. Для кого? • Новички — с чего начать, как помочь Rails, как научиться? • Опытные — как сделать так чтобы патч все-таки приняли?
  4. 4. Это не так сложно!
  5. 5. 1. Для новичков: способы контрибута • Lighthouse: rails.lighthouseapp.com • Bug • Security Bug • Docpatch • Новая feature
  6. 6. Bug • Нормальный заголовок и описание как можно подробнее • Окружение (Версия ОС, Ruby, Rails, используемые gem и плагины) • Пример кода, в котором есть проблемы • Важно: Failing tests • Важно: Кто закоммитил патч, который все сломал? • Если источника проблемы не видно и нельзя назначить ответственного — патч будет висеть очень долго
  7. 7. Security Bug • Вы уверены? Вы правда уверены? • Не делайте bug в Lighthouse • Пишите: security@rubyonrails.org
  8. 8. Docpatch • Отличный вариант для тех, кто начинает разбираться, «как это работает» • http://github.com/lifo/docrails • Права на коммит можно получить у Pratik Naik (github.com/lifo) — пишите через GitHub • Обязательно прочитайте гайдлайны — http://github.com/lifo/docrails/wikis • Спрашивайте совета в IRC • Можно работать над Rails Guides • Docpatch не считается официальным контрибутом в Rails
  9. 9. Новая feature • Нужна реализация, а не идея. К реализации вернемся во второй части • Даже если тикет оформлен грамотно, шансы на его рассмотрение близки к нулю, если нет патчей и обоснования • Можно попробовать список рассылки, но без патча смысла нет • Если есть реализация, она всегда может быть отклонена для того чтобы стать плагином — расстраиваться не стоит • Вообще говоря, можно начать с плагина (из последнего — named_scope)
  10. 10. 2. Для опытных • Над чем бы поработать? • Очевидные вещи (git, git format-patch, тесты) • Как же сделать чтобы патч все-таки приняли?
  11. 11. Над чем бы поработать? • Подпишитесь на RSS rails.lighthouseapp.com • Watch http://github.com/rails/rails • Обзор Lighthouse: подтверждение багов, попытки пофиксить баги • lifo: I'd just say, monitor Rails commits. Don’t use RDoc, look into the source. Look for incomplete tickets and complete them if you wanna take a step further
  12. 12. Новый патч: очевидные вещи • git clone git://github.com/rails/rails.git • NB: делать fork не имеет смысла, разве что вы не предлагаете сотую версию переделки ActiveModel • http://www.tpope.net/rails-git-best-practices • git checkout / rebase / format-patch • Тесты!
  13. 13. Что делать для принятия патча? «Отвечает команда знатоков» • nzkoz: Mailing list threads get more attention than just a patch • nzkoz: I try to stay no more than ~10 days behind on the mailing list • nzkoz: find a few people here or wherever to help you think through the changes, then write to the core mailing list when you've got something concrete
  14. 14. К кому обратиться для принятия патча? • ror2ru! Попросите оценить патч • irc.freenode.net #rails-contrib • Список рассылки http://groups.google.com/group/rubyonrails-core • Rails Core Committer (нет персональной отвественности) — через IRC или Lighthouse
  15. 15. DHH — для хороших и безумных идей, все что нужно чтобы «было хорошо», всегда можно получить фидбек. Можно «поймать» в IRC. Jeremy — «работяга» Rails, практически все области + I18n, несложно добиться ревью. Раньше можно было «поймать» в IRC.
  16. 16. Koz — много областей, бывает в IRC и просматривает список рассылки Rick — ранее много областей (в том числе AR, AM и Engines), сейчас нет активности в Rails
  17. 17. Pratik — в настоящее время чуть ли не главный контрибутор, легко можно «поймать» на IRC, принмает патчи для всех частей Rails, ведет docrails. Новые тикеты можно смело назначать на него. Josh — AC, Rack. Найти его в IRC не удавалось, можно найти в списке рассылки.
  18. 18. Yehuda — AC, ActiveORM, Rails 3.0 в целом.
  19. 19. «Расширенный состав» • Frederick Cheung, Geoff Buesing, Manfred Stienstra, Eloy Duran, ... • #rails-contrib • Mike Gunderloy — поможет с докпатчами и гидами Rails • Sven Fuchs — ответственный за I18n
  20. 20. Lighthouse Ticket • Нужно назначить на кого-то конкретного • Начать с IRC, если реакции нет либо патч спорный — список рассылки • Никаких «+1»! Если уже есть 3-4 «+1» — нет смысла добавлять. Спам «по друзьям» легко заметить. • Теги: bug — исправляет ошибку, patch, verified — если патч подтвердили 3 и более человека
  21. 21. Самое время для контрибута • Большой Merge (Rails 3.0: ActionPack, ActiveORM, ActiveSupport on diet...) • Небольшая активность Core контрибуторов • Google Summer of Code, anyone?
  22. 22. Вопросы? • yaroslav@markin.net • twitter.com/yaroslav • github.com/yaroslav • http://evilmartians.ru

×