タダケンのEnjoy Tech

楽しみながらラクに成果を上げる仕組みを考える

人生初!OSSにPull Requestを送ってMergeされた話

f:id:tadaken3:20180920111337p:plain こんにちは!
タダケン(@tadaken3)です。

人生初、オープンソースソフトウェア(OSS)にプルリクエスト(Pull Request)を送りました。

LaradockというDockerでLaravel環境を作るためのOSSで、小さい修正なのですが、無事にマージされました!OSSにプルリクを送るのは、今年の目標の一つだったので、達成できてすなおにうれしいです。

実際のプルリクエストはこちらです。

github.com

本記事では、OSS開発に貢献するために、OSSにプルリクエストを送る方法をまとめました。

実際のコードとドキュメントの内容が異なっていた

事の発端は、あるプログラミング初心者さんからの質問でした。

f:id:tadaken3:20180909143903p:plain

ボクは入江開発室というWEBサービスの開発をしているオンラインサロンに所属しています。

初心者向けのプロジェクトとして、Laradockを使ってあるWEBサービスのクローンを作るプロジェクトがあります。

ボクはメンターの一人としてお手伝いをさせていただいています。

そのときは、Laradockを使ったLarvelの環境構築をお手伝いしていたのですが、その初心者さんの質問により、教材に使っているブログ記事env-exampleの記載が異なっていることがわかりました。

よくよく調べてみると、公式ドキュメントと実際のコードの記述が異なっていることがわかりました。ブログ記事はもちろん修正したのですが、もともとブログ記事は公式ドキュメントを参考に作ったので、これはほかにも混乱する人が出るなと思い、Laradockの公式ドキュメンを修正すべく、プルリクエストをあげようと決意しました。

OSSにプルリクエストするまでの手順

リポジトリのフォークする

まずはプルリクエストをあげたいプロジェクトをコピーして、自分のアカウントにリポジトリの複製を作成します。この作業を「フォーク」といいます。

基本的に他人のリポジトリに対して権限がないためファイルを追加したらり、変更する書き込むことはできません。一方、フォークしたリポジトリは自分の所有物なので、自由に変更ができます。

OSSにプルリクエストを上げる場合は、まずは対象のリポジトリをフォークします。

プロジェクトをフォークするには、githubの右上にある「Fork」ボタンを押します。

f:id:tadaken3:20180909123054p:plain

すると「自分のユーザー名/リポジトリ名」でリポジトリが作成されます。

今回、Laradockのリポジトリをボク(tadaken3)がフォークしたので、「tadaken3/laradock」というリポジトリが作られます。

f:id:tadaken3:20180909123102p:plain

プログラムの追加・修正

forkしたリポジトリは自分のものなので、自由にいじっても問題ありません。forkしたリポジトリを使って、コードを追加したり、ドキュメントを修正していきます。作業が終わったら、コミットしてプッシュします。

プルリクエストの作成

コミットしたらいよいよ、プルリクエストの作成です。フォークした自分のリポジトリにある「New pull requests」ボタンを押します。

f:id:tadaken3:20180909123507p:plain

すると、どのリポジトリのどのブランチに対して、プルリクエストをするか選択画面が表示されます。プルリクエストを取り込んでもらいたいブランチにを選択し、“Create pull request” ボタンを押します。

f:id:tadaken3:20180909123530p:plain

Pull Requestのメッセージを書く

プルリクエストについて、どこをどのように変更したかを説明する文章を書きます。基本的には英語です。Google先生などに頼りながら頑張って書きましょう。つたない英語もで誠意を持って書けばきっと伝わると思います!

無事、マージされてcontributorsの一員に!

あとはマージされるのを楽しみに待ちます。ボクの場合は3日ほどでマージされました。

f:id:tadaken3:20180909124634p:plain

ちょっとした修正ですが、これでLaradockを使い始める際の障壁を一つ取り除けたのかなと思っています。

まとめ

今回はOSSにプルリクエストを送る方法をまとめてみました。

  • リポジトリをフォークする
  • コードを追加・修正する
  • フォークしたリポジトリからもとのリポジトリにプルリクエストをあげる

です。

意外と自分にもできそうじゃありませんか?

Laradockにプルリクエストを送ったことで、こんな小さな修正でも「OSSコミュニティの世界に貢献した」という経験を手に入れることができました。

プルリクエストを出すのに必要なのは、ほんのちょっとした勇気です。あなたが困っていることはきっと他の誰かが困っていることです。ぜひ今日から、世界を良くするための一歩を踏み出してみてください。

この記事が、あなたのOSSデビューの助けになることを切に願っています。

Twitterのフォロー・読者登録をお願いします

タダケンのTwitterアカウントをフォローもしくは、ブログの読者登録していただけると更新の励みになります!ぜひ、よろしくお願いいたします。

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)