4
2

【随時更新予定】3大ML系OSSにコントリビューションする時の備忘録メモ

Last updated at Posted at 2023-11-22

概要

社内転職で10月から部署異動しました。今まで業務でOSSにコミットを出す機会は全く無かったのですが、異動先ではML系のOSSに関わることになり、早速Kerasでバグにぶち当たりました。今後ML系のOSSにコミットする機会が増えるだろうと思われます。ところが、TensorFlowやPyTorchなど大手ベンダーが開発してるOSSではCLA(Contributor License Agreement)を提出する必要が有ります。よってTensorFlow(+ Keras)、PyTorch、scikit-learnからなる3大ML系OSSへのコントリビューション時に必要となるCLAやContributionガイドについて本記事ではまとめようと思います。

TensorFlow(+ Keras)

TensorFlowとKerasは本来は別々のOSSとして存在していました。しかし、TensorFlow 1.4.0(2017年公開)からtf.kerasとしてKerasの機能を取り込みました。この時、TensorFlow=tf.keras=Kerasという図式が完成したと言えます。ところがここに来て、スタンドアローンKerasがKeras 3として復活しました。よって違いが分かりにくい状況になっています。そういう事情が有ってか、TensorFlow、Keras共にコントリビューションにはGoogle CLAへの同意が必要です。

Contribution Guide

Google CLA

KerasのContribution Guide

以下は画像処理系の機能が実装されたKeras CVのContribution Guideのリンクです。(Keras Team配下のリポジトリは基本的に同様の規定です)

Keras本体(Keras 3)についてはContribution Guideが格納されていませんが、どうやら他のリポジトリと共通の様です。

2023/12/26追記: KerasのContoribution Guideが追加

Contribution Guideが追加されました。

PyTorch

PyTorchはそもそもMeta(旧Facebook)によって開発されました。しかし、現在はLinux Foundationに移管されているため、Linux FoundationのCLAへの同意が必要です。筆者はPyTorchにPRを出したことがないため、今後CLAの内容を熟読した上で、問題がなければ同意したいと思っています。

Contribution Guide

Linux Foundation CLA

scikit-learn

TensorFlow、PyTorchが大手ベンダーによって開発されたOSSであるためか、Contributionを行う前の諸々の儀式を消化することを求められますが、scikit-learnには2023/11現在CLAなどは存在しません。また丁寧なContribution Guideも公開されており、初めてContributionしようと考えている人向けのgood first issueラベルの付いたテスターの募集などがIssue上に出ていたりします。

Contribution Guide

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2