🤗

4ヶ月程度 OSS にコミットしてみての気付き

に公開

執筆目的

自分が過去何をやってどんなことが得られたかを振り返る時に、すぐに思い出せるようにするため。過去に Kaggle に取り組んだ際に何も振り返りを書いていおらず、何を学んだか思い出すのに苦労し後悔したことがある。

自分の振り返りが主目的ですが、もしかすると OSS にコミットしてみたいという方の参考になるかと思い公開しています。

対象 OSS

https://github.com/huggingface/transformers

選定理由は、 Kaggle などでよく利用していて便利だなと思っていたため。また、1年ほど前に1度 PR 作成したことがあり、開発環境などを作成したことがあったため。

https://github.com/huggingface/transformers/pull/29265

気付き

  • 既にマージされた PR を勉強のために読んだり再現したりしていると、意外に考慮漏れがありそれを修正する PR を作成して貢献できる
  • PR 作成のために特定機能周りを触っていると、新たな修正ポイントが見つかることがある。
    • ドキュメントと実際の動作が合っていないなど。
  • transformers リポジトリでは、しばらく更新が無い Issue は自動で stale が付くが、この場合は解決されてないこともあり貢献チャンスとなることがある
  • Good first issue や貢献を募集している Issue は取り組んでいる方が多いので、早い者勝ちになりややしんどい
  • transformers のメンテナーの方のレスポンスはかなり早い。1〜2日程度でレビューやコメント返信いただけることが多い
  • 自分が今まで使っていたライブラリの内部の仕組みを知れたり、最近どんな修正や機能追加がされたか知れるのは単純に面白い
  • PR 作成のための実装時に、git blame でなぜこの部分はこうなっているのかを見ると、歴史的背景が知れて面白い

実際にやったこと

  • マージされた PR

https://github.com/huggingface/transformers/pull/39079

https://github.com/huggingface/transformers/pull/39546

https://github.com/huggingface/transformers/pull/39706

https://github.com/huggingface/transformers/pull/40748

  • マージされなかった PR

https://github.com/huggingface/transformers/pull/39667

  • より良い修正方法があるということで別の方が取り組むことになった PR

https://github.com/huggingface/transformers/pull/39741

  • 起票した Issue

https://github.com/huggingface/transformers/issues/41189

  • 別の方の最近の PR での修正の問題に気づき PR にコメント、その後問題が解決されたもの

https://github.com/huggingface/transformers/pull/40809#issuecomment-3354623703

  • Issue 再現して最新版で解決されている旨をコメントしたもの

https://github.com/huggingface/transformers/issues/39399#issuecomment-3340979142

Discussion