Code to Community
Journey Through OSS with Go OpenAI.
Dimyo Meetup #2
Yuichi Watanabe at Nulab Inc.
Profile
-
渡邉祐一
-
SWE at Nulab Inc.
-
社会人学生
-
2児の父
-
観葉植物の板付
-
ビカクシダ
-
チランジア
-
Index
ABOUT OPENAI API
various tasks
文章生成、テキストの要約、翻訳など、様々なタスクを実行します。
Intgration
既存のシステムにAIを統合することを容易にします。
ABOUT Go OPENAI
WITH Azure
共通のインターフェースを通じて、OpenAI APIとAzure OpenAIサービスをサポートします。
popularity
6.0Kのスターを獲得し、非常に人気が高いです。
ABOUT Go OPENAI
Motivation to Contribute
OpenAI APIを使った実験的なツールを作ることへの興味と、Goへの好みから出発し、私は非常に人気のあるGo OpenAIライブラリを選びました。
Go OpenAIのコミュニティは非常に活発でした。しかし、単一のメンテナが数多くのIssueやプルリクエストを処理するのは難しそうでした。
これらの課題を克服するために手助けする意図で、私はGo OpenAIの開発にコントリビュートすることにしました。
Continuous Contribution
最初に、"Good First Issue"とラベル付けされたリファクタリングタスクに取り組みました。
これに続き、サポートされていないAPIの実装やバグ修正を行いました。
また、テストコードに大量のボイラープレートが存在したため、テストのリファクタリングを行い、コード量が大幅に削減しました。
コードへの貢献に加えて、他の人が行ったプルリクエストの議論への参加、Issueへの回答など、コードの貢献以外の他の活動も行いました。
result of continued contributions
約1ヶ月間の連続的なコントリビュートの後、Go OpenAIの著者であるAlexさんからTwitterでフォローされ、ダイレクトメッセージで感謝のメッセージを受け取りました。
そして、Alexさんからの招待により、私はこのプロジェクトの共同メンテナとして参加することになりました。とても誇りに思います。
Activities as a Maintainer
MY FIRST GOAL
- プロジェクト管理の効率を上げる
- メンテナンスのコミュニケーションコストを削減する
Activities as a Maintainer
Actions
-
IssueとPull Requestのテンプレートの導入
-
すべてのIssueにラベルを付ける
-
重複または解決済みのIssueの整理
-
非ActiveなIssueを自動で閉じるGitHub Actionsの導入
Activities as a Maintainer
Results
-
テンプレートの使用により、新たなIssueを作成したりプルリクエストを提出したりする際のフォーマットが標準化され、内容を理解しやすくなりました。
-
すべてのIssueがラベル付けされて整理され、Issueの種類を一目で理解することが可能になりました。
Activities as a Maintainer
Results
-
重複しているか既に解決済みのIssueは閉じられ、OpenなIssueの数が約70個から25個に減少しました。
-
これらの努力により、プロジェクト管理がより効率的になり、メンテナンスのコミュニケーションコストが削減されました。
今回のコントリビューションはプルリクエストだけではなく、プロジェクト管理の側面でも大きな成果を得ることができました。
最初はGo OpenAIのユーザとして始まり、その後積極的なコントリビューターになり、最終的にはメンテナとなる過程は、ソフトウェア開発の深い理解を得るための重要なステップでした。これは、"CODE TO COMMUNITY"というタイトルのとおり、1行のコードが開発者コミュニティの活動へと変化していく旅のように感じられました。
このプレゼンテーションが皆さんのオープンソースプロジェクトへの参加を考えてみるきっかけになることを願っています。
Conclusion
acknowledgements
このプレゼンテーションは、Go OpenAIの著者であるAlexさんの尽力と貢献なしには実現できませんでした。彼に最大の敬意と感謝を表します。
AlexさんのOSS活動を是非チェックしてみてください。
https://github.com/sponsors/sashabaranov
CODE TO COMMUNITY 【日本語】
By Yuichi Watanabe
CODE TO COMMUNITY 【日本語】
- 1,153