オープンソースソフトウェアに貢献したいですか?始める方法はこちらです。
GitHub、Git、またはコーディングの専門家でなくても、多くのオープンソースプロジェクトに貢献できることをご存知ですか?経験豊富なプログラマーであろうとなかろうと、世界で最も人気のあるソースコードホストの使い方をほんの数ステップで学ぶことができます。
Gitとは何か、GitHubとは何か?
Gitは世界で最も優れたバージョン管理システムです。作業するファイルの完全な履歴を保持でき、コラボレーションを可能にし、貴重なデータを保護します。この履歴の任意の時点でファイルを表示し、Gitの多くの機能を使用してソースコードやその他の種類のテキストファイルを管理できます。
GitHubは、Gitを使用して4億2000万以上のリポジトリ(リポ)をホストおよび管理するウェブアプリで、通常はオープンソースソフトウェアプロジェクトです。このサイトは、バグトラッカー、タスク管理、ウィキなど、Gitの上に機能を追加しています。ただし、Gitを使用するためにGitHubは必要なく、GitHubの代替としてGitLabやGiteaなどが多数存在します。しかし、あなたが貢献したい最初のプロジェクトはおそらくGitHub上にあるでしょう。だからこそ、ここでそれを示しています。
コミットとプルリクエストの説明
Gitで管理されているファイルの変更を記録したいときは、「コミット」を行います。コミットは1つのファイルまたは複数のファイルの変更を表すことができ、その変更は大きくても小さくても構いません。必要な場合は、ファイルを以前のコミットに復元することができるので、コミットをプロジェクトの明示的なセーブポイントと考えてください。
自分のプライベートな作業にはGitを使用できますが、その真の力はコラボレーションにあります。他の人とプロジェクトに取り組む場合、Gitを使用して自分の変更が同僚の変更と衝突しないようにすることができます。
プロジェクトを変更したら、コミットを「プルリクエスト」として提出できます。これにより、プロジェクトのメンテナーがあなたの変更をレビューし、承認されれば公式ソースに含めることができます。このプロセスの多くは自動的に行われるため、GitHubプロジェクトは、定期的に変更を加える数百人の貢献者がいても効果的に運営できます。
編集を作成して提出する方法
Gitは優れたツールであり、学ぶ価値がありますが、習得にはかなりの時間がかかります。幸いなことに、GitHubを利用することでこれを回避し、最小限の労力でオープンソースソフトウェアに貢献を始めることができます。
プロジェクトが明示的に許可していない限り、テストコミットやプルリクエストを行わないでください。このチュートリアルでは、私たちが作成したサンプルリポジトリのREADME.mdファイルを編集していただいて構いません。
GitHubに登録する
GitHubでは匿名での編集はできませんが、サインアップしてサイトを使い始めるのは簡単です。メールアドレスを提供し、アカウントを確認する必要があります。
サインアップが完了すると、GitHubを探索し、サービスについてさらに学ぶために使用できる個人用ダッシュボードが表示されます。
リポジトリを見つける
多くのプロジェクトには、基本的な編集や執筆スキルを使って改善できるシンプルなテキストファイルがあります。これらのページには、ヘルプファイルやウェブコンテンツなどが含まれることがあります。プロジェクトは通常、誤字の修正を評価し、多くはテキストを他の言語に翻訳する手助けを必要としています。
いくつかのプロジェクトは、他のプログラムのデータとして機能するほぼ完全にテキストで構成されています。例えば、tldrはmanページを補完するツールであり、その内容はGitHubリポジトリで管理されています。
プロジェクトのウェブサイトには通常、そのGitHubリポジトリへのリンクがあります。右上に「GitHubでフォークしてください」や「このページをGitHubで見つける」といった文言とともに、GitHubの「オクトキャット」ロゴがあるリンクを探してください。
ファイルを編集する
ファイルに直接移動した場合は、この最初のステップをスキップできます。そうでない場合は、リポジトリのファイルブラウザを使用して編集したいファイルを見つけてください。ファイル名をクリックすると、次のような画面が表示されるはずです。
ページの右側にある鉛筆アイコンをクリックします。自分が所有していないリポジトリのファイルを編集しようとすると、GitHubは最初にフォークする必要があると教えてくれます。
これにより、あなたのアカウントの下にプロジェクトのコピー(フォーク)が作成されます。変更を加えたら、それを元のプロジェクトの所有者にプルリクエストとして提出できるようになります。
GitHubのブラウザベースのエディタを使用して編集を行います。これは、構文ハイライトを含む基本的な機能を備えたシンプルなテキストボックスです。大規模または複雑な編集には使用したくないでしょうが、タイプミスやフォーマットの修正のような簡単な変更には適しています。
ファイルを更新したら、「変更をコミット」ボタンをクリックしてください。次に表示されるテキストボックスに役立つ「拡張説明」を追加します。何を変更したかを詳細に説明する必要はなく、なぜそれを行ったのかを説明してください。今のところ、シンプルに「タイプミスを修正」や「壊れたリンクを置き換えた」で大丈夫です。
プルリクエストを開く
「変更を提案する」をクリックします。これにより、「変更の比較」という見出しのページに移動し、更新の詳細が表示されます。「プルリクエストを作成」をクリックします。
次のページでは、再びタイトルと説明を求められます。1つのファイルに対して単一の変更を行っているため、以前に提供した詳細が自動的に入力されるはずですので、再度「プルリクエストを作成」をクリックして続行してください。
元のプロジェクトのリポジトリのプルリクエストページに到達します。
次に何が起こるのか?
元のプロジェクトのメンテナーがあなたの変更をレビューします。すべてが良好で、あなたの変更が受け入れられれば、彼らはあなたのリポジトリから彼らのリポジトリに変更をマージします。この時点で、あなたはオープンソースプロジェクトへの最初の貢献を成功させました:おめでとうございます!
プルリクエストが受け入れられたら、安全にプロジェクトのフォークを削除できます。将来的にさらに貢献する予定がある場合はフォークを保持できますが、元のプロジェクトが進行するにつれてそれを更新する方法を学ぶ必要があります。GitとGitHubに慣れるまでは、上記のプロセスを使用して、更新が必要なたびにプロジェクトをフォークする方が簡単です。
今では、gitについてあまり学ばなくても貢献できるプロジェクトの種類がたくさんあります。特に、GitHub Pages機能を使えば、プロジェクトのウェブサイトを無料でホストし、他のリポジトリと同様に管理できます。編集アイコンを使用して、ウェブブラウザの快適さの中でリアルタイムでウェブサイトに変更を加えることができます。