初めてのnote / OSSにコントリビュートするということ
はじめまして。今日からnoteを始めるzydです。
普段はQiitaやZennで記事を眺めていますが、アウトプットも必要だと思いnoteを始めてみます。
今回は挨拶がてらOSSへのコントリビュート(貢献活動)についてお話ししたいと思います。
OSSが無いと生きていけない
私たちの生活は多くのシステムで支えられています。
そして多くのシステムはOSS(オープンソースソフトウェア)で支えられています。
例えばOSとして有名はLinux、データベースのMySQL、ブログやHP作成に使われるWordPress。これらはソースコードが公開されており無償で使用できるシステムです。
プログラミング言語のJavaやウェブブラウザのFireFox(私は専らChromeが好きですが)もOSSです。
世の中のシステムはもちろんフルスクラッチで作られているものもありますが、OSSを活用して作成されているものがかなり多いです。
私たちはOSS無しでは生きていけないといっても過言ではないと思います。
コントリビュートとは
そんなOSSはメンテナンスをしてくれる団体や人によって管理されていますが、すべてが管理者だけで行われているわけではありません。
そのOSSを実際に活用している人が不具合を報告したり、意見を交わしたり、時には実際にソースコードを追加・修正して、OSSの成長に貢献しています。
この貢献の活動がコントリビュートです。
コントリビュートを難しく考えないでほしい
貢献と聞くと、自分にはそんな高尚なことはできない(世の中の頭のいい人たちが作ったものにケチつけたり、ましてや自分がそれを書き直すなんて出来ない)と思ってしまいがちです。
私もコントリビュートする前まではそう思っていました。
でもケチでも良いと思います。(もちろん言葉使いには気を付けて)
自分の意見を主張することは議論のとっかかりですし、それが実は誰もが困っていて、でも誰も言い出さなかったことの可能性もあります。
書き直したコードがぐちゃぐちゃでも良いと思います。それこそ自分の考えをコードに起こしただけで、「なるほど、そういう方法もあるのか」と新しい発見につながるかもしれません。
最初はぐちゃぐちゃでも、それこそメンテナーである頭のいい人たちの助言をもらって、ないしは実際に修正してもらって、自分自身の成長にも繋がります。
コードを書く、不具合を見つけることだけがコントリビュートではない
これまでの例では「コードを書く」という話を多く持ち出してきました。
しかしコードを書いたり、実際に触った感想や不具合を発表するだけがコントリビュートではありません。
コントリビュートは「貢献」です。
そのOSSに対して貢献できることを自ら探せばよいのです。
翻訳活動も立派なコントリビュート
私がコントリビュートしたのは、ドキュメントの日本語翻訳です。
そのOSSは英語のドキュメントがメインでしたが、日本でも多くの企業が使用しているものでした。
しかし日本語に翻訳された箇所がかなり少なく、特にバージョン移行に関する重大な情報については英語のソースしか存在しませんでした。
翻訳は今の時代誰でもできます。
DeepLを使って、おかしな文言や表現を修正すればよいのです。
もちろん実際にOSSを活用していないと分からない機能に関する表現は多々あります。
それならば実際に使ってみればよいのです。
使ってみて「こういう表現がよさそうだな」「こっちの方が分かりやすいな」をそのまま日本語にすれば良いのです。
たった1ページだけの翻訳
たった1ページをDeepLと自分の頭を使い翻訳しました。
そしてGitHub上でPull Requestを立てました。
「Merged」とある通り、私の翻訳したドキュメントはすでに世の中に公開されています。
これでこのページを英語で読む必要はなくなりました。日本語を母国語としている人たちは、日本語でドキュメントを読み理解することができるようになりました。
貢献には報酬を
この話には続きがあります。
コントリビュートして2か月が経った頃、OSSをメンテナンスしている方から「あなたのコントリビュートに報酬を支払いたい」と連絡がありました。
「OpenCollective経由で支払いたいからアカウントを教えて」という内容です。
たった1ページを翻訳して、そこからは本業が忙しくなり、ほったらかしにしていました。
しかし貢献には相応の報酬を、というのがこの世界の当たり前です。
無償の貢献は立派に聞こえますが、人間生活にお金は欠かせません。報酬あって生活あり。貢献に対してはしっかり相応の報酬を支払うことで長続きしていくものです。
報酬のために貢献することは悪いことではありません。
誰かのためにちょっとだけ自分の時間を割いてあげること。立派な社会貢献です。
コントリビュートしましょう、というお話しではありません。
社会貢献の活動の1つにコントリビュートという方法があるという手段のお話しでした。
この記事が誰かの背中を押して、世の中のシステムをちょこっと成長させるきっかけになったら嬉しいです。