個人開発を始める前、「コードさえ書ければほぼタダで公開できる」くらいに思っていた。GitHubは無料、Flutterは無料、Firebaseも無料枠がある。確かにそうなのだが、実際にリリースまで持っていくと、思いのほかお金がかかる場面がある。
大きな出費は一度だけではなく、毎年・毎月じわじわ積み重なっていくタイプのものだ。これを最初に把握していなかったせいで、「あ、これも払うのか」という発見が何度かあった。個人開発者がよく話題にする「技術的な壁」より先に、地味にこちらの方が効いてくる。
固定費の現実
まず、年会費から始まる。
iOSアプリを公開するには、Apple Developer Programへの登録が必要で、年間99ドル(約15,000円)かかる。一回払えばいいわけではなく、毎年更新しなければアプリがストアから消える。ユーザーがいても、収益がなくても、払い続けなければならない。
Google Playは初回登録費が25ドルで、それ以降は無料だ。Androidだけに絞れば固定費は格段に安い。ただiOSユーザーを切り捨てるのは現実的ではなく、両対応を目指すなら結局Appleの年会費は避けられない。
それに加えて、ドメイン代、クラウドのストレージ費用、場合によってはCIツールや開発環境のサブスクが乗ってくる。一つひとつは小さくても、足し合わせると「趣味にしてはそれなりの出費」になっている。収益がゼロの状態でも、アプリを生かし続けるだけでお金が出ていく。
一番怖いコスト
セキュリティの穴が、請求に化ける。
固定費は計算できる。怖いのは計算できないコストの方だ。Firebaseは基本的に無料枠で収まるが、従量課金の仕組みになっている。読み取り・書き込みの回数が一定を超えると、そこから費用が発生する。
問題は、セキュリティルールが甘いまま本番環境に出しているケースだ。Firestoreのルールを「とりあえず認証済みなら何でもOK」にしていると、悪意あるスクリプトから大量のリクエストを送られたとき、自分のFirebaseプロジェクトが勝手にアクセスされ続けて課金が爆発する。止める前にメールが来て、気づいたときには数万円の請求になっていた、という事例は実際に起きている。
自分もルールを見直したとき、「これは危なかった」と感じた箇所がいくつかあった。書き込めるフィールドを制限していなかった箇所、Storageのパスにユーザーのuidを含めていなかった箇所。動いているうちは問題として表面化しない。だから見落としやすいし、後回しにしやすい。でも「動いている」と「安全」は別の話だ。
固定費は払えば済む。セキュリティ事故は、気づいたときにはすでに損失が出ている。しかもFirebaseの課金は原則として返金されない。「後で直せばいい」が一番高くつく選択になる可能性がある。
収益との非対称
出ていく方が先に、入ってくる方は後から。
個人開発で収益を得るには、大きく分けて「有料アプリ」「アプリ内課金」「広告」の三択になる。どれも、ダウンロード数やアクティブユーザー数がある程度なければ、収益はほぼゼロだ。
広告はユーザー体験を損ないやすく、入れすぎると離脱率が上がる。有料アプリはダウンロードのハードルが上がり、無料で試してもらう機会が減る。アプリ内課金は設計と実装の両方に工数がかかる。どの選択肢も「入れたら即収益になる」ものではない。
つまり出ていくお金は初日から発生するが、入ってくるお金は遅れてくる。個人開発の最初の数ヶ月はほぼ確実に赤字で、それを承知の上で続けるかどうかを判断する必要がある。ビジネスとして考えるなら当たり前の話だが、「趣味の延長」として始めると、この非対称さに気づくのが遅れる。
まとめると
個人開発にかかるコストは、固定費だけではない。セキュリティの穴が従量課金の爆発につながるリスクも、立派なコストだ。「動いているから大丈夫」と「安全だから大丈夫」は、全く別の話として管理しなければならない。それでもやる理由
赤字で続けることの、正直な話。
これだけコストの話をしておいて、それでも個人開発を続けているのはなぜか。正直に言うと、「元を取ろう」という気持ちはほとんどない。少なくとも今の段階では。
一番の理由は単純で、自分が使いたいものを作っているからだ。メモパチはパチスロの実戦で自分が必要だったから作った。TestersBoard はメモパチのリリースで詰まったから作った。Beef Arbiter AI はレスバを見ながら「勝敗を第三者に判定させたい」と思ったから作った。動機が全部「自分が困ったから」なので、誰かに使ってもらえなくても作った意味はある。
ただ、それが続けられる条件として「コストが管理可能な範囲に収まっていること」は絶対に必要だ。Apple Developerの年会費は計算できる。Firebase の従量課金は設計で抑えられる。計算できるコストは払える、計算できないコストは防ぐ。その区別をきちんとつけておくことが、趣味と借金の境界線になる。
黒字になれば嬉しい。でも赤字でも続けられる設計にしておく。そのバランスが、個人開発を長く続けるための一番現実的な考え方だと今は思っている。