生涯未熟

プログラミングをちょこちょこと。

OSS builderという話をしました

ltlovers.connpass.com

というイベントで「OSS builder」という話をしてきました。

どういう内容か

大体の骨子はスライドに書いてある通りなのですが、OSS活動する中で学んだことを文字に起こしてみました。 特に以下の3つは一番聴いていただいた方に伝えたかったことです。

  • 自分が一番のユーザー
  • OSSは盆栽
  • とりあえず理論

自分が一番のユーザー

自分が欲しいモノを作り、自分の作ったモノに対して一ユーザーとして使い倒すことが、楽しくOSS活動を続けるコツだと思います。
結局、「ぼくが かんがえた さいきょうの ◯◯」を想像し、作っている時が一番楽しいんだなと。

OSSは盆栽

昔、バイト先の長老が「盆栽は究極の育成ゲー」と仰っていて、それがOSSにも繋がるものがあるんじゃないかな、と。
盆栽は何年もかけてコツコツと毎日世話をし、最終的に風光明媚な芸術品として仕上げます。
OSSもコツコツとコミットし、理想とする形に近づけていく作業なので、ほぼ一緒なものです。

また、盆栽の初め方として「実生」「挿し木」「接ぎ木」「取り木」の4つがあります。
実生は「種を撒いて育てる方法」、挿し木は「育っている盆栽の枝を切り取り、土に挿して育てる方法」、
接ぎ木は「台木に対して別の特性を持つ木を刺し込み育てる方法」、取り木は「枝から樹皮を剥がし、そこで根を張らせてから植え替え育てる方法
これらはOSS活動において以下に当てはまるんじゃないかと思ってます。

  • 実生:0からコードを書いていく
  • 挿し木:既にあるコードを参考にし、新たに作っていく
  • 接ぎ木:他のOSSに対してコントリビュートする
  • 取り木:他のOSSを新たに自分がオーナーとなり、作っていく

なので、僕はOSS=盆栽説を唱えていきたい。

とりあえず理論

OSSにおいて「とりあえず」って言葉を使っていけばすんなりモノが出来るんじゃないかなーと雑に思ってます。

  • 何か閃いたら「とりあえず」リポジトリを作る
  • 空でもいいので「とりあえず」READMEを作る
  • サンプルコードレベルでも「とりあえず」書いてみる
  • 暇な時に「とりあえず」コードをいじってみる
  • 「とりあえず」やってたらいつの間に完成

昔読んだ物の本で「とりあえず15分何かを始めてみると、そこから1時間くらい継続出来る。とりあえずやってみることが重要。」と書いてあり、実際試してみると意外と15分の壁を過ぎた辺りで集中力が形成されるのを感じました。
この「とりあえず何かを始めてみる」ことの重要性が、今回のとりあえず理論に繋がっています。

かるーい気持ちで「とりあえずやってみっかー」ってなることが大事ですね。

結局こういうことを伝えたかった

OSSを作ることによってプログラミングで何かを生み出す楽しさを、もう一度再燃して欲しいという想いを密かに込めて発表しました。
初めてプログラミングを学んだ時には、きっとHello, World!を出すだけでもテンションが上ったと思うんです。
こういう小さな高揚が、エンジニアとしての生活が長くなり、慣れてくるにつれて薄まってくる人も中にはいるはずです。
そういう方こそOSS活動を始めて、またこういう楽しさを思い出して欲しいな、と。

まとめ

「こんなこと言っちゃってお前何様だよ」とか思われるかもしれませんが、まだまだしょうもないエンジニアです、はい。
ただ、しょうもないながらも細々とやってきて得た実感なので、こういうことを思ってる人もいるんだなーくらいに読んで頂けたら幸いです。