1 ポイント 投稿者 GN⁺ 4 시간 전 | 1件のコメント | WhatsAppで共有
  • 無料トライアルで始めたCIサービスが、上限超過後にサービス停止ではなく**$1,000の請求書**を送付し、ユーザーが想定外の費用を負担することになった事例
  • BlacksmithはGitHub Actionsを置き換えるYCスタートアップで、より高速かつ低コストなdrop-in replacementサービスを掲げている
  • 「無料トライアル・クレジットカード不要」という条件で、上限を超えるとジョブが止まるのではなく、公開料金で利用量がそのまま積み上がって請求される
  • ほとんどのユーザーは、支払い情報を入力するまでは無料枠がハードキャップ(hard cap)だと考えるため、この方針は5%未満しか予想しないような異例の方式
  • クレジットカードのないユーザーに超過利用を続けさせた後で延滞請求書を送るやり方は、悪用するユーザーに有利で信頼を損なう悪い慣行

背景 — GitHub Actionsの置き換えを試みる

  • PR処理量の増加で、CIジョブが遅く高価であることが次第に明らかになり、GitHub Actionsへの不満が蓄積
  • 勧められてBlacksmithの導入を試行
    • BlacksmithはGitHub Actionsのdrop-in replacementを標榜するYCスタートアップで、より速く安いことを強調
  • GitHub設定を取り込んで適用した結果、実際により高速だった。コストは無料トライアル中のため明確ではなかった

請求に至るまでの経緯

  • 最初の警告メール: 当該組織の今月の無料枠(minutes)の80%を消費、停止回避のためクレジットカード登録を要請
    • この時点で利用量を確認すべきだったが、コーディングを止めずにそのまま継続
  • 2週間後、**「今月のBlacksmith支出は$500.60」**というメッセージを受信
    • まだ無料トライアル中だったため事実には思えず、クレジットカードもなく、本番ユーザーにも影響していなかった多数の利用量警告メールの1つだと受け取った
  • さらに2週間後、短い間隔で**「停止回避のためのカード登録」メッセージ → $1,081の請求書 → 2日後に延滞通知**を連続受信
    • 延滞通知の総額は**$1,081.45**
    • 契約上の支払い条件は、請求書発行と同時に支払いを求めるものだった

「停止(disruption)」という表現についての説明

  • 一般には、クレジットカードなしで無料利用していて上限に達すればサービスが止まる(=サービス停止)と考えられるが、今回は即時に延滞扱いとなる**$1,000の請求**につながった
  • Blacksmithサポートチームの説明
    • 「disruption」という表現はサービス停止ではなく、不審な活動の確認などに伴うアカウントのフラグ付けを意味する
    • 実行中ジョブの自動停止を明示した文言はなく、無料枠超過時にもワークフローは止めず、公開料金で利用量を積み上げる
  • 実際、上限到達時にジョブを止めると明記していたわけでも、「無料・カード不要」が数千ドルの費用が発生しないことを意味すると明記していたわけでもなく、いずれも慣行に基づく推定だった

4つの論点

  • 1. そもそもこのように請求できるのか

    • 6月8日時点のBlacksmith利用規約は、支払い情報の提供を前提に請求権が成立することを示唆していた
    • ただしSaaSでは、無料トライアル中の超過分について支払い義務を規約に含めることはあり得る
    • エージェントがCIジョブを多数実行して無料枠到達は予想可能であり、サービスの価値も得ていたため、本質的に不誠実というより驚くようなやり方にすぎない — 「できる」という判断
  • 2. ユーザーは驚くのか

    • 無料・カード不要サービスの超過利用に対する請求書を予想するユーザーの割合は、5%未満と推定
    • チャットボットに尋ねても、カード登録を促す警告メールに触れなくても**「止まるはず」**と強く答える — この方針が異例であることの手がかり
    • ほとんどのユーザーは、支払い情報を入力するまでは無料枠がハードキャップだと期待する
  • 3. サービスはこのようにすべきか

    • 超過利用を許した後で延滞請求書を送れば短期的な売上指標は伸びるかもしれないが、実際の回収率は不確実で、未収金・貸倒損失が急増するはず
    • 結論として悪い慣行
      • カードのないユーザーの超過利用を積み上げさせることは、提供者・顧客の双方に手間を生み、主に支払う意思のない悪用ユーザーにより多くの無料の猶予を与える
      • 短期売上を膨らませても、信頼低下や悪用コストが追加売上より小さいとは考えにくい
    • 代案: **「72時間以内にカード未登録ならCI停止」**のような事前警告方式
    • 事後請求を選んだ理由は推測しかできない — 無理なグロースハック、四半期売上目標を狙う中間管理職、決済・プロビジョニング間の技術的負債、あるいはYCスタートアップ界隈の流行かもしれない
      • 春のGitHubの混乱の中で爆発的に成長していたことを踏まえると、筆者の推測は単純な管理上の見落とし(oversight)
    • サポートチームは、今後こうした混乱を和らげる方法を検討すると回答
  • 4. それでもBlacksmithを使うか

    • GitHub Actionsに戻してみたが、依然として使い勝手が悪かった
    • Blacksmithは開発サイクルのボトルネックを素早く解消し、爆発的に成長した
    • 結局は実利優先 — 高速な開発速度への選好が請求方針への不満を上回った
      • 有料支払いに同意するとサポート対応も親切になり、再び切り替える可能性が高い

