Open3
OSS で食べるということについて
自分は aqua や tfcmt, tfaction を始めとした様々な OSS を開発したり、他の人が開発している OSS に contribution したりと、日常的に OSS 活動をしている。
OSS 活動が好きだし、これでご飯が食べられたらいいのになぁとは思わなくもない。
「OSS で食べていこうとは思わないの?」とたまに聞かれることもある。
まぁ OSS で食べていくというのは簡単なことではないし、できたとしても多分年収下がるしということであまり真剣に考えたことはないし、これを書いている今も別に真剣に考えているというわけではない。
ただずっと心の片隅に妄想としてある。
なのでまずはその妄想を全部書き出して文書化して見ようかと思う。
「OSS で食べる」ということがどういうことか、自分は正しく理解していないだろう。
これから書く内容には思い込みや勘違いが含まれるだろう。
OSS で食べている実例
- 企業で OSS を開発している
- CyberAgent DP 室 https://site.developerproductivity.dev/products/
- RedHat
- Hashicorp, Elastic, Mongo, Redis
- これらは LICENSE 的に純粋な OSS ではないけれど、仮にこれをメンテしてご飯を食べていくとしたら、それは実質業務内容的に OSS で食べているのと大差ない気はする(自分の中では)。とはいえ OSS で食べているとは言えないと言われれば、それはそう
- 個人で OSS を開発し、有償版を開発したりサポートを有償で提供する
- OSS が企業に買われる
あとは GitHub Sponsors で収入を得るという手はある。
ありがたいことに自分もいくらか頂いているが、自分の場合 GitHub Sponsors だけで食べていくというのはあまり現実的ではない。
- OSS 開発は趣味だけど、それで食べていくということが幸せなことかはよくわからない
- 仕事で OSS 開発やっていると、ずっと仕事しているみたいになる気がする
- それなりの企業で OSS 開発するようなスタイルじゃないと年収は大幅に下るだろう。つまらないことを言うと、年収を下げてまで OSS で食べていきたいとは思わない。ただ企業で OSS 開発するスタイルは個人で好きなように OSS 開発するのとは勝手が違うわけで、それが本当にやりたいことかはよくわからない
- OSS 開発する場合、自分自身がユーザーであり、その OSS がヘビーユースされる現場にいるのがベスト。そうでないと OSS のメンテが難しい
- 自分は今 SRE や Platform Engineer という立場で Public Cloud などを使って仕事をしていて、その中で解決すべき課題を見つけ、 OSS を生み出している。 OSS の開発専任になってそういった現場から離れてしまうと、新しい OSS を生み出すのが難しいのではないかと思う
- 個人で OSS で食べていくとなると、ビジネスモデルを考えたり営業したりが必要になるだろう。自分はそれはしたくない。我儘みたいだが、ここでは自分のやりたいことを追求しているのだから、我儘でいいだろう
- 今もそうではあるが OSS の開発とは純粋に開発だけをやるわけではない。 Issue に目を通して Triage して返事を書くといったことも必要だ。人気のある OSS であればその割合は大きくなる。ある程度であれば悪くないだろうが、例えば Terraform みたいに非常に人気のある OSS だと、その Issue のハンドリングはそれは大変だろう。それはつらいかもしれない