Smppcube vs open source (Kannel · Jasmin · PlaySMS)
Togliamoci subito il dente: Smppcube contiene Kannel al suo interno. Non siamo qui a dirLe che l’open source è software scadente, perché lo teniamo in produzione e lo sceglieremmo di nuovo. Kannel sono oltre vent’anni di C temprato che regge i bind con gli SMSC meglio di qualunque cosa scriveremmo noi. Questo confronto non parla della qualità del software libero. Parla di una domanda molto più stretta e molto più cara: quanto costa trasformare un bearer gratuito in un’attività da cui poter fatturare, e quel progetto è il Suo prodotto o è una deviazione? Qui sotto ci sono i numeri onesti, una griglia di confronto e i casi in cui l’opzione gratuita è davvero quella giusta e Lei dovrebbe chiudere questa pagina e mettersi a costruire.
Cosa significa davvero “gratis” in questo mercato
Gratis nella licenza e gratis nel costo totale sono due valute diverse, e il settore della messaggistica è insolitamente bravo a confonderle. Il motivo è che la cosa gratuita fa la parte visibile e spettacolare. Parla SMPP. Muove migliaia di messaggi al secondo. Sopravvive a un operatore che fa qualcosa di scortese alle tre di notte. Vederlo funzionare la prima volta porta molto facilmente a concludere che il difficile sia fatto.
Il difficile non è fatto. Il difficile è la parte noiosa. Un bearer muove messaggi; un’attività decide da quale saldo di quale cliente è uscito un messaggio, a quale tariffa e su quale rotta, se quel cliente poteva inviarlo, che fine fanno i soldi quando il messaggio fallisce definitivamente quattro ore dopo, cosa vede il cliente quando entra a controllare, e cosa mostra Lei a un’autorità o a un cliente che contesta sei mesi più tardi. Niente di tutto questo rientra nel perimetro di un bearer, e niente di tutto questo è opzionale se Lei fa pagare la gente.
Quindi la scelta non è mai stata “pagare o non pagare”. È: pagare una licenza una volta, oppure pagare uno sviluppatore per sei-dodici mesi e poi continuare a pagarlo per sempre per mantenere ciò che ha costruito. Sono entrambe legittime. Semplicemente costano cifre selvaggiamente diverse, e solo una delle due mette il conto dove Lei può vederlo.
Cosa copre davvero ogni opzione open source
In ognuna di queste conversazioni saltano fuori tre progetti. Sono tutti e tre buoni, tutti e tre onesti sul proprio perimetro, e ciascuno si ferma in un punto diverso.
Kannel. Il classico gateway WAP e SMS open source, scritto in C, diviso in BearerBox (le connessioni), SMSBOX (l’interfaccia HTTP) e SQLBOX (le tabelle di coda). È un bearer nel senso più puro: regge i Suoi bind SMPP, muove messaggi, e fa entrambe le cose estremamente bene a volumi che mettono in imbarazzo parecchio software commerciale. La configurazione è un file che si modifica via SSH. Non c’è GUI, non c’è il concetto di cliente, non c’è saldo, non c’è fattura, non c’è portale e non c’è una linea di supporto. Non è una lacuna del progetto: è il suo confine, tracciato di proposito.
Jasmin. Un gateway e router SMS moderno in Python, con un’architettura davvero elegante: un router di messaggi, un’interfaccia di gestione a riga di comando (jCli), un’API HTTP e, a differenza di Kannel, un concetto rudimentale di fatturazione in cui un utente ha crediti che ogni invio decurta a una tariffa configurata. Quest’ultimo punto conta, ed è il motivo per cui Jasmin finisce spesso nella rosa dei candidati. Ma siamo precisi su cosa sia: crediti per utente, non un sistema di fatturazione. Non c’è fattura, non c’è multivaluta, non c’è distinzione fra prepagato e postpagato, non ci sono listini per cliente su rotta e destinazione, non c’è albero rivenditori, non c’è portale cliente. È un punto di partenza molto migliore di un bearer nudo, e resta un punto di partenza.
PlaySMS. Quello che assomiglia di più a un prodotto, perché è un’applicazione web in PHP: interfaccia da browser, account utente con livelli che includono un gradino rivenditore, un saldo di credito semplice, gruppi di contatti e moduli gateway che gli permettono di pilotare Kannel o un modem sotto. Per una piccola operatività con una manciata di utenti può bastare sul serio, e preferiamo che lo sappia adesso piuttosto che scoprirlo dopo. Dove gli operatori lo superano è profondità e ritmo: listini per rotta, prepagato e postpagato in parallelo, fatturazione multivaluta, isolamento reale fra clienti, white label per singolo cliente, i canali nuovi, e una velocità di sviluppo che stia dietro a WhatsApp e RCS che cambiano le regole ogni trimestre.
Lo schema è lo stesso in tutti e tre. Lo strato di telecomunicazioni è risolto ed è gratuito. Lo strato commerciale è irrisolto ed è Suo.
Il confronto, fianco a fianco
| Kannel | Jasmin | PlaySMS | Smppcube v9 | |
|---|---|---|---|---|
| Costo di licenza | Gratis | Gratis | Gratis | 6,400 USD una tantum |
| Bind SMPP verso gli SMSC | Eccellente | Eccellente | Tramite modulo gateway | Kannel, dentro lo stack |
| Pannello di amministrazione | Nessuno | CLI (jCli) | Sì, di base | GUI web completa |
| Account cliente | Nessuno | Utenti con crediti | Sì, livelli di base | Multi-tenant con albero rivenditori |
| Controllo del credito | Nessuno | Crediti per utente | Saldo semplice | Rotte a credito, wallet e automatiche |
| Listini per rotta | Nessuno | Tariffazione di base | Limitati | Per cliente, rotta e destinazione |
| Fatturazione | Nessuna | Nessuna | Nessuna | Prepagato, postpagato, ricorrente, multivaluta |
| Portale cliente white label | Nessuno | Nessuno | Parziale | Per cliente, completamente brandizzato |
| Report leggibili dal cliente | File di log | File di log | Di base | Dashboard ed esportazioni |
| WhatsApp, RCS, voce | No | No | No | Nella stessa piattaforma |
| Supporto con un responsabile | Comunità | Comunità | Comunità | Fornitore, con SLA |
| Tempo al primo cliente pagante | Da 6 a 12 mesi | Da 4 a 9 mesi | Settimane, poi un tetto | Giorni |
Legga quella griglia con onestà e saltano fuori due cose. Le righe in alto, quelle di telecomunicazioni, sono un pareggio o quasi, perché stiamo tutti in piedi sullo stesso software. Ogni riga in cui compaiono i soldi, i clienti o il marchio è dove le opzioni gratuite si fermano e comincia il progetto di sviluppo. L’ultima riga è quella che finisce per contare di più, e fra un attimo le mettiamo un prezzo.
Le quattro lacune, con un prezzo su ciascuna
La guida sull’alternativa a Kannel ripercorre ciò che un bearer non farà mai per Lei. Questo articolo fa la cosa meno comoda e mette un numero su ogni lacuna. Le stime qui sotto presuppongono uno sviluppatore full-stack competente che già conosce SMPP, le ricevute di consegna e il denaro, un animale più raro di quanto sembri e che si quota di conseguenza.
Multi-tenant. Da 1 a 2 mesi-uomo. Account, albero rivenditori, gruppi di permessi, isolamento per cliente di contatti, campagne e sender ID, e un interruttore di sospensione che fermi un cliente senza toccare gli altri. Sembra un weekend di CRUD, fino al giorno in cui un bug fa finire la rubrica di un cliente dentro l’export di un altro: una telefonata che si fa una volta sola.
Fatturazione. Da 3 a 6 mesi-uomo, ed è qui che i progetti muoiono. Riservare il credito prima dell’invio, tariffare sulla rotta realmente usata, rimborsare correttamente su un fallimento definitivo ma non su uno temporaneo, rendere ogni operazione idempotente perché un retry della coda non addebiti due volte, tenere prepagato e postpagato in parallelo, gestire più valute e produrre una fattura che un ufficio amministrativo accetti. La guida ai modelli di fatturazione descrive la disciplina contabile che c’è dietro. La prima versione richiede un mese e sembra finita. La versione che sopravvive a un cliente che contesta una riga da 50.00 USD ne richiede sei.
Portali white label e report. Da 2 a 3 mesi-uomo. Un pannello con il marchio di ogni cliente: comporre, caricare una lista, controllare il saldo, tirare fuori un report di consegna, vedere una fattura. Più trasformare gli eventi DLR grezzi in qualcosa che il cliente possa filtrare e capire senza chiamarLa. Questa è la parte che i Suoi clienti toccano ogni giorno, quindi è anche la parte che non può sembrare uno strumento interno.
Esercizio e la tassa eterna. Dal 20 al 30 per cento della costruzione, ogni anno, all’infinito. Patch di sicurezza, una regola sui template WhatsApp che è cambiata, un operatore che ha iniziato a restituire un codice di errore nuovo, lo sviluppatore che ha scritto il Suo motore di fatturazione che accetta un altro lavoro e Le lascia un libro mastro non documentato. Il software non è un acquisto di capitale che si fa una volta: è un animale domestico da sfamare. Tutti modellano la costruzione. Quasi nessuno modella il cibo.
Faccia la somma: da sei a dodici mesi-uomo per una prima versione su cui metterebbe un cliente pagante, più una voce di manutenzione permanente. È la stessa cifra che cita la nostra guida su Kannel, e non è un numero per spaventare. È quanto costa questo problema specifico, ed è il motivo per cui le piattaforme commerciali esistono.
Costo totale di proprietà su tre anni
Numeri, allora. Le due colonne qui sotto presuppongono la stessa attività: un rivenditore con clienti da fatturare, sul proprio server. La forbice del costo dello sviluppatore va da un contractor competente in un mercato emergente, intorno a 3,000 USD al mese, fino a un’assunzione europea o nordamericana intorno a 8,000 USD al mese, una forbice davvero enorme e la ragione principale per cui questa decisione ha un aspetto diverso a Lagos rispetto a Milano.
| Voce, 3 anni | Open source, costruito | Smppcube v9 |
|---|---|---|
| Licenza software | 0 USD | 6,400 USD, una tantum |
| Server, da 40 a 80 USD al mese | Da 1,440 a 2,880 USD | Da 1,440 a 2,880 USD |
| Costruire lo strato mancante, da 6 a 12 mesi-uomo | Da 18,000 a 96,000 USD | 0 USD |
| Manutenzione, anni 2 e 3 | Da 7,200 a 38,400 USD | Il Suo tempo di esercizio |
| Supporto quando cade un bind | Buona volontà della comunità | Incluso |
| Totale di cassa a tre anni | Da 26,640 a 137,280 USD | Da 7,840 a 9,280 USD |
Prima che qualcuno ci scriva: sì, l’estremo basso di quella colonna open source è raggiungibile. Se lo sviluppatore è Lei, e il Suo tempo non ha un prezzo di mercato perché a quella scrivania ci sarebbe stato comunque, la colonna della costruzione crolla verso il costo del server e della Sua pazienza. È uno scenario reale e lo diciamo fra due sezioni. Quello che non è, è gratis. Sono sei-dodici mesi della Sua vita professionale, spesi su infrastruttura invece che su clienti, e pagati nell’unica valuta che poi non potrà fatturare.
E guardi la forma delle due colonne, non solo i totali. Una è un numero piccolo e fisso, del tutto noto dal primo giorno. L’altra è una forbice con un fattore cinque di dispersione, senza data di fine, e con una coda che non finisce mai. In un’attività costruita su margini sottili per messaggio, la colonna prevedibile vale già qualcosa di suo.
La voce che nessuno mette nel foglio di calcolo
Ecco il numero che rimpicciolisce tutto quello scritto sopra, e che non compare mai nei confronti fra fare e comprare che la gente pubblica sui forum.
Prenda i conti della serva del manuale sulla rivendita: dieci clienti medi con una media di 300.000 messaggi al mese fanno 3.000.000 di messaggi, e con uno spread di 0.0030 USD sono 9,000 USD di margine lordo ogni mese. Adesso ritardi di sei mesi il giorno in cui può attivare il cliente numero uno, mentre costruisce un motore di fatturazione. Sono 54,000 USD di margine che non sono mai esistiti, e questo è il caso ottimistico, perché presuppone che i clienti La aspettino. Non La aspettano. Firmano con l’operatore che era pronto a marzo.
Ecco perché il tempo al primo ricavo appartiene alla griglia di confronto ed ecco perché ce l’abbiamo messo. Ogni mese di sviluppo è un mese in cui non si vende, in un mercato in cui il fossato difensivo non è affatto la tecnologia: è la qualità delle rotte, il servizio, e la vischiosità di un cliente i cui sistemi sono già cablati sulla Sua API. Nessuna di quelle tre cose si conquista scrivendo un libro mastro dei crediti. Si conquistano avendo clienti, il che richiede di poter accettare clienti, che è esattamente la cosa davanti alla quale sta la costruzione.
Il contrappunto, detto onestamente: questo argomento morde solo se ha davvero clienti in attesa. Se sta ancora dimostrando che la domanda esiste, un lancio in ritardo non Le costa niente perché non c’erano ricavi da ritardare. Il che ci porta alla sezione verso cui tutto questo articolo stava andando.
Quando l’open source resta la scelta giusta
Preferiamo perdere la vendita piuttosto che venderLe 6,400 USD di software di cui non aveva bisogno. Quattro casi in cui il gratuito è corretto.
Lei è un tenant unico e non ha nessuno da fatturare. Un’azienda, un operatore, i Suoi sistemi che inviano i Suoi messaggi. Niente albero rivenditori, niente saldi cliente, niente fatture, niente portale. Kannel più qualche script è la risposta giusta, e una piattaforma multi-tenant è peso che porterebbe per niente. È il caso più frequente in cui diciamo di non comprare.
Sta ancora validando il mercato. Nessun cliente ancora, nessun contratto firmato, solo un’ipotesi. Un gateway gratuito e un foglio di calcolo sono un pilota perfettamente rispettabile, e Le costa un weekend scoprire se qualcuno La pagherà. Compri la piattaforma quando la risposta è sì, non prima.
Il software di gateway è il Suo prodotto. Ci sono team che stanno costruendo una piattaforma di messaggistica da vendere, o che hanno un requisito genuinamente inusuale che nessun prodotto commerciale modella. Se il software è l’attività invece che una tassa sull’attività, ovviamente lo costruisce. Costruirlo è il punto.
I Suoi volumi e i Suoi margini sono minuscoli. Qualche migliaio di messaggi al mese con uno spread piccolo non ammortizza una licenza in nessun orizzonte ragionevole, e non ammortizza nemmeno sei mesi-uomo. Resti piccolo, resti gratis, e sia onesto con sé stesso su quale dei due è.
Noti che tre di quei quattro casi sono lo stesso test vestito in modo diverso: lo strato commerciale è il Suo prodotto, oppure è la cosa che sta fra Lei e il Suo prodotto?
Decidere in un pomeriggio
Non Le serve un consulente. Le servono quattro risposte oneste, scritte dove poi non potrà aggiustarle.
Primo, ha clienti da fatturare? Se no, si fermi, usi Kannel, torni quando la risposta cambia. Se sì, lo strato commerciale non è opzionale e l’unica domanda è chi lo scrive.
Secondo, quanto vale davvero per Lei un mese-uomo? Usi un numero vero: quello che pagherebbe a qualcuno, oppure quello che potrebbe guadagnare con quelle ore facendo altro. Se la risposta è “niente, lo faccio per divertimento”, è una risposta legittima e la colonna della costruzione è appena diventata molto economica. La scriva lo stesso, perché cambia nel momento in cui avrà da fare sul serio.
Terzo, quanto costa un mese di ritardo? Moltiplichi il margine lordo mensile atteso per i mesi di sviluppo. Se quel numero è più grande di una licenza, la discussione è già finita e nessuna raffinatezza del foglio di calcolo la riporterà indietro.
Quarto, chi risponde alle due di notte? Non chi lo ripara prima o poi. Chi si prende il problema mentre l’invio notturno degli estratti conto di un cliente sta fallendo. Se la risposta è “io, e sono anche l’unica persona che capisce il codice di fatturazione che ho scritto”, ci metta un prezzo onesto. Quella è una persona, non una voce di bilancio, ed è il vincolo che in silenzio decide quanto grande può diventare.
Poi decida, e stia in pace con la decisione. Se le quattro risposte puntano sull’open source, ha la nostra benedizione e il nostro rispetto, e la guida al gateway self-hosted Le dirà a cosa si sta iscrivendo sul piano operativo. Se puntano dall’altra parte, quello che compra non è davvero software. Sono i sei-dodici mesi che si tiene per dedicarli ai clienti, consegnati come una licenza una tantum sul Suo server, con lo strato multi-tenant, di fatturazione e di portali già scritto e Kannel ancora sotto, a fare il lavoro in cui è sempre stato bravo.
DOMANDE
Kannel è davvero gratis?
Il download è gratuito e la licenza non costa nulla, esattamente come dichiarato. Quello che non è gratis è tutto ciò che serve intorno a un'attività di messaggistica: un pannello di amministrazione, gli account cliente, il controllo del credito, la fatturazione, i portali white label, report che un cliente possa leggere e qualcuno che risponda quando un bind cade alle due di notte. Kannel non ha mai promesso niente di tutto questo, quindi non è una critica al software. È un dato di perimetro. Lei non sceglie fra pagare e non pagare: sceglie fra pagare una licenza e pagare un team di sviluppo.
Quanto tempo serve per costruire fatturazione e multi-tenant sopra Kannel?
Da sei a dodici mesi-uomo di sviluppo per una prima versione su cui si sentirebbe di mettere un cliente pagante, e la stima presuppone uno sviluppatore che già conosce SMPP, le ricevute di consegna e la logica della partita doppia. Il primo ottanta per cento va veloce e dà molta fiducia. L'ultimo venti per cento, i rimborsi sui fallimenti definitivi, l'idempotenza perché un retry non addebiti due volte, i listini per rotta, la fatturazione multivaluta e la traccia di audit che chiude una contestazione, è dove i mesi se ne vanno davvero. E poi va mantenuto per sempre.
Non posso semplicemente usare PlaySMS, che ha già un'interfaccia web?
Per una piccola operatività, a volte sì, e merita una valutazione onesta. PlaySMS Le dà un'interfaccia web, account utente, un saldo di credito semplice e moduli gateway che possono appoggiarsi a Kannel, il che copre parecchio più terreno di un bearer nudo. Dove gli operatori lo superano è la profondità: listini per rotta, prepagato e postpagato in parallelo, fatturazione multivaluta, un albero rivenditori con isolamento reale, white label per singolo cliente, WhatsApp e RCS e voce nella stessa piattaforma, e throughput su scala da aggregatore. Se niente di tutto questo è nella Sua roadmap, l'opzione gratuita può essere davvero quella giusta.
Smppcube sostituisce Kannel?
No, ci sta sopra. Smppcube include Kannel dentro lo stack e lo usa per ciò in cui è migliore: tenere i bind con gli SMSC e muovere messaggi. La piattaforma possiede lo strato che non è mai rientrato nel perimetro di un bearer, la GUI, gli account multi-tenant, la fatturazione, i portali e la reportistica, e passa i messaggi verso il basso. Se già usa Kannel con bind tarati di cui si fida, se li tiene. Per questo il confronto riguarda lo strato di business che manca, e non la sostituzione di un pezzo di software di telecomunicazioni che funziona.