imple is Best

OSSに初めてコミットしたときのお話

この記事は投稿から 4 年以上経過しています。
最新の情報は各種公式ドキュメント等をご覧下さい。

この記事はmohikanz Advent Calendar 2018及び学生LT Advent Calendar 20187日目の記事です。

(なんか空いてたのでLife is Tech ! Advent Calendar 2018にも追加)

先日初めてOSSにコミットしたので、その経験から得たものや感想を書こうと思います。

OSSにコミットするまでの流れ

僕は某Slackに所属しているのですが、そこである方が突然HTTP/3-explainedを訳すんだけど一緒にやる人いない?という旨のメッセージが投下されました。このメッセージがすべての始まりです。

このメッセージのあと、 皆さん本当に働いているのか さすがエンジニア集団と言わんばかりのスピード感で急遽翻訳チームができました。

このノリにノッた結果、人生初OSSコミットをフィンランドで迎えることとなりました。

今回の件を通して得たこと

感想を最初に書いても面白くないと思うので、得たものを先に。

GitHubの使い方

これまでGitHubは完全に独人利用でした。ローカルのリポジトリをバックアップで保存しておくためのGitHub。多分最初の頃は皆さんそうだったと思います。しかし、今回の翻訳プロジェクトに関わったことでGitHubの真の使い方を把握できた気がします。なぜfork機能があるのか、PRはどういうものなのか、GitHubのコードレビューはどう見るのか Assign はどう使うのか、PRのReviewr機能など独りで開発しているときには触ることのない機能をたくさん触ることができました。今回のプロジェクト参加で一番の収穫だと思います。

翻訳の流れ

どのようにブランチを切り、どのように翻訳していき、どのようにPRを送り、どのような形でマージされるのか。一例ではありますが、とても参考になりました。

どの英単語は訳さないのかやこの場合はこう訳すなどがチャンネル内で活発に行われており、翻訳という行為がどれだけ大変なのかや英語そのものに対する知見が増えていきました。これまで自分で読むために英文を訳すことは多々ありましたが、他人に読んでもらうために訳すということをしたことがありませんでした。自分が理解していることを文字に起こし、可能な限り語弊を無くすことはこんなにも難しいのかということを実際に訳したり相談しながら学ぶことができました。

また、少しばかり翻訳に対して興味が湧いてきました。現在はKotlin Style Guideを1人で訳しています。Googleのライセンスをしっかり読んでないので訳文を公開できるかはわかりませんが、楽しくやっています。学校で長文読解の問題を出されたときはげんなりしますが、自分でこれが訳したいと思った文章に対してはどれだけ長文であろうと難読であろうと続けることができます。やっぱり興味というのは大切ですね。

QUICに対する知見

当然のことではありますが、原文が何について記述しているかを理解しなくては訳すことはできません。今回訳した文章は、主にQUICというプロトコルに関することが書いてあります。もともとネットワークには明るくなかったのですが、今回の翻訳を機に色々なことを知れました。

僕が担当した箇所の一部に、参考ドラフトの一覧がありました。これまでインターネットドラフトはおろか、IETFの文章など一度も読んだことがありませんでしたが、ドラフトのタイトルを訳すには大雑把に内容を理解しなくてはいけないので、真面目に読みました。なかなか難易度は高かったですが、おかげでQUICに関する仕様を大まかに把握することができました。あと、目次の翻訳(訳者さんの見出しをコピるだけ)も担当しているので、自然と他の方々が訳された文章を読むようになります。非常においしい立場でした。

感想

今回初めて翻訳という作業を行い、初めて他人のリポジトリにコミットをするということをしました。コードは1行も書いてませんが、立派なOSSコミットだと思っています。

前々からOSSにコミットをすること自体は非常に興味がありました。しかし、テストを書かなくてはいけなかったり、開発環境を合わせなくてはいけなかったり、英語でやり取りをしなければいけなかったりと、なかなか踏み出しの難易度が高いものだと思っていました。また、プロジェクトによっては rebase を求めていたりとGitに関する少し高度な操作を求めているところもあるようです。そんな中で、日本語でやり取りができ、環境を気にする必要がなく(最初はスマホからPR投げてた)、途中でわからなくなったら気軽に聞くことができる(しかもめっちゃ優しく丁寧に教えてくれる)プロジェクトに出会えたことは非常に幸運なことだな〜と感じています。**OSSにコミットしたという経験が得られ、GitHubやGitに関する知見がたまり、更にはQUICという最新技術を知ることができた。**ホンマに都合のええプロジェクトやなと思います。

自分では英語全然マンだと思っていましたが、今回自分の訳がマージされたということで自分の英語に少し自信がつきました。多分、今回の経験は今後のエンジニアとしての人生において非常に大きい影響を与えてくれるのではないかと思います。まだコードを書いてコミットしていなかったりとまだまだなところはあるので、今回を機に積極的にPRやIssueを投げていこうと思います。(直近だとDroidKaigi2019のアプリが狙い目か?)

HTTP/3-explainedの翻訳作業自体は徐々に落ち着いてきましたが、まだ推敲作業が残っていますので、今の勢いを大切にしながらどんどんコミットしていきます(To 翻訳チーム)。また、個人で始めた翻訳も自分のペースで進めていけたらなとも思っています。