タグ

ブックマーク / voluntas.medium.com (17)

  • 時雨堂創業 12 年目

    2013 年 3 月 8 日に時雨堂を創業し、2024 年 3 月 8 日で時雨堂創業 11 年、そして 12 年目にはいりました。あっという間です。 起業のきっかけは、ある経営者に「貴方がどんなに一生懸命に製品を作ってもそれは会社のものでしかないので、自分の会社を持って自分の製品を作って、売った方がいい」といわれた事なんですが、それから 11 年立ちました。 起業したときから状況も大きく変わりました。自社製品の売り上げだけで会社が回っています。今後の時雨堂について雑に書いて行きます。 少人数でスケールする製品を作り続ける時雨堂はパッケージソフトウェアのサブスクリプションで稼いでいる会社です。営業もいないため、買いたいといってくれる企業に売るだけです。 社員が社内にあるライセンス発行サーバーに Tailscale でリモートで繋いでライセンス (JSON ファイル) を発行し、ライセンスフ

    時雨堂創業 12 年目
    bootJP
    bootJP 2024/03/10
    本当にすごい、去年独立したのでいつかここにたどり着きたい
  • GitHub Copilot Enterprise のススメ

    GitHubGitHub Copilot Enterprise というサービスをはじめました。かなり革命的なのですが、とにかく高い。利用するには一人 60 ドル/月 (GitHub Enterprise Cloud 21 ドル/月 + GitHub Copilot Enterprise 39 ドル/月)かかります。なので、気になってる人向けに実際に使ってみて何が嬉しいのかを雑に書いてみます。 Pull-Request サマリーの自動生成GitHub の Pull-Request を出すとき、レビューして貰うためにこの Pull-Request の変更点を整理して書くと思うのですが、これを自動生成してくれます。 https://github.com/sile/pixcil/pull/2これは弊社の社員が個人のリポジトリで GitHub Copilot Enterprise の機能を利用

    GitHub Copilot Enterprise のススメ
    bootJP
    bootJP 2024/03/08
  • HTTP API の設計方向

    見てみると、たしかに Get 系の API だとしても POST を利用しているし、API の URL 設計に get_shared_link_file のようによく言われる REST っぽい設計は使っていなかった。 この方針は同意だ。自分は結構前に REST っぽい API を捨てることにした。だからといって REST API がダメだとかは思っていない。 一般ユーザが使う場合の API は REST API であるほうが慣れ親しんでいる場合が多いからだ。 AWS で利用されている HTTP API 仕様AWS の DynamoDB の Erlang/OTP ドライバーを書いているときに気づいたのだが、AWS の一部のサービスはかなり独特な API の仕様になっている。

    HTTP API の設計方向
    bootJP
    bootJP 2024/01/30
  • Business Source License 1.1

    HashiCorp が OSI オープンソース・ライセンス のソフトウェア (以降 OSS) 製品を Mozilla Public License 2.0 (以降 MPL) から Business Source License 1.1 (以降 BUSL) にライセンス変更して話題になっています。 自社は主力製品はクローズドソース、それ以外は Apache License 2.0 で OSS として公開という戦略をとっていることもあり、 BUSL について自分の考えを雑に書いておこうと思います。 法律の専門家ではないので、間違いもあると思います。きっちり理解したい人は弁護士に相談しましょう。

    Business Source License 1.1
    bootJP
    bootJP 2023/08/13
  • 2022 年に学んで良かった技術

    雑に書いていきます。 バックグラウンド自分のバックグラウンドスキルは以下の通り。専門はリアルタイムな通信プロトコルを利用したサーバーの設計と開発とマーケティング。 Erlang/OTPWebRTCEnd to End Encryption細かいのはこちら。 SQLGosqlc を使うために学ぶことにした。sqlc を採用したのは複数人数で開発するときの共通言語としては SQL の方がいいだろうというのと、SQL はどんなデータを持たせたいのかを伝えるのに便利と判断したため。 今までずっと通信系ミドルウェアの開発をしてきたこともあって SQL を学ぶ必要が無かったが、今回いい機会なのでちゃんと学ぶことにした。 まずは利用データベースを完全にしぼって TimescaleDB (PostgreSQL ベース) で利用する SQL だけを学ぶことにした。 書籍は元 SIer のガチ SQL

    2022 年に学んで良かった技術
    bootJP
    bootJP 2022/12/14
  • 時雨堂は何をしている会社なのか

    大変反省したので、何をやっていて、どんな会社なのか書いていきます。知ってもらうためにも定期的に更新していければ思っています。 まとめ零細企業リアルタイムな音声と映像を扱うミドルウェア製品を作って売ってるミドルウェアのクラウド版を作って売っているサブスクリプションモデルの積み上げ型OSS 重視何をやってるのか時雨堂はミドルウェアソフトウェアをパッケージとして開発、販売しています。最近は「リアルタイムな音声と映像、データの配信」に特化したミドルウェアがメインです。 現在の主力製品は WebRTC SFU Sora (以降 Sora)という来は P2P で利用する WebRTC を、クライアント・サーバー方式で利用するソフトウェアを1 から開発して、販売しています。売上のほとんどはこの製品関連になります。 製品はサブスクリプションを採用しており、 3 ヶ月、6 ヶ月、 12 ヶ月単位で Sor

    時雨堂は何をしている会社なのか
    bootJP
    bootJP 2022/11/23
  • 時雨堂 10 期振り返り

    時雨堂は 9 月決算なので、振り返っていきます。 方針通りには進んだ前期に上げた方針は以下の通りです。 来期は自社製品の SaaS を提供予定です。ただの SaaS ではなく他社には無い自社製品の強みを生かした製品を提供します。実際 2022 年 6 月 1 日に主力製品である WebRTC SFU Sora の SaaS 版である Sora as a Service Tobi のアーリーアクセスの提供を開始しました。 時雨堂にとって初めてのサービス型製品ということで、早く利益を出すよりも「顧客が安心して使える」を目的に設計をしました。 既存の WebRTC の SaaS を意識するのではなく、あくまで「自社の主力製品であるパッケージ製品を自前で運用しなくて良い」というマネージドサービスを提供する方針にしました。これはよくある OSS を開発し、そのマネージドで稼ぐというビジネスを意識して

    bootJP
    bootJP 2022/09/30
  • オンラインドキュメントと日本語全文検索

    自社では Sphinx というドキュメントツールを利用しているのですが、残念ながらこれに付属している検索機能の日語検索はかなり厳しいです。また残念ながら Sphinx 開発側も検索周りを改善するという予定は直近ではないようです。 そして検索というのはとても難しい技術なため自分のような素人では導入して「普通に期待する動作」をさせるまでの距離はとても遠いです。 ただ、なんとかして日語全文検索を実現したいという思いはここ10 年くらいずっと思っていました。これは自社の Sphinx テーマを作ってくれている社員ともよく話をしていたのですが、どうしてもリソースをつぎ込めずにいました。 まとめ日語検索に対応している Meilisearch を採用したドキュメントスクレイパーの実行は GItHub Actions (Self-hosted Runner) を採用した自社 Sphinx テーマの検

    オンラインドキュメントと日本語全文検索
    bootJP
    bootJP 2022/08/19
  • なぜ Zig の採用を検討しているのか

    かなり雑に書いてるので、雑に読んでください。 BunZig で開発されていることを知り、そこから Zig を調べてみています。 調べていくと自分が求めていた言語っぽいというのがあり、社外では学生に QUIC や TLS 1.3 を Zig で OSS を開発してもらうお仕事を出したり、社内では実際に採用に向けて調査を進めています。 そもそもの目的自分の会社では Erlang VM を利用した製品をメインに利用しています。ただ Erlang VM 遅いんです。少なくとも暗号処理であれば Rust の方が 2 倍ほど速いです。Erlang VM 自体 JIT を採用したり、いろいろ頑張ってくれているのですが劇的な高速化というのは今すぐには難しいのが現実です。 そこで NIFs (Native Implemented Functions) を使って頑張るという戦略があります。早い話が Er

    なぜ Zig の採用を検討しているのか
    bootJP
    bootJP 2022/07/23
  • 低コストで高可用性を実現する

    自社製品の SaaS をリリースしたのですが、自分の中でのテーマは「低コスト高可用性を実現する」でした。設計に入る前にいろいろ検証して、なんとか自分がやりたかったことができたので雑に書いてみます。雑に読んでください。 低コスト単純に「低価格でサービスを提供したいから」です。維持や運用コストが高くなればなるほどサービスの価格も高くなります。 サービス自体の低コストを実現すれば、価格面での競争力を得ます。もともとの自社パッケージ製品は機能や性能、可用性では負ける要素はないので、勝負は価格面という認識し、そこをどう実現するかを設計の第一としました。 少人数関わる人間が増えれば増えるほど人件費も増え、さらにサービスの価格は高くなります。 そのため、今回はとにかく少人数で開発、運用できることを目標にしました。目指すのはサーバーが 100 台規模になったとしても片手で足りる人数でなんとかなるサービスで

    低コストで高可用性を実現する
    bootJP
    bootJP 2022/06/02
  • ニッチプログラマー

    Twitter で “The Nitche Programmer” という記事が流れてきたので、自分もおそらくニッチプログラマーのくくりには入ると思うので雑に何か書いておこうと思います。 思ったことを適当に書いていくので読みにくいと思います。適当に流し読みしてください。 まとめニッチかどうかはどうでもいい。 ニッチプログラマーはじめてのちゃんとしたプログラミングは Python 2.2 あたりから始まり、その後 Erlang/OTP へ切り替えて 10 年以上 Erlang/OTP を書いてご飯をべています。ここ数年は開発に注力はせず、ビジネス考える人になっています。 最近では WebRTC をメインでやっており、 Erlang/OTP + WebRTC という組み合わせであればおそらく日では社員を除けば自分だけというくらいニッチです。世界的に見ても Erlang/OTP + WebR

    ニッチプログラマー
    bootJP
    bootJP 2022/05/04
  • 自社製品で食べていけるようになるまでやったこと

    ミドルウェアのパッケージ製品でべていけるようになるまでやったことを自分のメモ代わりにまとめておきます。 製品の事業計画を明確にしない自分が想定したとおりに行くことが少ないこともあり事業計画を書いたりしません。日々の状況を見ながら判断をしていくということをしています。そのため中長期的な計画は品質の向上くらいにしておき、機能追加に関してはその度々に考えて実装していくのが一番です。 変化が早い分野でもあるので、事業計画を用意するメリットが零細企業にはないと考えています。 リリース前の開発進捗を共有するステルスはデメリットが多いと判断し、今開発しているもの開発中の状況などを共有しました。これは「製品をステルスで開発して、出したとしても買ってもらうまでの時間がかかる」と考えたからです。 それよりはあの会社があんなの作ってるそろそろ出るらしいと思ってもらえたほうが検討してもらいやすくなります。 今、

    自社製品で食べていけるようになるまでやったこと
    bootJP
    bootJP 2019/01/09
  • フルリモートワークを諦めた

    正社員のフルリモートワーク採用を目標としていたが諦めた。 現在、自社では週1出社それ以外は自宅からのリモートワーク社員がいる。一緒に働いて感じたことはフルリモートワークの場合はうまくやっていくことはかなり難しいだろうと感じたことだ。 自社では自社パッケージ製品を開発している。この開発には双方向のコミニュケーションがかなり必要になる。特に顔を突き合わせて話すというのがとても重要になる。さらに感覚的な話も多くなりがちだ。 実際、週1出社してる社員とはよく話をする。仕事の話、雑談。当に色々話をする。 特に自社は社員も少なく1社員が担う範囲も多く、意思疎通がとても重要になる。これが週1出社してもらうだけで、かなり違う。ギャーギャー面と向かって話ができるというのはとても重要だと感じたのだ。 フルリモートワークになると出社は月1回とかになるだろうか、大きめの企業であればうまくタスクが分担できたりして

    フルリモートワークを諦めた
    bootJP
    bootJP 2018/05/21
  • カスタマイズしないとどうなるか

    続き。自社製品のミドルウェアでカスタマイズをしないと実際にどうなるかを書いていく。 カスタマイズの相談をされた場合一切対応していない事を伝える。メールが返ってこない事が多い。そのためビジネスチャンスを逃している可能性は高いが、カスタマイズをするリスクのほうが高いため問題ない。 カスタマイズを要求していくる会社から相手にされなくなる。 注文から提供までメールにて申込書を送り、記載して返送してもらう総務が社内に立っているライセンスサーバでライセンスを発行する製品のダウンロード URL とライセンスファイルをメールで送る終わり。製品の提供まで 30 分くらい。自社製品は最小ライセンスの費用が 60 万円/年なので 30 分で 60 万円の売上になる。これが毎年。 この後はサポートのお仕事。 サポート対応全ての顧客が同じ製品を利用しており、自社製品は最新版を利用していることがサポートを受ける前提と

    カスタマイズしないとどうなるか
    bootJP
    bootJP 2018/04/14
  • カスタマイズをしない

    自分の会社ではパッケージ製品、つまりお客様の環境で動かして頂く製品を販売している。 そのため、カスタマイズを希望される事もある。今の機能では簡単に実現するのが難しいというのがほとんどの希望理由だ。 カスタマイズの定義は製品に対して+アルファの何らかの特別な対応を機能を追加することという事にしておく。 結論から言うと自分の会社では一切のカスタマイズを受けないというスタンスだ。カスタマイズはメリットよりデメリットの方が多いという考え方からだ。 カスタマイズのメリットまちがいなく売り上げを上げやすい事だろう。カスタマイズが必須な場合の顧客はカスタマイズを受け付けない製品を購入しない。 さらにカスタマイズ対応ということで、追加の開発費やサポート費を手にすることができる。これは前職で十分実感できた。 ただメリットはこれしか無い。 カスタマイズのデメリット一番大きいのはコードのフォークが発生してしまう

    カスタマイズをしない
    bootJP
    bootJP 2018/04/14
  • YouTube が WebRTC 配信に対応した

    Today we're making it easier to go live and interact with your community from your computer and phone. First, if you've… YouTube が WebRTC を利用した配信に対応した。つまり今まで YouTube で配信するには何かしらのツールが必要だったが、WebRTC を利用した配信機能を使うことでブラウザとウェブカメラだけあれば配信ができるようになる。 そう、つまり pixiv Sketch Live が実現したあの手軽な配信が YouTube でも可能になった。ただ、まだ画面共有に関してはまだできなさそうだ。 配信者はブラウザから配信して、あとは YouTube が HLS や MPEG-DASH に変換してくれるので、スケーラビリティを気にする必要はない。もちろん

    YouTube が WebRTC 配信に対応した
    bootJP
    bootJP 2018/03/21
  • WebRTC を利用した配信の現実

    超低遅延、高画質な配信を実現するための選択肢の一つとして WebRTC があります。 ただ WebRTC はもともと少人数で双方向の配信を前提としているため、スケールしないというのが一般的な認識です。 せっかくなので WebRTC サーバを開発・販売している立場から WebRTC を利用した配信の現実がどの程度なのかを書いていこうと思います。 P2P モデルまずは WebRTC といえば P2P なので、WebRTC の P2P 利用についてお話する必要があります。 WebRTC の P2P 利用は、配信者が視聴者分の変換を行うという負担があることから、最大でも 10 名程度までしか配信できません。 さらに、何より配信者の PC 負荷がとても高くなるため、採用は趣味のページまででしょう。 ビジネスで P2P を配信に利用するのはとても現実的ではありません。 配信の場合は P2P で Web

    WebRTC を利用した配信の現実
    bootJP
    bootJP 2017/11/30
  • 1