※このエントリーは、エキサイト Advent Calendar 2017 の 12/4の記事です。
去年から始めたこのAdvent Calendarですが、去年記事を書いたことがつい昨日のように思えます。1年ってほんとに短いですね!
#このチートシートの使い方
こんにちは、ウーマンエキサイト技術セクションの磯村です。ことの発端は、「社内のエンジニア個人でOSSへ貢献している姿勢を会社的に評価する場がないので作りたい」と思っこと。
「非エンジニアの会社の偉い人たちに、OSS貢献を推奨することがどれだけ会社にメリットあるか、どう説明したらいいんだろう」と悩んだことがきっかけです。
「OSSを公開したり、コミッターになったり、果ては有名プロジェクトのコントリビューターコアメンバーになったら超かっこいいよね!」とエンジニアだったら感じますが、いざそれを非エンジニアにわかるように説明しようとすると非常に難しいと感じました。
なので、このブログは「個人のOSS貢献を推奨することが会社にとってどれだけメリットがあるか」を非エンジニアにもわかりやすく説明できるようなチートシートとして作成しました。ぜひご利用ください。
※ここでは、会社としてOSSを公開しよう!という話はせず、あくまでエンジニア個人がOSSへ貢献することに話を絞っています。
目次
OSSとは
OSSへの貢献の種類
エンジニア個人でOSSへ貢献する理由
エンジニア個人のOSS貢献を評価・推奨する企業のメリットとは
まとめ
#OSSとは
この章ではOSSのことを”なくてなならない当たり前の存在”ということを印象付けるのが目的です
OSSとは「オープンソースソフトウェア」の略で、ソースコードが誰に対してでも自由に配布や変更ができるよう公開されているソフトウェアのことをいいます。
「誰もが」と聞くと質が悪いとか安全面で問題があるのではという印象を持たれるかもしれませんが、下記OSSの例を見ればわかるとおり、OSSなしでは開発者は仕事ができないというレベルで私達は恩恵を受けています。
↓ここはあなたの会社で使っているものを選ぶときっと効果的!
・Linux
・Apache
・MySQL
・PHP
こういった超メジャー級のOSS以外にも、GoogleやFacebookなど海外の有名企業はほとんどOSSを公開してますし、今はGithubの普及で誰もがOSSを公開できるため、意欲のあるエンジニアはだいたい何かしらのソースコードを公開しています。
また、自らOSSを公開するだけでなく、OSSのバグを見つけたりした際は誰でも修正依頼を送る事が可能で、私もつい最近小さなアップデート依頼(PR)を送って承認されマージされたばかりです。(自身のエピソードを交えて、OSSへの貢献が身近なことであると印象づける)
#OSSに貢献するメリットとは
この章では実際に会社にとってメリットがあると感じてもらうのが目的です
##はじめに:OSS貢献の種類
まず前提として、個人としてのOSSへの貢献には主に下記の方法があり、決して敷居が高いものではありません。
・OSSのドキュメントを整備(翻訳や校正なども含む)する
・OSSのバグやアップデートを修正する
・コミュニティのカンファレンスやミートアップなどの運営スタッフとしてボランティアを行う
・OSSを公開する
・献金する
・コミュニティでの質問に回答して困っている人を助けてあげる
##エンジニア個人が無償でOSSへ貢献する理由
ここでは具体的な例で説明したく、最も一般的な「エンジニア個人がOSSのバグやアップデートをコミットする」という貢献方法について、なぜやるのかを見ていきたいと思います。
###1.エンジニアとしての市場価値向上、技術力アピールのために利用する
OSSの修正をするエンジニアはいわゆる「OSSコミッター」と呼ばれ、頻繁にコミットしたり重大な修正を行ったエンジニアは「コントリビューターコアメンバー」としてコミュニティに認められる場合もあります。その場合、必然的にエンジニアとして技術や意欲があるとみなされるため、エンジニアとしての価値がぐんと上がります。
###2.エンジニアとしての技術力アップの場として利用する
OSSに貢献するためには、そのソースコードを読み込み、コミュニティの動向に敏感である必要があります。基本的に世界中の人が参加しているため、コミュニティのやりとりは英語です。また、全世界の人が利用するOSSに修正を加えるということを前提としてソースコードを書くため、たった一行の修正でも深い思考を伴う作業になります。さらには、活発なOSSコミュニティのやりとりを見ているだけでも刺激になったりしますし、さらにそこに少しでも参加できたという気持ちがエンジニアとしてのモチベーションアップに繋がり、単純に「エンジニアとしてもっと頑張ろう!」と思うのです。
###3.感謝の気持ち
また、単純に感謝の気持ちもあります。私たちが開発する上でOSSから受けた恩恵は測りしれませんし、OSSのおかげでどれだけ開発作業が楽になったか、エンジニア誰もが感じています。その感謝の気持ちの表現方法として、「少しでも足しになれば・・」という気持ちです。
##エンジニア個人のOSS貢献を評価・推奨する企業のメリットとは
では、そんなエンジニアの個人的な活動について、企業が評価することでどういうメリットがあるのか、本題に入りたいと思います。
###1.エンジニアリングに強い企業であることをアピールできる
OSSのコントリビューターコアメンバーともなれば、エンジニアとして高い水準の技術力を持っていることは歴然です。そういった技術力の高いエンジニアを囲っている企業となれば、エンジニアリングに強い企業という印象になり、IT企業としての評価も高まります。また、技術力の高いエンジニアをはより技術力の高いエンジニアと働きたいと考えるものなので、採用コストをかけなくても技術力の高いエンジニアが自然と集まります。
###2.社内エンジニアの技術力向上・モチベーション想起
OSSに貢献することは、前述したようにエンジニアの技術力向上やモチベーションを高めることにつながります。
###3.会社の業務と関係なく、コンピテンシーを測りやすい
残念ながら会社の業務では案件に恵まれずに能力を発揮できないエンジニアもいます。そんな中、案件に左右されずにOSS貢献を通じてエンジニアが会社に自身の技術力をアピールすることも可能です。
評価する側としては実際にどんなコンピテンシーと結びつくのか、まとめてみました。
※参考:「人事の超プロが明かす評価基準」西尾 太 (この本には大いに助けて頂いています、まさに私のバイブル!)
####成長意欲・学習意欲
業務外のプロジェクトに積極的に参加する姿勢は、成長意欲・学習意欲の現れとして評価できる。
####情報収集
社外のOSSコミュニティの情報に敏感であるということは、十分な情報収集を行っていると評価できる。
####スペシャリティ(専門知識)/問題分析・課題解決
業務外のソースコードを読み解き、バグを見つけ解決できるということは、専門的な技術スキルがあると評価できる。
####社外/異文化コミュニケーション
OSSコミュニティのやりとりは基本英語でやりとりされており、英語の読解力やコミュニケーションスキル(意欲)があると評価できる。
####社外ネットワークへの影響力
コミッターやコントリビューターとして社外でも評価されるということは、影響力があると評価できる。
#結論:OSSに貢献したエンジニアを評価し表彰する機会をください!
目的が「表彰」ではなく「評価項目に加える」ならここを変更してください
ここではパッションを伝えるために、力強く、承認者の目を見つめて言います!!
#最後に
非エンジニアの人がこの話に興味持って最後まで聞くには、少し長すぎる気がしてきました・・・。
同じようなことに悩んでいる方いたら、ぜひForkしてアレンジしてお使いください!
※明日のアドベントカレンダーはどんなお話しでしょうか。楽しみです!