1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Un service de CI commencé en essai gratuit a envoyé une facture de 1 000 $ après dépassement du quota, au lieu d’interrompre le service, laissant l’utilisateur avec un coût inattendu
  • Blacksmith est une startup YC qui remplace GitHub Actions, avec une promesse de service drop-in replacement, plus rapide et moins cher
  • Avec la formule « essai gratuit, sans carte bancaire », une fois la limite dépassée, les tâches ne s’arrêtent pas : l’usage continue d’être cumulé au tarif public puis facturé
  • La plupart des utilisateurs s’attendent à ce que le quota gratuit soit un hard cap tant qu’ils n’ont pas saisi de moyen de paiement ; cette politique est donc une pratique inhabituelle que moins de 5 % des gens anticiperaient
  • Laisser des utilisateurs sans carte bancaire dépasser le quota, puis leur envoyer une facture en retard, est une mauvaise pratique qui favorise les usages abusifs et abîme la confiance

Contexte — tentative de remplacement de GitHub Actions

  • Avec l’augmentation du volume de traitement des PR, il devenait de plus en plus évident que les tâches CI étaient lentes et coûteuses, alimentant le mécontentement envers GitHub Actions
  • Après recommandation, tentative d’adoption de Blacksmith
    • Blacksmith est une startup YC qui se présente comme un drop-in replacement de GitHub Actions, en mettant en avant de meilleures performances à moindre coût
  • Après import et application de la configuration GitHub, c’était effectivement plus rapide ; le coût restait difficile à juger car l’essai gratuit était encore en cours

Chronologie jusqu’à la facturation

  • Premier e-mail d’alerte : 80 % des minutes gratuites du mois pour l’organisation avaient été consommées, avec demande d’enregistrer une carte bancaire pour éviter une interruption
    • Il aurait fallu vérifier l’usage à ce moment-là, mais le travail de développement a continué sans pause
  • Deux semaines plus tard, réception d’un message : « 500,60 $ dépensés sur Blacksmith ce mois-ci »
    • Comme l’essai gratuit était toujours en cours, cela ne semblait pas crédible ; il n’y avait toujours pas de carte bancaire, et ce message ressemblait à l’un des nombreux e-mails d’alerte d’usage sans impact sur les utilisateurs en production
  • Deux semaines plus tard encore, réception coup sur coup, à court intervalle, de « enregistrez une carte pour éviter une interruption » → facture de 1 081 $ → avis de retard deux jours plus tard
    • Montant total de l’avis de retard : 1 081,45 $
    • Contractuellement, les conditions de paiement exigeaient un règlement dès l’émission de la facture

Explication autour du terme « disruption »

  • En général, quand on utilise gratuitement un service sans carte bancaire et qu’on atteint la limite, le service s’arrête (= interruption de service) ; ici, cela a au contraire débouché sur une facture de 1 000 $ immédiatement considérée en retard
  • Explication de l’équipe support de Blacksmith
    • Le terme « disruption » ne signifiait pas un arrêt du service, mais un signalement du compte, par exemple pour examiner une activité suspecte
    • Aucun libellé n’indiquait un arrêt automatique des tâches en cours ; une fois le quota gratuit dépassé, les workflows continuent et l’usage s’accumule au tarif public
  • Il n’avait effectivement jamais été indiqué explicitement que les tâches s’arrêteraient une fois la limite atteinte, ni que « gratuit, sans carte bancaire » signifiait l’absence de risque de facture de plusieurs milliers de dollars ; il s’agissait uniquement d’hypothèses fondées sur les usages du secteur

