はじめに
前回では、Kubernetesの開発を始めるにあたって、どのように開発環境を整えれば良いのかを解説しました。ローカルの開発環境ができたことで、すぐにでもKubernetesへの貢献を開始できるようになったわけですが、実際のところ、Kubernetesのコードベースを理解し、問題の解決法を見つけ、コードを書いて貢献する、というのはなかなかハードルが高いと感じる方も多いのではないでしょうか。
そんなあなたにおすすめな貢献方法として「英語で書かれたドキュメントを日本語に翻訳する」という貢献方法があります。そこで第5回の今回は「なぜドキュメントの翻訳が必要なのか」「なぜドキュメントを翻訳するのがおすすめの貢献方法なのか」「ドキュメントの翻訳をすることであなたにとってどんな嬉しいことがあるのか」について解説します。
なぜドキュメントの翻訳が必要・重要なのか
ご存じのように、Kubernetesは非常に大きなソフトウェアで、単にユーザが使う、というだけでも理解しておく必要があることがらは多岐にわたります。必然、それらを説明するドキュメントも非常に大きなものとなります。Kubernetesは世界中の開発者が開発に携わっており、他のオープンソースソフトウェア同様、そのドキュメントは英語で書かれています。
「英語で書かれたドキュメントしかないオープンソースも多い」という事実はありますが、一方で「英語を読むのが苦手だ」という話も多く聞きます。ただでさえ英語が苦手なのに、膨大なドキュメントを英語で読んで、おおくのことがらを理解しなければならないというのはとても大変です。
ドキュメントの翻訳は、そういった英語が苦手な人でもKubernetesを理解し、使用し、(場合によっては)貢献できるよう手助けをする、重要な貢献の形です。
また、ドキュメントの翻訳チームは常に構造的な問題を抱えています。「翻訳されたドキュメントが欲しい」という要求を最も強く持っているのは、英語を読むことができない人、つまり翻訳ができない人です。
そのため「自分にとって日本語のドキュメントが必要だからやる」というだけではなく、(あなたのように)オープンソースコミュニティに貢献したい、といったような「必要だから」とは違ったモチベーションを持った人の協力が不可欠です。翻訳されたドキュメントを最も欲している人が翻訳をすることは現実的に難しいため、ドキュメントの翻訳チームは常に人手不足となっています。

なぜドキュメントを翻訳することが
おすすめの貢献方法なのか
さて、「なぜドキュメントの翻訳プロジェクトにあなたの協力が必要なのか」についてはご理解いただけたと思いますが、「あなたにとってドキュメントの翻訳に貢献するとうれしいこと」は何でしょうか。Kubernetesに貢献したいだけなら、Kubernetesのapiserverやkubectlなどに貢献した方が良いように感じられるかもしれませんよね。いくつか、ドキュメントの翻訳から貢献を始めるメリットを紹介しましょう。
すぐに貢献を始めることができる
前述の通り、Kubernetesは非常に大きなソフトウェアです。コミュニティも巨大ですから、その大部分は十分にテストされており、初心者が1行さっと変更してOKというような変更は多くはありません。また、大きなソフトウェアではいつもそうですが、1つの変更が(意図せず)大きな影響を与えてしまうことがあります。そのため、一見簡単そうに見える変更でも、リリースされるまでには時間がかかることもあるでしょう。
ドキュメントはアプリケーションプログラムに比べ、1カ所を変更したからといって他の部分が壊れる、ということは(基本的には)ありません。また、前述の通り翻訳プロジェクトは本質的な問題で常に人手不足です。それほどコンテンツ量が多くないページでも未だに翻訳されていないものも数多くありますし、細かい誤訳や不自然な日本語になっている部分もあるため、未訳のページや問題を見つけたらすぐに貢献を始めることができます。
母語で貢献できる
KubernetesはGo言語で書かれていますが、Go言語はプログラミング言語ですから、Go言語母語話者だという方はおそらくいらっしゃらないでしょう。一方、本連載を読んでいる方の多くはおそらくは日本語母語話者であると思います。母語話者だからといって必ずしも得意である、ということにはならないかとは思いますが、そうは言ってもプログラミング言語よりも長く、継続的に慣れ親しんでいることは間違いないかと思います。
また、前述したようにKubernetesは世界中の開発者が関わっており、コミュニケーションの多くは英語で行われます。一方、ドキュメント日本語翻訳チームのメンバーは日本語話者で構成されています。Pull Request上でも、Slack上でも、日本語で気軽に相談できるというのもKubernetes貢献初心者にとっては心強いポイントだと考えられます。
もちろん、英語でやりとりしたければ英語でコミュニケーションをすることもできます。
英語の学習になる
Kubernetesに限らず、多くのオープンソースプロジェクトは英語でコミュニケーションを行っています。公式ドキュメントが翻訳されておらず、英語のものしかないということも多いでしょう。英語が苦手でなんとかしたいという声も多く聞きます。
翻訳にあたっては、(当然ですが)英語を一定程度は理解することが求められます。しかし、ソフトウェアのドキュメントでは、技術用語など日本語でもそのまま使われている用語も多く、英語母語話者ではない人も多く関わっている関係から文章全体の表現も平易なことが多いため、英語が苦手だ、という方にも比較的読みやすいと思います。
また、読みたい文があって、読めない部分について調査をすることで、より実践的な、生きた英語を早く学ぶことができると思います。

Kubernetesドキュメント日本語翻訳チームの活動
ここで、Kubernetesドキュメント日本語翻訳チームの活動内容についても紹介しましょう。
Kubernetesドキュメント日本語翻訳チームは2018年の立ち上げからメンバーが少しずつ入れ替わりながら活動を続けており、現在は7〜8人のアクティブなメンバーで活動しています。
主なタスクはPull Requestのレビューですが、コントリビューションガイドのメンテナンスや、継続的に翻訳活動をしてくれている貢献者にレビュワーにならないか勧誘したり、「Kubernetes Upstream Training in Japan」や「KubeCon」などのイベントを通しての広報活動なども行っています。前述したようにドキュメント翻訳への貢献は比較的簡単に始めることができ、初めてKubernetesに貢献する人でも手を付けやすいタスクが多数手つかずで残っているため、最近は特にKubernetes Upstream Training in Japanでの活動にも力を入れています。
まとめ
今回は、Kubernetesのドキュメントを翻訳する必要性、翻訳を通してコントリビュートをはじめることのメリット、そして翻訳チームの活動について解説しました。
ドキュメントへのコントリビューションは非常に重要である一方、機能開発やバグ修正でのコントリビューションに比べてとても簡単で「何から始めれば良いか分からないけれど、Kubernetesのコントリビューションをやってみたい!」と思っている方にぴったりです。皆さんからのコントリビューションをお待ちしています!!
次回は和訳コントリビューションの実践編をお届けする予定です。乞うご期待ください!
- この記事のキーワード
