freeeに転職して2年と11ヶ月が経とうとしています。新卒で入って企画/営業をしていた前職SIerには2年9ヶ月いたので、とうとうエンジニアとして働いた期間の方が長くなってしまいましたね…
Open Source Friday
最近freeeというか所属しているチームでOpen Source Fridayという取り組みが始まりました。
これ(「Open Source Friday」をGitHubが提唱。金曜日は自分の好きなオープンソースに貢献しよう)をやってみようというものです。
私たちはGitHubの従業員に対して少なくとも毎週第四金曜日には時間をとってオープンソースに協力し、お互いにどんなことをしたのか共有しあいましょうと呼びかけてきました
毎週(元記事の誤訳)でも毎月でもないですが、試行錯誤しつつ今後も続いていきそうです。
なぜやるのか?
- かつての社内でもあったGoogleの20%的なものを継続的にやる
- 社内のプロダクトへの貢献という枠を越えてOSSに貢献する
- コードを集中して書く
あたりです。自分たちのプロダクトもOSSに支えられているので自分たちも貢献しようというのにはとても共感します。
こういう取り組みがなくてもやりたい人はやればいいと思いますが、「会社においても大事な活動と捉えられ、サポートしてもらえる」というのはとてもテンションが上がりました。
※サポート = 時間を確保してもらえる
推奨される活動
- OSSにパッチを出す
- 自分でリポジトリを立ててコードを書く
- その他オープンな技術的な活動
テーマ設定
イベントありきで無理にテーマをひねり出すのではなく、普段の活動の延長でやりたいなぁという思いがありました。
Micorosoft公式リポジトリのハンズオンを日本語訳してQiitaに投稿した記事が元々あったので、どうせなら公式ドキュメントにしてしまうか…
ということで、「自分で訳した記事を本家に取り込んでもらう!」をテーマにすることにしました。
Qiita記事: Visual Studio for Mac で Azure Functions と Azure Table Storage を操作する Microsoft 公式チュートリアルの日本語訳
本家リポジトリ: Microsoft/vs4mac-labs
Visual Studio for Macのハンズオンに特化したリポジトリで、下記のようなカテゴリがあります。
- Azure Functions
- Docker
- IoT
- Mobile
- Unity
- Web
それぞれのカテゴリ自体の情報は多いですが、基本的にVisual Studio "for Windows" で扱うものが多く、その辺にわざわざリポジトリを独立させてある意義もあるのかなぁと思っています。
日本語記事が1ページ増えること自体はどうってことないかもしれませんが、広まるきっかけ作りになればいいなぁと思っています。
PR作り
PRの中身大体できてるんだからそれPRにしたらおしまいでは?と思う方もいらっしゃるかもしれません。実際そうです。
ただ、いくつか元々わかってなかったことがありました。
画像のホスティング
README.md
に載っている画像ってどこから配信してるんでしょうか?
同一リポジトリに画像フォルダでもあるのかなと思って探してみたのですが、ありませんでした。
URLを見てみると、たとえばこんな感じ。
https://user-images.githubusercontent.com/3944468/29033686-bdddd454-7b4a-11e7-8494-b3dad886c20a.png
このURLを調べてみると、GitHubのissueに画像をD&DするとURLが生成され、そのissueの存在の有無にかかわらずコンテンツは残り続けるということがわかったので活用しました。
いつ消えても文句言えないけど、それはGitHub諸共なくなってしまうときでは…とか思ったり。
あとは日本語設定にしたVS4Macでハンズオンを追い直しながら画像準備して、注目してほしい部分をSkitchを使って囲うという作業ゲーが最高に面倒でした。
素の画像サイズで上がるので、元の画像いじっておくか、タグで幅指定するとよさげです。
元のハンズオンのサイズに合わせました。
<あいえむじー src=https://user-images.githubusercontent.com/7035446/31535876-a84b33d0-b037-11e7-96fb-f8e27d43daee.png width="620px">
PRの規約
特にルールとかなさそうだったものの、一応commitはまとめました。
あと、初めてPR出すときはContributor License Agreementへの同意が求められました。
急いでるときに見たらちょっとびっくりするので、先に見ておいてもよさげです。
Microsoft Contribution License Agreement
同意してないとこのbotに怒られます。
マークダウンの文法
Qiitaで投稿したときにナンバリングがうまくいかず、バックスラッシュでごまかしたけどこれレビューで弾かれるんじゃ…って思ったので直しました。
と思ってPR見直したら直してなかったwww
以上を経て完成したPRがこちらです。
Azure Functions lab for Japanese
なかなかレビューされない
Open Source Fridayの実施が2017/10/13、マージされたのは2017/11/21でした。
Excited that @toshi0607 took the time to localize the "Getting started building @AzureFunctions in Visual Studio for Mac" lab in Japanese! Check it out: https://t.co/0FMdwHIyqK #VS4Mac
— Rajen Kishna (@rajen_k) 2017年11月21日
それまでの間、
- 日本のMSの方々にこのリポジトリ関係の知り合いいないか、レビューしてもらえないか聞いてみる
- コミットの多い人にPR内でメンションする
- twitterアカウント把握したのでお願いしようとしたけど思いとどまる
などをしていました。
直近めちゃくちゃ活発に動いてるわけではないリポジトリだとこういうこともあるかもしれません。
とりあえずマージされてよかった。
ドキュメント翻訳に思うこと
ドキュメントの翻訳は最近よくやっています。
- (受験)英語もともと苦手ではない
- 日本語記事あると捗るなら、まず公式のドキュメントが日本語で存在してほしい
- 何回も見る記事を訳すので、あると自分にとっても都合がいい
- 素のままで読めてると思っても、訳してみて「え?そんなこと書いてたっけ?」みたいにとりこぼしがある。もったいない。
ただ、今回のPRにしても、訳すにしても微妙だなぁと思うこともあります。
- どうせならコード(設定ファイルとかでもいいから)でコントリビューションしたい
- 翻訳は人間がやるべき本質的な作業ではない
- 自分の「価値」をだいぶ疑う、頭使ってない感に負い目を感じる
とは言え、もちろん全部手で訳すほど暇ではないので、1文ずつGoogle Chromeのエクステンション(文にカーソル合わせたら訳文を表示してくれる)の訳文と原文見比べて、実態にそぐわないものや構文的な誤訳を修正するみたいなフローを延々と繰り返しています。
その中でまだ人が介在しないと危うい部分が少なからずあるので、このモヤモヤを振り払って翻訳している次第です。(自己弁護)
それでもやっぱりモニョるのはやっぱりコード書いてドヤァするまで拭えない感情でしょう。
まとめ
いろいろ論点ごっちゃにしてしまいましたが、
- Open Source Friday楽しかった
- 公式リポジトリに自分のPRがマージされたのは嬉しかった
- コードでコントリビューションしていけるようにがんばるぞ
というおはなしでしたー