このサイトで使っている Hugo のテーマに不具合を見つけて「どうせだしプルリク送るかー」と思ってプルリクを送ったらマージしてもらえたときのお話です。

🐛 見つけた不具合

Table of contents

ブログの記事を PC で表示しているときに右側に表示されている Table of Contents の欄。クリックするとその項目のところまでヌメっと動くのですが、

項目名にマルチバイト文字が入っている際にうまくいきませんでした。

🔍 どうやって直す方法を探したか

エラーメッセージでいろいろググっていたら以下のような記事を見つけました。

https://dev.to/nabbisen/jquery-id-syntax-error-unrecognized-expression-10b5

ID 値に日本語(マルチバイト文字)が含まれている場合うまくいかないのでは?となり、上記サイトに従って this.hashdecodeURI(this.hash) にしたところ、

うまくいきました!!

🍴🍖 リポジトリをフォークしてプルリクエストを送るまで

OSS にプルリクエストを送る流れは以下のようになります。

  • OSS のソースコードをフォークする

Fork

そうすると自分のところにリポジトリをクローンしたような形になります。

Clone after fork

  • 自分のリポジトリで新しくブランチを作成してソースコードをいじる

  • プルリクエストを送る

自分も初めてだったのでわからなかったのですが、フォークしたリポジトリと元のリポジトリを比較してプルリクエストを送ることができるみたいです。

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

見事マージされて、 OSS に貢献することができました。

Pull request

💪 貢献するのは意外と難しくない

今回 OSS に貢献するうえで初めて Git の Fork を使用しましたが、それ以外はプルリクエストを送るくらいで、普段の開発+αくらいで貢献できたので、貢献するだけなら意外と難しくないのかもしれません。

大変だったのは、プルリクエストを英語で書くところです。

ちょいちょい Google 翻訳を使用しつつ書きましたが、それでも管理者の方にちゃんと受け入れていただくことができました。

🏪 OSS を利用するにあたって

OSS を使用するうえで最も留意しなければいけない点は、 OSS 自体にバグがあるかもしれない という点です。

開発で外部のサービスを利用するのは確かに便利ですが、そのサービスの不具合やダウンによって、自分の製品にも影響があるということを忘れてはいけません。

ですが、どうしても利用したいとき、動作してくれないと困るとき、それは世界中探せば同じ問題で困っている人がいるかもしれません。

思い切ってプルリクエストを送って承認されれば、自分の市場価値を少しだけ高められると思います。

みなさんもぜひやってみてください。

この記事の改善点などある方はぜひ下のコメント欄に書き込んでみてください。