Speeeで働いている時に作ったgemのリポジトリを退職後に譲り受け、さらにitamae-pluginsのメンテナの方々にowner権限をお譲りしました。
けっこう珍しい話だと思うので経緯を残しておきます。
きっかけはDocker移行
itamae-plugin-recipe-datadogはdatadog agentをインストールするitamae用のレシピgemです。
自分がSpeeeで働いてた時にAWS EC2でRailsアプリケーションを運用していたので、EC2上でdatadog agentを動かすために作りました。
(自分が初めてリリースしたgemだったので感動した記憶があります)
2016年のリリースから時は経って、数回gemのアップデートをしましたが
Docker時代の到来と共に、仕事でも個人開発でもitamaeを使ってサーバーの構成管理をすることがなくなりました。
自分が使わなくなってしまったので、gemのメンテのモチベーションが薄れていました。
ここからリポジトリを譲り受ける話につながっていきます。
退職者に対するOSSの権限問題
そもそもなぜリポジトリを譲り受ける必要があるのかも説明しておく必要があります。
「自分がSpeeeで"働いてた時"に」と書いたとおり、2016年のgemリリース後に自分は退職をしています。
退職時に自分がリリースしたgemの権限をどうするかという問題があるんですが、SpeeeはOSS活動に力を入れており社員向けのOSS活動ポリシーがテキスト化されています。
これに従って退職者にもOSSのリリース権限やGitHubリポジトリの権限を与えることができました。
詳細はSpeee開発者ブログの記事に譲りますが、これのおかげで社内でのgemの開発や退職時も困ることがなく、とても助かりました。 tech.speee.jp
itamae-plugin-recipe-datadogはGitHubのspeee organization配下のリポジトリで管理をしており、このリポジトリに対するWrite権限とgemのowner権限を自分に付けてもらうことでgemのメンテができる状態を作っていました。
またownerには必ずSpeee社員を1名加えることで、Speeeが管理できる状態も併せて作っています。
メンテナ探し
そういうわけでSpeee退職後は自分がgemのメンテナを続けていましたが、先述の通り自分で使う機会が減ってきました。
うれしいことにこのgemにはユーザーがいて最近でもPullRequestが届きます。
しかし、自分のメンテモチベーションが薄れていたので反応が遅くなってしまっていました。
罪悪感もあったので、いまだに繋がりのあるSpeee社員に「会社でまだitamaeを使ってないか」「gemのメンテナを引き継げないか」という相談をしてみました。
ところが今ではSpeeeもitamaeを使ったサーバーの構成管理はしてないようで、メンテナの希望者が特にいませんでした。まあしょうがないですね。
そこで実際にユーザーであるエンジニアに見てもらうのがよいだろうと考えコミュニケーションを取ってみました。
つい最近PullRequestを送ってくださった sue445 さんに対しTwitterで連絡をしています。
自分は勉強会やイベントでsue445さんの発表を見ており、いくつもgemをリリースされている方なので信頼できると判断してお声がけしました。
(あとになって気付きましたが、itamae本体のメンテナでもありますね)
Don't re-install datadog-agent if installed by sue445 · Pull Request #9 · speee/itamae-plugin-recipe-datadog · GitHub
gemの作者です。pull requestありがとうございました。相談なのですが、仕事でもプライベートでもitamaeを使う機会がなくなってしまったので、現役で使ってもらってる人にメンテのための権限を譲ろうを考えています。いかがでしょうか?
— takanamito (@takanamito) 2022年3月22日
sue445さんが快く引き受けてくださり(本当にありがとうございます!!!)
個人のリポジトリではなくitamae-plugins organization配下での管理を提案してもらったので
Speeeと連絡を取りリポジトリをいったんtakanamito配下にtransferしてもらい、その後さらにitamae-pluginsにtransferしました。
まとめ
会社で作ったgemのメンテナに第三者を追加するという事例を紹介しました。けっこうレアじゃないでしょうか。
権限問題やメンテを続ける難しさがありましたが参考になればうれしいです。
また、余談ではありますがSpeeeで働いてた経験を生かして、転職後の会社でもOSSポリシーの策定に関わることもできました。
自作のOSSだけに限らず業務中に他人のOSSに対しPullRequestを送る機会が当然あるので、会社でOSSポリシーが定められていると働きやすく、こういう会社が増えるといいなという思いもあります。
今後ともitamae-plugin-recipe-datadogをよろしくおねがいします。