GitHub、パーソナライズした「あなたがコントリビュートしやすいオープンソースのイシュー」を機械学習で推奨してくれる機能など公開
オープンソースになにか貢献したいと考えたとしても、どこから手を付けたらいいのか、自分が貢献できそうなプロジェクトやイシューはどれか、選択するところから始めなければならないとすると、貢献へのハードルはやや高いものになってしまいます。
GitHubはこうした課題を解決し、オープンソースへの貢献をより手軽に行えるよう、ユーザーにとって貢献しやすいオープンソースのプロジェクトやイシューを推奨する新機能を発表しました(発表は約1カ月前の1月22日でしたので、やや少し前のことですが)。
この機能は大きく以下の3つで構成されます。
興味のある分野のオープンソースプロジェクトを推奨
特定の分野に興味があり、その分野のオープンソースを探しているのであれば、「github.com/topics/<分野名>」で、その分野のプロジェクトのなかから取り組みやすいイシューの一覧が表示されます。
例えば機械学習分野であれば「https://github.com/topics/machine-learning」で、TensorFlowやKerasなどのプロジェクトの中から取り組みやすいと思われるイシューが推奨されます。
初めてでも取り組みやすいイシューを推奨
貢献したいプロジェクトが決まっている場合、「github.com/<オーナー名>/<リポジトリ名>/contribute」で、オープンソースへの貢献が初めてでも取り組みやすい、例えばドキュメントの修正といったイシューの一覧が表示されます。
Node.jsを例にすると、「github.com/nodejs/node/contribute」で、取り組みやすいと思われるイシューをリストアップしてくれます。
ユーザーの過去のコントリビューションに基づいて、適切なプロジェクトを推奨
すでにGitHubでさまざまな活動を行っているユーザーであれば、過去の貢献内容などを基に機械学習によるマッチングが行われ、「github.com/explore」で適切と思われるパーソナライズされたイシューの一覧が表示されます。
プロジェクトやイシューの推奨を機械学習でどのように行っているのかは、GitHubのブログ「How we built the good first issues feature」で説明されていますので、興味のある方はぜひ読んでみてください。
こうした推奨機能は、コントリビュートしてみたいプログラマと、コントリビューターを求めているオープンソースプロジェクトを効率的にマッチさせることになります。それは結果として、オープンソースの発展に大きく寄与するのではないかと期待されます。
あわせて読みたい
品質を犠牲にすることでソフトウェア開発のスピードは上がるのか? 和田卓人氏による 「質とスピード」(前編)。デブサミ2020
≪前の記事
マイクロソフト、Linux用のマルウェア対策ソフト「Microsoft Defender ATP for Linux」パブリックプレビュー