Quatre points de débat

  • 1. Ont-ils le droit de facturer ainsi ?

    • Au 8 juin, les conditions de Blacksmith semblaient indiquer que le droit à facturation supposait la fourniture d’informations de paiement
    • Cela dit, un SaaS peut prévoir dans ses conditions une obligation de paiement des dépassements pendant l’essai gratuit
    • Comme des agents exécutaient de nombreuses tâches CI, il était prévisible d’atteindre le quota gratuit, et le service avait bien apporté de la valeur ; au fond, cela paraît moins malhonnête que surprenant — conclusion : oui, ils le peuvent probablement
  • 2. Les utilisateurs vont-ils être surpris ?

    • La part des utilisateurs qui anticiperaient une facture après dépassement d’un service gratuit et sans carte bancaire est estimée à moins de 5 %
    • Même en interrogeant un chatbot sans mentionner les e-mails d’alerte de carte bancaire, il répond fermement que « le service sera coupé » — un indice supplémentaire du caractère inhabituel de cette politique
    • La plupart des utilisateurs s’attendent à ce que le quota gratuit soit un hard cap tant qu’ils n’ont pas saisi de moyen de paiement
  • 3. Le service devrait-il fonctionner ainsi ?

    • Autoriser les dépassements puis envoyer une facture en retard peut améliorer à court terme les métriques de revenus, mais le taux réel d’encaissement est incertain et les créances clients ainsi que les impayés exploseront
    • En conclusion, c’est une mauvaise pratique
      • Laisser s’accumuler des dépassements pour des utilisateurs sans carte bancaire crée des frictions pour le fournisseur comme pour le client, et offre surtout plus de marge gratuite aux utilisateurs abusifs qui n’ont pas l’intention de payer
      • Même si cela gonfle le chiffre d’affaires à court terme, il est difficile de croire que le coût en confiance et en abus reste inférieur au revenu additionnel
    • Alternative : un avertissement préalable du type « interruption de la CI sous 72 heures si aucune carte n’est enregistrée »
    • On ne peut que spéculer sur les raisons du choix d’une facturation a posteriori — growth hacking excessif, manager intermédiaire cherchant à atteindre un objectif trimestriel de revenus, dette technique entre les systèmes de paiement et de provisioning, ou simple effet de mode parmi les startups YC
      • Vu la croissance explosive liée au chaos du printemps autour de GitHub, l’hypothèse privilégiée par l’auteur est un simple oubli de gestion
    • Le support a répondu qu’il allait réfléchir à des moyens de réduire ce type de confusion à l’avenir
  • 4. Malgré tout, faut-il utiliser Blacksmith ?

    • Un retour vers GitHub Actions a été tenté, mais l’expérience restait peu satisfaisante
    • Blacksmith a connu une croissance fulgurante en accélérant nettement un goulot d’étranglement du cycle de développement
    • Au final, c’est le pragmatisme qui l’emporte — la préférence pour une vitesse de développement plus élevée dépasse le mécontentement lié à la politique de facturation
      • Une fois l’accord donné pour un passage en payant, le support s’est aussi montré plus aimable, et un retour vers Blacksmith reste probable

Deux conseils pour les lecteurs

  • Si vous créez un SaaS, gardez à l’esprit que la plupart des utilisateurs s’attendent à ce qu’un compte gratuit soit mis en pause avant l’accumulation de dépassements ; l’envoi d’une facture sera donc mal perçu par beaucoup
  • Si vous essayez Blacksmith, il est plus prudent, au moins pour l’instant, de réduire l’usage avant d’atteindre la limite de l’essai