読者への2つの助言

  • SaaSを作るなら、ほとんどのユーザーは無料アカウントが超過利用が積み上がる前に一時停止されることを期待するため、請求書送付は多くの人に否定的に受け取られる
  • Blacksmithを試すなら、少なくとも当面はトライアル上限に達する前に利用を減らすことが安全

1件のコメント

 
GN⁺ 4 시간 전
Hacker Newsのコメント
  • 数年前、初めてインターネット対応の携帯電話を買ったとき、通信会社が体験期間中は 300分無料 と宣伝していたので、お得だと思っていた
    初月にインターネットサービスを297分使ったのだが、その「分」は通話にしか適用されず、モバイルインターネット料金として約12,000ドルの延滞請求を食らった。1MBあたり360ドルみたいな、あり得ない価格だった
    結局、大規模な 集団訴訟 で通信会社が敗訴したが、理由は「分」という広告表現ではなく、データ料金を誰にもきちんと告知していなかったためだった。最終的には300ドルくらい払った気がするし、600ドルの和解案は債権回収に回されたあと、回収業者と50%で合意した

    • だから、デフォルトで 強い利用上限 を設けることにはかなり共感する
    • かなり昔、当時の彼女が母親と休暇に出かける際に、携帯電話へ Roaming Bundle を追加しておいたことがあった
      旅行中に通信会社から電話があり、ローミング料金が1,700ポンド積み上がっていると言われた。担当者は「心配しなくていい」と言い、念のため今月の自動引き落としを止めておいて、請求書が発行されたらまた電話してほしいと言った
      数週間後、最終金額は約2,000ポンドだと確認してくれたので、私が「バンドルを半分ほど使った時点と、ほぼ使い切った時点でSMS通知が来るはずなのに、なぜ来なかったのか」と尋ねると、すでに通話録音を確認しており、実際にその案内をしていたのは事実だと認めた
      そのうえで、本来は150ポンドの別バンドルを提案すべきだったこと、実際の使用量はそのデータ量の75%程度だったこと、既存バンドルの25ポンドも踏まえて75ポンド扱いにしようと言ってきた。だから今でもその通信会社の顧客でいる
    • その頃はデータも 分単位 で計算されていたのかな? kBとMB単位の料金しか覚えていない
  • うわ、カードも登録していないのに 請求書 が来るとはまったく予想していなかった
    これも結局、「課金と計量は難しく、実際のサービス以上に大きなエンジニアリング作業になり得る」という事例に見える
    うちではGitHub Actionsが遅すぎるので、今日このサービスを見ていたところだった。良さそうではあるが、こういう形だと大半のトライアルよりも自分で気を配って監視しないといけなくなり、かえって時間がかかりそうだ
    普通こういうサービスは、体験期間が終わればサービスが止まり、その時点で「価値があるから加入する」か「価値がないから元に戻す」かを選べばよい

    • もっともらしく見えて業務上の名目があれば、そのまま 請求書を支払う 会社はかなりある
      それを狙った詐欺もあるし、一部のベンダーもそこを利用できてしまう。顧客の30%がそのまま請求書を払い始めるなら、残りの問い合わせ対応をする価値はある。評判の悪化が始まるまでは、という話だが
      ドメインを持っている人なら経験があるかもしれない簡単な例として、期限が近づくとドメイン更新費用のように見える「請求書」が複数の会社から送られてくる。小さい文字を読むと「営業提案」と書いてあるが、見た目は請求書そのもので、一部はそのまま支払ってしまう
    • Depotの創業者です。気軽に試してもらって大丈夫です
      私たちには時間ベースの 本当の無料トライアル があり、こういう変なことはしません。予期せず費用が暴走しないよう、利用上限も設定できます
      [0] https://depot.dev
    • ここでは「課金は難しい」という説明と、ユーザー信頼の問題が重なっている
    • OpenAIも以前はこういう形で課金していた
    • スタートアップは生き残るために革新しなければならず、YCは大金になる可能性のあるスタートアップなら、この種の「革新」を止めないようだ
  • Austrian NICの商慣行を思い出す
    普通、ドメインは更新しなければ失効するが、オーストリアではFAXで明示的に解約しない限り翌年に自動更新され、支払わないと 債権回収 に回される[1]
    少なくとも国別トップレベルドメイン(ccTLD)には、「更新しなければドメインは失効すべきだ」というルールはない。ただの慣行にすぎず、慣行は思い込みを生み、その思い込みは人をだますのに使える
    一般にビジネスには前払い型、たとえばMcDonaldsのようなものと、後払い型、たとえば着席して食べるレストランのようなものがある。慣行上前払いのサービスに後払いの価格設定を適用すると、完璧な詐欺になる
    [1] https://www.reddit.com/r/sysadmin/comments/1bnjus/the_austri...

    • ドイツのサービス提供会社なら驚かない。ただ、この10年でかなり良くはなった
    • 実際、各国が自国の ccTLD を管理するやり方には、一般トップレベルドメイン(gTLD)のような米国が課したルールはまったくない
    • 今でもそうなのか、それとも昔の話なのか? リンク先の記事は10年前のものだ
  • 規約には、Blacksmith Software Incのサービスを使うにはアカウントを作成し、アカウント設定の過程でGitHubアカウントを連携し、組織にBlacksmithのGitHub統合をインストールし、Stripeで処理されるクレジットカードのような 有効な支払い手段 を追加する必要があると書かれている
    大口契約の場合にのみ請求書払いを要求でき、支払い情報を提供した場合は利用料をクレジットカードに請求することを承認するか、請求書ベースの契約なら請求条件に従って期日どおりに支払うことに同意するとある
    この人が大口契約を結んで請求書払いを要求したのでなければ、規約違反なのだから、ただ失せろと言えばいい

  • 月1,000ドルって、CI でいったい何をしているんだ?
    うちはWarp buildを使っていて、GitHubより50%安いくらいだが、6人で複数リポジトリをかなり激しく回しても月150ドル程度だ。Rustのビルドまでしているので、ビルド時間という意味ではかなり悪いケースのはずだ
    Blacksmithがより大きいランナーを提供しているのかは知らないが、大きいランナーを使っているなら、それだけの価値があるか確認すべきだ。2倍のランナーがビルドを2倍速くしてくれるわけではない。私は目標を決めて、それに合わせてCIのサイズを決めた
    キャッシュも必要だ。TypeScriptは、コードがパッケージに分割されているならNxで対応できる
    前職では実行後に時間計測ジョブを置いていて、GitHub MarkdownがMermaidをサポートしていたので、Ganttチャートで表現していた。GitHub APIが現在のワークフローの時間を取れたかは覚えておらず、2本目のワークフローだったかもしれない
    最初の部分は少し手作業だが、残りはエージェントが5分以内にやってくれそうだ

  • 長期的に見て、このやり方で事業をするのは正しい方法には見えない。
    誰かが運よく実際に「請求書」を払ったとしても、多くの好意を失い、業界全体に怪しい動きを知らせることになる。

    • 無料トライアルでクレジットカードを要求するところでは、いつもバーチャルカードを使って解約している。実際に請求できなくて文句を言うのを見るのはかなり面白い。
  • Blacksmith、Depot、Ubicloudをそれぞれどこかの時点で満足して使ったことのある顧客として、3社ともGitHub自体より安いGitHub Actionsランナーを提供しているが、今回の課金はおかしいという点には同意する。
    ただ、1,000ドルの請求書が出るにはCI時間を本当にかなり使わないといけない、という点も指摘しておくべきだ。趣味レベルはとっくに超えていて、同じ使用量なら従来のGitHubでは倍の費用がかかっていたはずだ。これは実質的なコンピュート需要のある事業者に、実際に金を払えと言っているのに近い。

    • コスト面では、専用サーバーのようなものを使うほうが良かったのかもしれないとも思う。
  • Gustoで経験したことを思い出した。
    去年の5月にR&D税額控除の給与相殺サービスに加入したが、手数料は私たちが得るメリットの一定割合で計算される。連邦税の申告を9月にしたので、当然10月までは給与相殺はなかった。
    それなのに、提供していないサービスに対して料金を請求し、このツールの目的とは逆に初日からキャッシュアウトが増えた。彼らは、私がチェックボックスを押したときに小さな文字で「登録時に請求」と書かれていたと主張したが、かなりばかげていると感じたし、今でもそう思っている。

    • いくら、どれくらいの期間請求されたのか聞いてもいい?
  • Blacksmithはこのスレッドに来て直接説明すべきだ。
    そして投稿者は、この使用量だとGitHub Actionsではいくらだったのかも教えてもらえるだろうか?

  • 「不快な驚きととげとげしいサポート対応があったのに、それでもBlacksmithを使い続けるのか?」という問いは興味深く、実利的に判断したのも理解できる。
    ただ、Blacksmithはこの件で痛手を負うかもしれない。そうなれば行動を変えてくれるといいが、多くのスタートアップのようにそのまま失敗する可能性もある。
    だから、成功するかどうかがもっとはっきりするまでは、サービスにロックインされない形で使い続けるのがコツだと思う。その後で初めて、プラットフォーム機能を活用するかどうかを考えればいい。
    それでも、Blacksmithをどこまで信頼できるのか、後から離れにくくしたがるのかはよく分からない。
    GitHub Actionsについて言えば、Microsoftはプラットフォームを支配したあと、より良い代替へ移るほどではないが、十分使える製品や機能を作るのが非常にうまい。GitHub Actionsはその明確な例で、Teamsもそうだし、例はまだまだある。私には、1990年代の反競争的行動を現代風に作り変えたものに見える。競合が入ってこられないほどの障壁を作り、イノベーションを殺している。あまり好きではない。