Journey Through OSS with Go OpenAI.
Dimyo Meetup #2
Yuichi Watanabe at Nulab Inc.
Yuichi Watanabe
SWE at Nulab Inc.
Also studying at university while working full time.
Father of two children.
Passionate about football, especially LaLiga.
Enjoys with indoor plants.
Preference for ferns and air plants.
Performs various tasks like language generation, text summarization, translation, and more.
Facilitates easy integration of AI into existing systems.
Supports OpenAI API and Azure OpenAI Service through a common interface.
Has a high popularity with 6.0K stars.
Starting from an interest in building an experimental tool with the OpenAI API, and a fondness for the Go, I selected the very popular Go OpenAI library.
Go OpenAI community was very active. However, it seemed challenging for a single maintainer to handle the numerous issues and pull requests.
With the intent to help overcome these challenges, I decided to contribute to the development of Go OpenAI.
Initially started working on refactoring tasks labeled as "Good First Issue". This was followed by the implementation of unsupported APIs and bug fixes.
Moreover, due to the presence of a large amount of boilerplate in the test code, a refactoring of the tests was carried out, resulting in a significant reduction in the amount of code.
In addition to code contributions, other activities were also carried out such as participating in discussions on pull requests made by others, responding to questions in issues, and other non-code contributions.
After about a month of continuous contribution, I was followed on Twitter by Alex, the author of the project, and received a message of thanks via direct message.
Consequently, thanks to an invitation from Alex, I joined the project as a co-maintainer.
I'm very proud!
Use of Issue and Pull Request templates
Labeling of all issues
Organization of duplicate or resolved issues
Use of a GitHub Actions to auto close inactive issues
Use of templates standardized the format for contributors when creating new issues or submitting pull requests, making information easier to understand.
Additionally, all issues were labeled and organized, making it possible to understand the type and priority of an issue at a glance.
Duplicate or already resolved issues were closed, reducing the number of open issues from approximately 70 to 25.
These efforts have made project management more efficient and contributed to the improvement of Go OpenAI quality.
Participation in OSS projects fosters individual growth and benefits the community.
This process, transitioning from user to contributor and ultimately maintainer, offers deep software development insights and project management skills.
These valuable experiences can be applied to any role.
I hope my journey inspires you to explore diverse ways to contribute, from coding to managing projects.
This presentation would not have been possible without the dedicated efforts and contributions of Alex, the owner of Go OpenAI, to whom we extend our deepest respect and gratitude.
Please check it:
https://github.com/sponsors/sashabaranov