やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

初めてOSSにPRを出したらマージされた

Githubトレンドを徘徊中のこと

技術トレンドを追うために定期的にGithubのトレンドを月単位で集計されたものを見ています。
最近、データベースにお熱なのですが、何やら「sqlmap」という面白そうなレポジトリを発見しました。

github.com

最初はSQLを効率よく学習するためのロードマップかなと思ったのですが、実態はsqlインジェクションを悪用した攻撃を検証するための自動化ツールでした。

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers

普段は「へぇ、こんなの流行ってるんだな」という程度で終わるのですが、何を血迷ったのか「PR投げれるところないかな」と思い立ったのでした。

...。

今になって思えば、以前、外部のエンジニアの方に相談してOSSコミットしてみたら?とアドバイスがあったからかもしれません。

定番のドキュメント修正

いきなりコア部分のコードや動作に関する内容はレベルが高すぎると思ったので、定番のドキュメント修正が必要な箇所がないか探してみました。 どうやら日本語に翻訳されたドキュメントがあるようで、内容を確認してみることに。

Usageの日本語翻訳を見ていて、違和感を感じました。

使用法
----

基本的なオプションとスイッチの使用法をリストするには:

    python sqlmap.py -h

全てのオプションとスイッチの使用法をリストするには:

    python sqlmap.py -hh

実行例を [こちら](https://asciinema.org/a/46601) で見ることができます。
sqlmapの概要、機能の一覧、全てのオプションやスイッチの使用法を例とともに、 [ユーザーマニュアル](https://github.com/sqlmapproject/sqlmap/wiki/Usage) で確認することができます。

元の英文のREADMEをDeepL先生に翻訳してもらうとUsageは使用法と訳されるようです。
「使用方法」と訳された方が自然ですし、「使用法をリストするには」にはという表現にも違和感を感じました。

ということでPR作ってみた

DeepLで日本語から英語に翻訳したテキストをこしらえて、レポジトリをcloneしてドキュメント修正のPRを投げてみました。
PRの内容は日本人から見て、こっちの方が自然に感じるよという簡単なものです。

f:id:takamizawa46:20220322095233p:plain

github.com

さて、どうなることやら...

3日後...

PR出した翌日は1時間に1回はどうなったかなとPRを見に行き、大変、ソワソワしていました。
そして3日後、PRを確認したところマージされたではありませんか!!!

f:id:takamizawa46:20220322101047p:plain

何か批判的な意見をもらうと思っていたので、こんなにあっさりとマージされたので驚きました。

最後に

OSSへのPR作成を通じて、良い体験が出来ました。
自分で何が出来るのか考えて、案を出す。その案が受け入れられるというのは小さい内容でも、非常に嬉しいものです。

次はコードの修正が出来るように頑張ります。