はじめに
この記事は OSSAdvent Calendar 2023 1 日目の投稿になります。
先日、GitHub が公開している Open Source Guides にコントリビューション ( 貢献 ) してきました。
そこで、Open Source Guides にコントリビューションしたので、OSS にコントリビューションしたことがない人向けに OSS へコントリビューションする魅力と方法を紹介していきます。
OSS とは
OSS とは「Open Source Sftweare」の略です。
利用者の目的を問わず、誰でも自由にソースコードを入手でき、自由に改変でき、自由に再配布できるソフトウェアのことです。
有名な OSS としては、Linux やプログラミング言語の Python などがあります。
なぜ OSS に参加するのか
OSS に参加するメリットは以下の 3 つが挙げられます。
- 持っているスキルを磨く
- 日頃使っているライブラリをより深く理解する
- さまざまな人とつながる
持っているスキルを磨く
日頃、会社や学校などの閉鎖的な空間でプログラミングをしていると、その中の固定観念に囚われてしまいます。
しかし、OSS では様々な人にコードを見てもらうことができます。
しかも、日本だけでなく世界中の人に見てもらえるので、様々な意見をもらうことができます。
日頃使っているライブラリをより深く理解する
OSS に参加することで、日頃使っているライブラリをより深く理解できます。
新しいバージョンのリリース情報や、バグの修正情報などを読むことで、ライブラリの仕組みや機能を追加した理由などを知ることができます。
さまざまな人とつながる
チャットベースとはいえ、世界中の人と国境を超えて協力できます。
これはとても凄いことです。
実際に旅行をしなくても、多くの人と繋がることができるのですから。
また、英語に自信がなくても、Google 翻訳や DeepL、ChatGPT などを使うことで、コミュニケーションを取ることができます。良い時代になりました。
いつコントリビューションするの?
これは主に 2 つのタイミングがあります。
- バグを見つけたとき
- 興味のある技術と出会った時
バグを見つけたとき
バグや手順通りにやってもエラーが出る場合は、Issue を作成して報告・相談を試みてみましょう。
もし、修正が必要で自分で修正できそうな場合は、Pull Request を作成して修正してみましょう。
興味のある技術と出会った時
運命的な出会いですね!
実際にコードを読んだり、Issue から解決できそうな問題を探してみましょう。
どのような OSS にコントリビューションするか
さて、OSS にコントリリューションするには、リポジトリを見つけないと始まりません。
リポジトリを探す方法としては以下の 3 つが挙げられます。
- いつも使っているツールのリポジトリ
- 好きな言語のリポジトリ
- 話題になっているリポジトリ
特にいつも使っているツールのリポジトリは、自分がいつも使っているツールのバグを見つけた場合に、そのバグを直したり、報告したりできます。
どうやってコントリビューションするか
OSS にコントリビューションすると言っても、コードを書くことだけがコントリビューションではありません。
以下のようにさまざまな方法でコントリビューションできます。
デザイン
デザインに精通しているのであれば、OSS のデザインにコントリビューションするのが良いでしょう。
プロジェクトの UI/UX を改善したり、新しいロゴを作成したりなどができます。
ドキュメント
ドキュメントを書くこともコントリビューションの 1 つです。
コードは新しいのにドキュメントは古いままということもよくあります。
また、多くの人に使ってもらえるようにチュートリアルやプロジェクトのドキュメント翻訳を提案するもの良いでしょう。
プロジェクトによっては、英語以外の言語に翻訳してくれる人を探しているプロジェクトも存在します。
私がコントリビューションした Open Source Guides は、その 1 つです。
質問に答える
その OSS に精通しているのであれば、質問に答えることもコントリビューションの 1 つです。
この方法は GitHub の Issues に答える以外にも、Stack Overflow や Qiita などの Q&A サイトに答えることも含まれます。
コードを書く
勿論、コードを書くこともコントリビューションの 1 つです。
Issue から解決できそうな問題を探し、修正することや、出会ったバグを修正するなどが挙げられます。
初めて OSS にコントリビューションする場合や、初めてコントリビューションするリポジトリの場合は、Issue のラベルが good first issue
となっているものを探すと良いでしょう。
結論:コードを書くだけがコントリビューションではない
以上のように、さまざまな形で OSS にコントリビューションできます。
自分にあった、自分の好きな方法でそのプロジェクトにコントリビューションしていきましょう。
どうやってコントリビューションするか
有名どころだと、GitHub 上にある OSS へコントリビューションするのが良いでしょう。
理由は、GitHub は世界中の多くの人が使っており、ドキュメントも豊富だからです。
また、GitHub 以外にも OSS にコントリビューションする方法はあります。
例えば、デスクトップ版の Firefox は GitHub ではなく、hg.mozilla.org で公開されています。
勿論、ここでもコントリビューションできます。
コントリビューションするのに自信がない場合
ここまで、OSS にコントリビューションする魅力と方法を紹介してきましたが、自分には自信がないという人もいると思います。
そんな方は OSS Gate のワークショップに参加すると良いでしょう。
「OSS Gate」は、OSS 開発に参加する「入り口」を提供する取り組みです。 OSS 開発の入り口を実際に体験するワークショップを開催しています。
↓こちらも合わせて読むことをおすすめします。
まとめ
以上のように、OSS には国境を超えて様々な人が様々な方法で活動しています。
あなたも、自分の方法で良いので OSS に参加してみてはいかがでしょうか。