2013 年 3 月 8 日に時雨堂を創業し、2024 年 3 月 8 日で時雨堂創業 11 年、そして 12 年目にはいりました。あっという間です。
起業のきっかけは、ある経営者に「貴方がどんなに一生懸命に製品を作ってもそれは会社のものでしかないので、自分の会社を持って自分の製品を作って、売った方がいい」といわれた事なんですが、それから 11 年立ちました。
起業したときから状況も大きく変わりました。自社製品の売り上げだけで会社が回っています。今後の時雨堂について雑に書いて行きます。
少人数でスケールする製品を作り続ける
時雨堂はパッケージソフトウェアのサブスクリプションで稼いでいる会社です。営業もいないため、買いたいといってくれる企業に売るだけです。
社員が社内にあるライセンス発行サーバーに Tailscale でリモートで繋いでライセンス (JSON ファイル) を発行し、ライセンスファイルをメールで送るというのが納品形態です。(パッケージソフトウェア自体は Dropbox 経由でダウンロードして貰っています)
ありがたいことに、この仕組みだと運用もいらないですし、とにかくパッケージの開発とドキュメント、そしてサポートに注力だけでよくなります。明日の売上を気にせずに製品開発に注力できているのは本当に助かっています。
この仕組みをできるだけ維持できるよう「買いたくなるパッケージソフトウェア」を開発、維持していければと思っています。
パッケージ製品のクラウド版をがんばる
1 年ちょい前から、自社製品を「できるだけそのまま提供する」クラウド版を提供し始めました。これは自分にとってはとても大きなチャレンジでした。
ありがたいことにお客様もついて、サービス自体の売上は黒字になりました。ニッチなサービスではありますが、継続していければと思います。
値上げをできるだけしない
9 年前に自社の主力製品である WebRTC SFU Sora を販売開始してから、値上げは 1 度だけ行いました。事例を頂かない場合のライセンス料金を少しだけ高くしました。
事例がある場合、12 ヶ月で同時接続数 100 までの利用であれば 60 万円/年というのは 9 年変わっていません。今後もよほどのことがない限りはこのままで行こうと思います。
寄付をする
時雨堂では大学や地方自治体に寄付をしています。これは今後も利益が十分でている間は続けていければと思います。
OSS のスポンサーをする
Let’s Encrypt と OpenSSL のスポンサーをメインに、様々な OSS のスポンサーになっています。最近ですと Biome のゴールドスポンサーを継続しています。
自分たちが利用する OSS で、かつスポンサーが少ない場合は積極的にスポンサーになるようにしています。
OSS を利用している企業は OSS のスポンサーになる、これが当たり前になっていければなと思い、続けて行きます。
リアルタイムメディアサーバーを作りつづける
時雨堂では音声、映像といったメディアやデータを配信するサーバーを主力製品としています。今は WebRTC を利用していますが、今後は WebTransport も取り込んでいくつもりです。
テレパシーが実現できるまでは必要になる機能だと思っており、当面は必要とされるかなと考えています。
分散システムがんばる
ここ数年はメディアサーバーの分散機能に注力してきています。Erlang/OTP の強みの1つである分散システムに RabbitMQ が利用している Raft ライブラリを組み合わせて、スケールアウトできるリアルタイムメディアサーバーを開発しています。
2024 年はこの分散メディアサーバーがついに機能として提供できる用になるので、とても楽しみです。
WebRTC でも WebTransport でも結局スケールアウトは必要になるので、ここに注力していければと思っています。
E2E テストがんばる
自社製品向けの Python SDK (C++ SDK binding) を作ったおかげで pytest を利用した E2E テストがかなり充実しました。
また Playwright を使った E2E テストも少しずつ増やしています。Playwright や Python + pytest の組み合わせでも利用できるので、積極的に使っています。E2E テストはコストがかかるので少しずつしかできていませんでしたが、なんとか積極的に使っていける環境ができてきました。
OSS がんばる
時雨堂は主力製品以外は基本的に OSS で公開するという戦略をとっています。SDK やツール類は全て OSS です。OSS をフルタイムで支えてくれているお手伝いメンバーも 5 人と大所帯になってきました。ただまだまだ足りないので一緒に走ってくれる仲間を捕まえていこうと思います。
ChatGPT や GitHub Copilot が出てきて、ソースコードが公開されている事がとても強みになっていくと考えています。
社内ツールを作り始める
今まで社内向けツールというのはほぼ作ってきておらず、サービスの管理画面くらいでした。
今後はもっとリソースを社内向けツールというのに目を向けていければと思います。
とりあえず「リアルタイム映像コーデック画質評価システム」を作っていくつもりです。様々なコーデックの画質を気軽にチェックできるようにしたいと思っていたのですが、なんとか目星が付いたので、OSS のお手伝いしてくれてるメンバーに開発をお願いしました。そのうちブログでアピールできたらと思います。
ドキュメントがんばる
なんとか全文検索を実現できた自社製品ドキュメントですが、課題はまだまだあり、検索周りをどうにかしたいと考えています。ただ、どうしてもコストメリットが見合わない部分があるので、ここはどうするかは今はわかっていません。日本語全文検索難しい。
C++ から Rust へ
時雨堂の OSS の多くは C++ で書かれています。これは WebRTC ライブラリである libwebrtc や libdatachannel が C++ で書かれているというのが一番の理由です。
ただ WebTransport では Rust を利用していこうと考えています。もともとはここは Zig を検討していたのですが、Zig は少し距離が長い戦略をとっているようなので、まずは Rust で進めていこうという方針です。
主力製品はもちろん今後もずっと Erlang/OTP です。
売上が安定したことにより、やれることが増えてきました。とはいえ、主力製品を増やす予定はなく、パッケージソフトウェアとそのクラウド版だけでやってくつもりです。主力製品が売れなくなったらそのとき考えます。12 年目も走り続けます。