正直n番煎じな内容なのですが,自分用のメモとして残しておきます.
OSSとは
オープンソースソフトウェア(英: Open Source Software、略称: OSS)とは、利用者の目的を問わずソースコードを使用、調査、再利用、修正、拡張、再配布が可能なソフトウェアの総称である [https://ja.wikipedia.org/wiki/オープンソースソフトウェア]
GolangやKotlinなどのプログラミング言語をはじめとして,Visual Studio CodeのようなエディタもOSSとして流布されています.また,多くのOSSがGithub上で管理されています.
OSSの開発に貢献するための手順
今回実際に通したPR(プルリクエスト)はこちらになります.株式会社ロックオン様が開発しているECサイトのOSSです.
CSS一行を書き換えただけの簡単な編集しかしていません.
OSSの開発ドキュメントを読む
OSSは不特定多数に人が自由に編集し,ソースコードの追加・修正が行われていきます.
そのため,命名規則やディレクトリ構成などがあらかじめ策定されていることが多いです.編集を始める前にドキュメントを一読しておきましょう
issueを探す
現時点での不具合や追加すべき機能などがGithubのissuesで挙げられ,各エンジニアが議論します.
issueは解決の優先順位や修正の難易度によって異なるラベルがつけられています.
今回は簡単に貢献できそうな「Easy」を選んで探しました.
ソースコードを編集してPRを送る
リポジトリをフォークする
- フォークするリポジトリにアクセスする
- 右上のforkボタンを押して自分のアカウントのリモートリポジトリにコピーする
ローカルリポジトリにクローンする
フォークした自分のリモートリポジトリからクローンし,remote urlを設定します.
$ git clone [repository url]
$ git remote add origin [your repository url]
さらに,自身の作業用ブランチを用意します.どのissueを解決したのかわかるブランチ名が好ましいようです.
今回はCSSによる表示を変更するだけですので,修正する旨を示すブランチ名にしました.
$ git checkout -b fix/plugin-version-display
実際に作業し,自分環境でテストする
ソースコードの編集を行いコミット,プッシュしていきます.
PRの作成
フォークしたリポジトリにプッシュするとPRを作成するボタンがGithubに出てくるのでボタンを押してPRを作成します.
PRの作成時にはメッセージを書く欄があるので,ここにどのissueを解決したのか,どんな実装を行なったのかなど今回のPRの概観がわかるような説明を記述します.
今回はPRメッセージの形式も決まっているため,それに沿って記述します
CIとレビュー
今回のプロジェクトではPRに対してScrutinizerやTravis CIによるテストが行われていました.
これらのテストに通らないと,そもそもリクエストが承認されることはありません(品質を保つためです).
PRはレビュワーの方が内容を確認し,問題がなければマージされます.今回は修正になんの問題もなくそのままマージしていただきました.
感想
1ファイル1行修正1コミットだけの簡単なPRでしたが,原因を探す間にプロジェクトに用いられている技術的なことが知れたりと学ぶことがたくさんありました.
実際に自分が行なった修正が本バージョンに反映されるとモチベーションが上がるし,次もコントリビュートしたくなります.もっとPR量産していきます!!!!