うんちぶりぶり

うんちもれる

加齢とOSS

私信電信、二回目のテーマは「OSSへの貢献」
OSS、薄く緩く付き合ってきた対象なので、特定の期間だけで1記事にすることは難しかった。
なので、プログラミングを始めた頃までさかのぼって考えてみることにした。

中学高校とOSS
当時githubがなかったのと、あまり情報が多くなかった(調査力が低かったのもある)ので他人のコードを読むといえば、もっぱらWebページのソースコードだった。
OSSライトユーザーにとってgithubはやっぱり革命だと思っていて、プログラミングをはじめたばかりでも簡単にこれだけのコードに触れられるのはとてもいいことだと思う。

大学時代とOSS
某企業のインターンで、SwiftのUI系ライブラリを作って公開した。
https://github.com/recruit-lifestyle/WavePullToRefresh
企業名義で出して、readmeのクレジットに自分の名前が載る形で公開した。
作ったものの規模を考えると結構時間をくれていたので、かなり丁寧に作れた。
UI系ライブラリはいじりたいパラメータが結構多いと思うので、そのへんかなり多くのパラメータいじれるようになってて今見ても結構よい。
パラメータ設定のとこビルダーパターンにしたほうが当時の自分の好みと合う気がするけどswiftの設計がこんな感じだったんだろうか。あまり覚えてない。
readmeもクレジット以外は自分で書いたと思うんだけど、こなれてなさすぎて書き直したい気持ちがつよい。

上場企業時代とOSS
Android開発を主にやっていた。
開発に必須なライブラリ以外の導入には許可が必要だったため、新しいライブラリには使用用途について軽くまとめて説明する必要があった。
現在に比べてライブラリ自体をちゃんと把握して使っていたけれど、これはある程度人数がいたからできたことだなあ。
小さいUI系のライブラリの場合は極力自作することを推奨されていた。
多分依存先を減らしたかったという意図なんだろうけど、自作した場合メンテも自分でやらないといけないことが確定するので使っても良かったのではと思っている。(OSSだからといってメンテされる保証はないし、小さければされない可能性が高いのでその場合自分でメンテしたほうが確実というのはわかる)
プロジェクト内で作ったものをOSSで公開することにはわりと肯定的だったので、当時やっていた課金周りのツール集をまとめて公開しようとおもってたんだけど、結局公開する前に辞めてしまった。
ちゃんと説明すればよほど評判の悪いOSS以外は使わせてくれていたので、いい会社だった。

非上場企業時代とOSS
使用するフレームワーク、ライブラリの制約がなくなって、チームメンバーの合意があれば自由に選択できるようになった。
現在は複数人で見るようにしているが(マルチプラットフォームは神)、入社当初はAndroidを1人(ときどき2人)で開発していたので、ほぼ独断で決めていた。当時Android開発について相談できる友達が1人もいなかったけれど、いる場合は相談して決めたほうがよかったとおもう。いればね。
一時期仮想通貨事業をやっていたときがあって、そのときが一番OSS活動と言えるようなものをしていたと思う。
今もある程度そうだけど、まだまだ仮想通貨黎明期といえる時代で、各言語でのウォレットライブラリがまだまだ出揃っていなかった時代だった。
弊社ではSwift製イーサリアムウォレット用ライブラリと、現在はサービス終了してしまった自社製Dapps実行基盤のgoクライアントなどを公開した。
go製、kotlin製のライブラリなどにもそろってない機能のPRなどを投げたりしてた。
人生で一番技術的挑戦をしていた時期で、新しいものを作ってることにとてもわくわくしていた。

まとめ
OSS、ほとんど利用する側だった気がしてたけど、ほんのすこしは貢献してたことが思い出せて嬉しかった。

OSS活動を通して自分が一番感じたのは、言語の壁だったかもしれない。
抽象的な議論になればなるほど英語でやるのは難しいし、日本語だと簡単なものであったとしても英語でissueにあげて、議論したのち、PRについて語らなければいけないことを考えると、少し気持ちが沈んでしまう。(そのためいきなりPRをほぼノーコメントで投げるみたいなことをしてたこともあったが、大体マージされなかった。ちゃんと議論したほうがいい)

最近はdeeplのおかげで雑に日本語から英語が生成できるのである程度意図を組んでくれる人がいた場合英弱の自分でもやれるのだろうか。

自分も含め、OSSにある種敷居の高さを感じてしまっているひともそれなりにいると思うけど、大きなプロジェクトだとtypoの修正とかでも嬉しいと思うので、そういうのからはじめていってもいいんじゃなかろうか。