Code to Community

Journey Through OSS with Go OpenAI.

Dimyo Meetup #2

Yuichi Watanabe at Nulab Inc.

Profile

  • 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.

Index

ABOUT OPENAI API

Web API

API for accessing new AI models developed by OpenAI. https://platform.openai.com/overview

various tasks

Performs various tasks like language generation, text summarization, translation, and more.

Intgration

Facilitates easy integration of AI into existing systems.

ABOUT Go OPENAI

三Go

A client library for the OpenAI API, written in Go. https://github.com/sashabaranov/go-openai

WITH Azure

Supports OpenAI API and Azure OpenAI Service through a common interface.

popularity

Has a high popularity with 6.0K stars.

ABOUT Go OPENAI

Motivation to Contribute

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.

Continuous Contribution

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.

result of continued 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!

Activities as a Maintainer

My First goal

  • Increase the efficiency of project management
  • Reduce communication costs of maintenance

Activities as a Maintainer

Actions

  • 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

Activities as a Maintainer

Results

  • 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.

Activities as a Maintainer

Results

  • 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.

Conclusion

acknowledgements

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

CODE TO COMMUNITY【English】

By Yuichi Watanabe

CODE TO COMMUNITY【English】

  • 439