- 公開日
RuboCopチームにgemの名前を譲った話
かねてより僕が開発していたrubocop-railsというgemをRuboCop公式チームの要望により譲った。
僕がこのgemを作った経緯とかは下記の記事の通り。
つくったやつ | Railsと同じRuboCopの設定が利用できるrubocop-rails gemを作った - Hack Your Design! https://t.co/szG0eLPetS
— toshimaru (@toshimaru_e) January 29, 2018
きっかけ
名前を譲ることになったきっかけは下記のIssue。
Extract Rails Cops in a separate · Issue #5976 · rubocop-hq/rubocop
より正確にいうとこのIssueの前にRubyKaigi 2018の懇親会でRuboCop作者から僕へ間接的に打診があり、上記のIssueに至る。
RuboCopチームの要望を要約すると「RuboCop公式にRailsの拡張を作りたい。gem名はrubocop-railsとしたい。名前を頂戴!」と感じ。僕の想いとしては「RuboCop公式チームとして使いたい名前ということであればどうぞどうぞ。わかりやすい名前を付けることはRubyコミュニティ全体の利益にもなるだろうしね!」という感じ。
譲るにあたりやったこと
下記のようなIssueを作成して進めていった。
rubocop-rails
に代わる新しいgemを作成: rubocop-rails_configrubocop-rails
の新しいversionを切って、post_install_messageでRenameの旨を周知rubocop-rails_config
のほうに簡単にUpdateできるようなUpdate Generator Taskを用意rubocop-rails
というgemに新しいOwnerを付与rubocop-rails
のRename前の古いバージョンをrubygemsから削除
一番最後の 古いバージョンをrubygemsから削除 はIssueでもやり取りしている通り、既存のビルドを壊すことになるので正直苦渋の決断であった。だけれどもRuboCopがdevelopment依存のgemであること、全く違うgemになったら既存のgemユーザーを驚かせてしまうこと、これらを総合的に考えた結果、古いバージョンを消してでもgemのRename周知を優先させようと思い至った。これに関しては正直正解はないと思う。
RuboCopコミッターのkoicさんが発表してくださいました
本件に関してはRuboCopコミッターの@koicさんも先日のRails Developers Meetup 2018 Day 3 Extremeにて発表して頂いたようです。
発表エントリ: Rails Developers Meetup 2018 Day 3 Extreme に登壇した - koicの日記
エピソードのご紹介ありがとうございました。
参考資料
なお、gemを消す方法に関しては下記を参考にさせてもらった。