pandasのベンチマークと多様性を向上させるためのNumFOCUS助成金に関する報告書

執筆者:ルーシー・ヒメネスおよびドロシー・カバロジ・B

NumFOCUSの支援を受けてpandasプロジェクトのために取り組んだ、ASVベンチマークフレームワークの改善と多様性への取り組みに関する私たちの経験を共有したいと思います。

この助成金は2つの側面に着目しました。1つ目は、Pythonパッケージのベンチマークに使用され、pandasでも使用されているツールであるasvライブラリの改善です。このプロジェクトは保守されておらず、コードベースはかなり古くなっていました。さらに、現代の標準に準拠しておらず、削除可能なPython 2互換性コードがあり、CIも改善の余地がありました。2つ目は、より多くの未代表グループがオープンソースプロジェクトに貢献するよう奨励することです。この助成金は10週間にわたり、週に約20時間働きました。ウガンダ出身のドロシー・カバロジ・Bとコロンビア出身のルーシー・ヒメネスが、マーク・ガルシアの指導のもと開発しました。

なぜ私たちは助成金の一部だったのでしょうか?

ドロシーはシステムエンジニアリング、ルーシーは計算化学と、私たちは異なる経歴を持っていますが、オープンソースソフトウェアプロジェクトへの参加と貢献には常に興味を持ってきました。そのため、私たちのコミュニティ(PyLadies KampalaPyLadies Colombia)でPyLadiesのミートアップを開催し、貢献につながるあらゆる機会を常に探してきました。

すべてはマーク・ガルシアを通じて起こりました。彼はソーシャルメディアの投稿で、多様なバックグラウンドを持つ女性を指導する呼びかけをしていました。ドロシーはpandasのメンターシップグループの一員となりました。同時に、ルーシーはSciPy Latamカンファレンスの共同オーガナイザーであり、そこでマークに出会いました。マークはそのカンファレンスの講演者であり、この共通のつながりを通じて、私たちはこのベンチマーク助成金について知ることができました。

要するに、カンファレンス、ミートアップ、ソーシャルメディアに参加することで、これらの機会につながるつながりやリンクを作ることができます。

ソースコードからの学習

助成金の開始当初、私たちは基礎から始めました。GitとGitHubの管理スキルを向上させることができると気づきました。例えば、Gitワークフローでいくつかの問題があったため、それについてもっと読み、練習する必要がありました。貴重なリソースの1つは、マークによるオープンソースへの貢献方法についての説明で、ぜひご覧になることをお勧めします。

この助成金を通じて、私たちはソースコードから多くのことを学び、ベストプラクティスとコード品質に関する膨大な知識を得ました。私たちは、PEP-8ガイドラインに従うようにスタイルを改善するためにコードを更新し、Python 2互換性コードと6つの依存関係を削除し、未使用のコードを見つけて削除する作業に取り組んできました。また、GitHub Actionsについても学び、asvパッケージのCIをGitHub Actionsで構築し始めました。そのために、Flake8によるLinting、pytestによるテスト、ドキュメントの構築、異なるPythonバージョンでのCIの実行に取り組んでいます。

さらに、ソースコードのバグを特定し、他の貢献者からのプルリクエストをレビューし、新しいissueを作成することができました。これは、メンテナーだけができることで、貢献者はできないと考えていたことでした。最後に、コード自体のレビューだけでなく、プロジェクトの構造とフォルダの階層もより透明になりました。

私たちの経験

この助成金では、素晴らしいメンターであるマーク・ガルシアがいました。彼は常に知識を共有し、不明な概念を説明し、役立つフィードバックを共有することに意欲的でした。そのフィードバックを実装するたびに、より多くの問題をより速く解決することが容易に感じられました。このプロジェクトを開始したときから成長を感じ、より多くのオープンソースプロジェクトに貢献するにつれて、この成長を持ち続けるでしょう。これはすべて、彼の素晴らしいメンターシップのおかげです。このプロセス中に、他の貢献者、利害関係者、コア開発者からもフィードバックを受け取ったことも重要です。これにより、オープンソースプロジェクトにおける作業のより広範な視点が得られました。

私たちはまた、強力なチームワークのパートナーシップを築きました。タスクをよりよく理解するために、何度も1対1の通話を行い、お互いに助け合いました。私たちは常に技術的な側面からお互いをサポートする方法を探し、必要に応じてお互いを励まし合いました。私たちにとって、それは専門的かつ人間的な成長でした。

オープンソースソフトウェアのスプリントの実施

このプロセスで得られた知識と経験により、2つのバーチャルスプリントを企画することができました。これらのイベントは地元のPyLadiesコミュニティと共同で実施されました。1つ目は2月26日にPyLadies Kampalaと、3月21日にPyLadies Colombiaと開催されました。

これらのイベントを企画する中で、バーチャルスプリントを企画・運営する方法を学びました。スプリントの参加者の中には、最終的にオープンソースについて全く知らない人もいましたが、オープンソースの概念を説明し、Gitワークフローを案内することは素晴らしい経験でした。最終的に、彼らは初めての貢献をすることができました。私たちは、貢献者のPRがマージされるまで、彼らを支援し、GitHubで彼らの貢献をレビューすることで、貢献者をフォローアップする方法を学びました。

最も優れた成果は、新しい貢献者を指導し、この助成金から得た知識をそれぞれのコミュニティの他の参加者と共有したことでした。経験を積んだ新しい貢献者のほとんどは、アウトリーチや今後のGoogle Summer of Codeに応募し、これらのスプリントで学んだスキルを応用しています。

結論

結論として、私たちはこの経験から、コードの部分、オープンソースプロジェクトのワークフロー、困難な状況での忍耐力、そして私たちの地域コミュニティのより多くの女性や人々にオープンソースプロジェクトへの貢献を奨励する方法について多くのことを学びました。

最後に、オープンソースプロジェクトに参加したい場合は、興味のあるさまざまなプロジェクトのGitHubリポジトリをチェックし、取り組むべき簡単なissueを探して始めてみてください。また、特定の質問がある場合はプロジェクトのメンテナーに連絡したり、あなたの国のオープンソースコミュニティを探したり、私たちに連絡してさらに助けを求めることもできます。

謝辞

NumFOCUSがSmall Development Grantsを通じてこの支援を与えてくれたこと、そしてマークがこの数週間にわたり惜しみなく素晴らしい指導をしてくれたことに深く感謝いたします。

私たちは、今後もさらに貢献し、私たちのコミュニティとオープンソースコミュニティに影響を与えることを楽しみにしています!


詳細については、これらのチャネルを通じてお気軽にご連絡ください

ルーシー・ヒメネス * Twitter * LinkedIn

ドロシー・カバロジ * Twitter * LinkedIn