1 commentaires

 
GN⁺ 4 시간 전
Avis Hacker News
  • Il y a quelques années, quand j’ai acheté mon premier téléphone avec Internet, l’opérateur faisait la pub d’une période d’essai avec 300 minutes gratuites, donc je trouvais ça super
    Le premier mois, j’ai utilisé le service Internet pendant 297 minutes, puis j’ai découvert que ces « minutes » ne concernaient que les appels, et je me suis pris une facture impayée d’environ 12 000 dollars pour l’Internet mobile. C’était un tarif absurde, du genre 360 dollars par Mo
    Au final, l’opérateur a perdu dans le cadre d’un gros recours collectif, non pas à cause de la pub sur les « minutes », mais parce qu’il n’avait correctement informé personne du coût des données. Je crois qu’au final j’ai payé dans les 300 dollars, et après qu’une proposition de règlement à 600 dollars a été transmise au recouvrement, j’ai trouvé un accord à 50 % avec l’agence de recouvrement

    • Du coup, je comprends très bien l’idée d’avoir par défaut une limite d’usage stricte
    • Il y a très longtemps, ma copine de l’époque était partie en vacances avec sa mère et avait ajouté un Roaming Bundle à son téléphone
      Pendant le voyage, l’opérateur nous a appelés pour dire qu’il y avait déjà 1 700 livres de frais d’itinérance, et l’agent nous a dit de « ne pas nous inquiéter », puis a proposé de bloquer le prélèvement automatique de ce mois au cas où et de rappeler une fois la facture émise
      Quelques semaines plus tard, ils ont confirmé que le montant final était d’environ 2 000 livres, et quand j’ai demandé : « Vous n’étiez pas censés envoyer des SMS d’alerte quand la moitié du bundle était utilisée puis quand il était presque épuisé ? », ils ont reconnu avoir déjà écouté l’enregistrement de l’appel et que c’était bien ce qui avait été annoncé
      Ils ont alors expliqué qu’ils auraient dû proposer un autre bundle à 150 livres, que la consommation réelle représentait environ 75 % de ce volume de données, et qu’en tenant compte des 25 livres du bundle initial, ils allaient ramener la facture à 75 livres. C’est pour ça que je suis toujours client chez cet opérateur
    • À l’époque, les données étaient aussi facturées à la minute ? Je ne me souviens que des tarifs au kB et au MB
  • Waouh, je ne m’attendais absolument pas à recevoir une facture alors que je n’avais même pas enregistré de carte
    Ça ressemble encore à un cas de « la facturation et la mesure sont difficiles, et peuvent représenter un travail d’ingénierie plus important que le service lui-même »
    J’étais justement en train de regarder ce service aujourd’hui parce que nos GitHub Actions sont trop lentes ; ça a l’air bien, mais si c’est comme ça, je vais devoir le surveiller plus attentivement que la plupart des essais gratuits, donc ça me prendra plus de temps
    En général, avec ce genre de service, à la fin de la période d’essai le service s’arrête, et là on choisit soit « ça a de la valeur, donc je m’abonne », soit « ça n’en a pas, donc je reviens en arrière »

    • Pas mal d’entreprises paient simplement la facture si elle semble plausible et qu’il y a une justification côté métier
      Il existe des arnaques qui misent là-dessus, et certains fournisseurs peuvent aussi en profiter. Si 30 % des clients commencent simplement à payer la facture, ça vaut le coup de gérer les contestations du reste. Du moins jusqu’à ce que l’atteinte à la réputation commence
      Un exemple simple que connaissent probablement les détenteurs de domaines : à l’approche de la date d’expiration, plusieurs entreprises envoient des « factures » qui ressemblent au coût d’un renouvellement de domaine. En lisant les petites lignes, on voit qu’il s’agit d’une « proposition commerciale », mais visuellement c’est identique à une facture, et certains paient quand même
    • Je suis le fondateur de Depot. Vous pouvez l’essayer sans crainte
      Nous avons un vrai essai gratuit basé sur le temps, et nous ne faisons pas ce genre de choses bizarres. Vous pouvez aussi définir des limites d’usage pour éviter une explosion imprévue des coûts
      [0] https://depot.dev
    • Ici, l’explication « la facturation, c’est difficile » se mélange au problème de confiance des utilisateurs
    • OpenAI facturait aussi de cette manière à une époque
    • Les startups doivent innover pour survivre, et YC semble ne pas décourager ce type d’« innovation » tant qu’il y a une chance que ça rapporte gros
  • Ça me rappelle les pratiques commerciales de l’Austrian NIC
    En général, un domaine expire si on ne le renouvelle pas, mais en Autriche, si on ne l’annule pas explicitement par fax, il est automatiquement renouvelé pour l’année suivante, et si on ne paie pas, ça part en recouvrement[1]
    Au moins pour les domaines nationaux (ccTLD), il n’existe pas de règle disant que « si on ne renouvelle pas, le domaine doit expirer ». Ce n’est qu’une convention, et les conventions créent des attentes, lesquelles peuvent être utilisées pour tromper les gens
    D’une manière générale, il existe dans les affaires des modèles à paiement anticipé, comme McDonalds, et des modèles à paiement différé, comme les restaurants où l’on mange assis. Appliquer une tarification postpayée à un service que tout le monde considère par convention comme prépayé, c’est une arnaque parfaite
    [1] https://www.reddit.com/r/sysadmin/comments/1bnjus/the_austri...

    • Pour un fournisseur de services allemand, ça ne m’étonne pas. Cela dit, c’est devenu nettement mieux ces dix dernières années
    • En pratique, la manière dont un pays gère son ccTLD n’est soumise à aucune des règles imposées par les États-Unis qui existent pour les domaines génériques de premier niveau (gTLD)
    • C’est toujours comme ça aujourd’hui, ou c’était seulement avant ? Le post lié date d’il y a 10 ans
  • Les conditions disent que pour utiliser les services de Blacksmith Software Inc, il faut créer un compte, lier son compte GitHub pendant la configuration, installer l’intégration GitHub de Blacksmith dans l’organisation, et ajouter un moyen de paiement valide comme une carte bancaire traitée par Stripe
    Elles précisent aussi que le paiement sur facture ne peut être demandé que pour les gros contrats, et qu’en fournissant les informations de paiement on autorise la facturation des frais d’usage sur la carte bancaire, ou, dans le cas d’un contrat avec facturation sur facture, on accepte de payer à temps selon les conditions de paiement
    Sauf si cette personne a signé un gros contrat et demandé une facturation sur facture, elle viole les conditions, donc on peut simplement lui dire d’aller se faire voir

  • 1 000 dollars par mois, mais qu’est-ce qu’ils font exactement dans leur CI ?
    Nous utilisons Warp build, c’est environ 50 % moins cher que GitHub, et même avec 6 personnes qui le sollicitent assez intensément sur plusieurs dépôts, on est autour de 150 dollars par mois. On compile même du Rust, ce qui est un cas bien pire du point de vue du temps de build
    Je ne sais pas si Blacksmith propose des runners plus gros, mais si c’est le cas, il faut vérifier que ça en vaut la peine. Un runner 2x ne rend pas les builds 2x plus rapides. J’ai fixé un objectif puis dimensionné la CI en conséquence
    Il faut aussi du cache. TypeScript peut être géré avec Nx si le code est découpé en packages
    Dans mon ancien job, on avait une tâche qui mesurait le temps après exécution, et comme GitHub Markdown prend en charge Mermaid, on l’affichait sous forme de diagramme de Gantt. Je ne me souviens pas si l’API GitHub peut récupérer le temps du workflow en cours, donc c’était peut-être un second workflow
    Le premier demande un peu de travail manuel, et le reste, un agent pourrait probablement le faire en moins de 5 minutes

  • À long terme, cela ne semble pas être une bonne manière de faire du business.
    Même si quelqu’un finit effectivement par payer la « facture » par chance ou par malchance, cela fait perdre beaucoup de bonne volonté et signale à tout le secteur tech des pratiques douteuses.

    • J’utilise toujours une carte virtuelle pour les essais gratuits qui demandent une carte bancaire, puis j’annule. C’est assez drôle de les voir se plaindre quand ils ne peuvent pas réellement facturer.
  • En tant que client ayant utilisé avec satisfaction Blacksmith, Depot et Ubicloud à différents moments, je suis d’accord pour dire que tous les trois proposent des runners GitHub Actions moins chers que GitHub lui-même, mais que cette facturation-ci est étrange.
    Cela dit, il faut aussi souligner qu’il faut vraiment consommer énormément de temps de CI pour arriver à une facture de 1 000 dollars. On est très loin du simple hobby, et à usage équivalent cela aurait coûté deux fois plus cher sur GitHub classique. Cela ressemble davantage à une demande faite à une entreprise ayant un véritable besoin de calcul de payer pour de l’usage réel.

    • Je me demande s’il n’aurait pas mieux valu, côté coûts, utiliser quelque chose comme des serveurs dédiés.
  • Cela me rappelle une expérience chez Gusto.
    En mai de l’an dernier, nous avons souscrit à leur service de compensation sur la paie pour le crédit d’impôt R&D, et les frais étaient calculés comme un pourcentage du bénéfice que nous en tirions. Comme nous n’avons déposé la déclaration fiscale fédérale qu’en septembre, il n’y a naturellement eu aucune compensation sur la paie avant octobre.
    Pourtant, ils nous ont facturé pour un service non fourni, et, à l’inverse même de l’objectif de l’outil, cela a augmenté les sorties de trésorerie dès le premier jour. Ils ont soutenu qu’en cliquant sur la case à cocher, j’acceptais les petites lignes indiquant « facturation à l’inscription », ce que j’ai trouvé assez absurde, et je le pense toujours.

    • Je peux demander combien ils ont facturé, et pendant combien de temps ?
  • Blacksmith devrait venir dans ce fil et s’expliquer directement.
    Et l’auteur pourrait-il aussi indiquer combien cet usage aurait coûté sur GitHub Actions ?

  • La question « continueriez-vous à utiliser Blacksmith malgré cette mauvaise surprise et un support désagréable ? » est intéressante, et je comprends l’approche pragmatique.
    Cela dit, Blacksmith pourrait aussi se faire durement sanctionner par cette affaire. Dans ce cas, j’aimerais qu’ils changent de comportement, mais ils pourraient aussi simplement échouer, comme beaucoup de startups.
    Donc, jusqu’à ce que leurs chances de succès soient plus claires, l’astuce semble être de continuer à l’utiliser sans en devenir dépendant. Ce n’est qu’ensuite qu’il vaudra la peine d’envisager d’exploiter les fonctionnalités de la plateforme.
    Malgré cela, je ne sais pas vraiment dans quelle mesure Blacksmith mérite d’être digne de confiance, ni s’ils voudraient rendre le départ difficile plus tard.
    Quant à GitHub Actions, Microsoft est très doué pour fabriquer des produits et des fonctionnalités juste assez bons pour qu’on les utilise, sans être suffisamment meilleurs pour pousser à migrer vers une alternative, une fois la plateforme verrouillée. GitHub Actions en est un exemple évident, Teams aussi, et la liste est longue. À mes yeux, cela ressemble à une version moderne des comportements anticoncurrentiels des années 1990. Ils créent des barrières suffisamment hautes pour empêcher l’arrivée de concurrents et étouffent l’innovation. Je n’aime pas ça.