OSS に初めてコントリビュートした話【おすすめ記事も紹介】

## 対象読者

OSS に関して、
- 興味はあるが、自分には敷居が高いと感じている人
- 初心者（私）が実際に行ったことを知り、参加するイメージを高めたい人
- オススメの記事を知りたい人

## はじめに

突然ですが、みなさんは **LAPRAS** を使ってますか？

https://lapras.com/

LAPRAS は、GitHub、Qiita、X(Twitter) など各媒体での活動やアウトプットをもとに、AI が技術力・ビジネス力・影響力をスコア化し、ポートフォリオとしてまとめてくれるサービスです。参考までに、私のポートフォリオはこんな感じです👇

https://lapras.com/public/kterada

すでに使っている方も多いかもしれませんが、全エンジニアにおすすめしたい素晴らしいサービスなので、まだ登録してない人はこの機会にぜひ登録してみてください。自分の技術力がスコア化されるのは面白いですよ。

しかし、今回私が OSS に始めてコントリビュートしたことと何の関係があるのでしょうか？

## OSS にコントリビュートするまでの経緯

一言で言うと、LAPRAS にめっちゃハマりました。

自分のこれまでの活動がスコア化されるのを見るのは本当に楽しいです。さらに、スコアが上がるたびにテンションもモチベーションも上がりまくりです。

LAPRAS でのスコアアップを目指しているうちに、Qiita で記事を書くようになり、自然と OSS にも興味を持つようになりました。しかし、技術的にはまだ未熟なので、実装によるコントリビュートは厳しいかなと感じていました。

そんな中、React Hooks の useSWR ライブラリを公式ドキュメント見ながら勉強をしていると、未翻訳のページが１つだけ存在していることに気づきました。「これはチャンスだ！」と思い、少し敷居が高くも感じられましたが、挑戦してみることにしました。

## 参加するプロジェクトを選ぶうえで重要なこと

業務や個人で使うもの、もしくは興味を持てそうなものを選ぶ、これに尽きると思います。

筆者が今回 `useSWR` を選んだのも、React Hooks を勉強する中で従来の `useEffect` を使うデータ取得の方法より圧倒的に直感的で開発効率も上がりそうだと感じて興味を持ったからです。

この技術をもっと理解したい、掘り下げたいと思えるかどうかがまずは一番重要かなと思います。そして、少しでも興味を持った技術のリポジトリにはスターを付けて後で見返せるようにしておきましょう。

## 具体的なコントリビュート内容と工夫した点

`useSWR` 公式ドキュメントの "Usage with Next.js" というページを日本語に翻訳しました。

https://swr.vercel.app/ja/docs/with-nextjs

以下、翻訳するにあたり自分なりに工夫したところです。

### 1\. 技術用語の扱い

英語の技術用語を日本語に変換するのか、あるいはそのまま使うのかという点に注意を払いました。例えば、「Server Components」は変換して「サーバーコンポーネント」としたほうが読者にとって理解しやすいのかを考えました。

ここは自分だけの感覚に頼らず、React など日本語に翻訳された公式ドキュメントでの扱いや、Qiita や Zenn で他の人が書かれた内容を参考にしながら進めていきました。

### 2\. 正確さと明確さ

技術的な内容が正確に伝わるように何度も確認を行いました。また、翻訳した日本語が読者にとって読みやすいものかどうかにも気をつけました。

現在は多くの翻訳ツールがあるので、これらを活用しながら作業を進めました。一つのツールだけに頼らず、複数のツールの結果を比較して最適な表現を選ぶことをオススメします。

今回の私の場合、ChatGPT 4o と DeepL を使用しました。

### 3\. フィードバックの活用

一回目の PR で日本人のメンテナの方（[@koba04](https://x.com/koba04)さん！！）によるフィードバックを頂きました。ファイルの行数や、文章のニュアンスに関する内容だったので、それらをもとにもう一度修正を加えて、再度 PR を作成しました。

## 参加して感じたコントリビューションの価値

今回の経験を通じて感じたことは大きく２つあります。

### 1\. 技術への理解の向上

当たり前のことですが、ドキュメントの翻訳、バグの修正、新たな機能の提案など何をするにしても、その過程で対象の技術に対するより深い知識を得ることができます。

今回私が行った翻訳は、OSS においては初心者向きで、貢献の内容としては軽めかもしれませんが、英語のドキュメントを読み込む中で `useSWR` に対する知識が以前よりも明らかに深まりました。

### 2\. コミュニティ貢献の意義

ソフトウェアというある種 OSS によって成り立っている世界に対して、微力ながらも貢献できたということは素直に嬉しかったです。

また、普段私達が母国語である日本語で公式ドキュメントを読むことができるのも、先人たちが貢献してきてくれたからであり、その恩に報いるためにも、自分も同じようにコミュニティに対して何かしらの形で貢献することが重要だと思っています。

## OSS に参加するまでに読んだオススメの記事たち

最後に、OSS に対するモチベーションを上げてくれる記事や、実際にコントリビュートする手順を解説した記事など、オススメの記事を紹介します。

https://qiita.com/Sicut_study/items/f31cdf9b19756238936b

👆 LAPRAS を知ったきっかけの記事。アウトプットと発信の大事さを再確認できる。

https://qiita.com/hirotomoyamada/items/69e94560d9a662a15961

👆 [Yamada UI](https://yamada-ui.com/ja) の開発者の方による初めて OSS にコントリビュートしたい人向けの詳細な解説記事。おすすめ。

https://qiita.com/Koukyosyumei/items/8f8b06a97bf8e17098aa

👆 同じ大学生でここまですごい方もいるんだなと思った記事。

https://qiita.com/yhay81/items/3773ab2e001a9e39ccc8

👆 ドキュメント翻訳による貢献で日本語コミュニティを盛り上げようという記事。

https://zenn.dev/smikitky/articles/0d250f7367eda9

👆 React 公式ドキュメントのメンテナの方による記事。React チームの内部のことが書かれており貴重。

## おわりに

いかがだったでしょうか。

OSS に関して高々と語ってきましたが、私が行ったのはドキュメントの翻訳です。それでも、コミュニティに貢献するための一歩を踏み出せたことは大きな経験でした。

OSS はドキュメントの翻訳やバグ報告など、小さな貢献から始めてみることができます。この記事を通じて、OSS に対するハードルが少しでも下がり、「自分もやってみよう」と思ってもらえたら嬉しいです。

ここまで読んでいただきありがとうございました！

## 参考

- useSWR 公式ドキュメント

https://swr.vercel.app/ja

- LAPRAS

https://lapras.com/

- Yamada UI

https://yamada-ui.com/ja