KillBill – Open-Source Subscription Billing and Payment Platform
killbill.io
killbill.io
There's no reason that Chargebee, Recurly could not be emulated in open source software. The solution to the saas problem is simply a nice API + dashboard, with pluggable billing backends. You should be able to swap merchant accounts seamlessly, since that's the biggest point of failure.
What would be nice is a "launch KillBill on digitalocean" button (I think someone posted a Show HN like this recently?) so that you could launch your own service and start using it immediately.
More generally, I think a lot of SaaS startups are ripe for disruption from open source projects. However, many projects miss the mark of usability. What people need is a self-hosted, open source API that's as usable as chargebee or recurly, for instance. This means that OSS should be targeting microservice architectures more often, instead of self contained solutions with a bunch of wiring required. I want to see more OSS projects that are structured as a standalone app server with an API and dashboard, so that you can self-host but still get the benefits of a composable API.
A good example of an open-source project leveraging "microservice architecture" for self hosted solutions is Seatgeek's AB testing project, sixpack. [0]
I saw the DO button post this morning, pretty cool indeed. We've recently been playing with Docker to standardize our deployments. Pushing an image to DO should be easy.
http://killbill.io/blog/having-fun-with-docker-stripe-kill-b...
Do you offer paid support and hosting?
I'm asking because I'm a big fan and proponent of OSS, but I often struggle to see or understand the business models for OSS companies.
Good luck!
- How does this fit into the PCI picture, only thing I have seen on the site is a 2 line faq entry. Not enough to help on scoping or identifying requirements that would apply.
- How secure is it, and how are security notifications done? Keeping the software secure and up to date should be considered as critical. I would add a section on the site pertaining to security and addressing vulnerabilities. I did not see on the site information about security updates/patches. They might be on GitHub but it is way to deep to be useful to most people.
This kind of software is a perfect example of a high-value target for intrusion, I am a bit worried for the security of the information it contains, especially for smaller startups with limited resources, as well as zombie installations that can be forgotten in a corner with personal information or cards information inside.
Not saying it's a bad idea BTW, just a few concerns as a security analyst.
Regarding PCI, it's up to you. You can run it inside your PCI environment or delegate it to your payment provider (via CC tokenization).
It is very easy to setup a system in a corner (here, we'll install this piece of software, that will save us the 99$/month recurly subscription...) then forget about it until it is too late...
Some guidance would be very important, as well as mentioning ways to make it more secure, including tokenization, logging of CC numbers in server logs, knowing if the data transits through your server or not depending on provider, maybe even keep the software behind a a firewall without internet access, these can make a big difference in managing the risk.
As an open source project, you cannot be held responsible on what the people using the software is doing, but I think making sure that they understand that even if the software is free and easy to install and use, that additional work is required to make sure that the data is safe.
"logging of CC numbers in server logs" is an almost guaranteed way to make your setup not PCI compliant.
The PCI industry as a whole is missing a lot of this kind of guidance, in general. There's no "here's the minimum you need to do to be PCI Level X compliant". The reason is that the industry considers every situation to be different (I doubt most are all that different or if they are, 90% of them can fit into a handful of buckets), and you're supposed to hire PCI auditors to come in and certify you. Another reason there are no minimum guidelines is that PCI seems to be more about awareness than actual specific architecture. You can sidestep certain things as long as you document them and what your mitigating implementation is. This leads to...
Last time I went through a PCI setup, it was a unspoken spoken rule that if we hired an auditor that didn't certify us even though we thought we should be, we could hire a different auditor, and keep doing so until we got one we liked.
We had a difficult time trying to find a solution and recently just built our own package that would drop right into our startup. Another feature we wanted was portability of our business critical data like invoices and transactions so we went with a multi gateway approach so we can switch if we need to down the road.
For those who use Laravel the package is at http://github.com/mmanos/laravel-billing. We also worked a while back on an open source project for a time called Volcano http://github.com/volcano/volcano.
Please, please, please, whoever writes for this... make automated statement downloads a thing. Make it a fucking default option.
One of the main core values of Kill Bill is that you own your data: this is especially important if you focus on growth, so you can run real-time reports on MRR, churn rates, upsells, etc.
Once I discovered that I stopped investigating BT for our primary subscription engine. We just hold the card tokens and use BT to charge the card.
It's not ideal, but it does give us more flexibility.
A lot of start-ups make the "mistake" [1] of locking themselves into fundamental business services at the start: whether that's a payment provider, finance or CRM system. In my experience it's fine for a while, but you really feel the problems as you start to scale the business. Everything creaks and groans as you grow, and then you have to go back and fix the underlying business processes. Issues in some of these areas are actual company killers. Billing is a classic. Lots of companies fail due to running out of cash, and poor management of subscriptions and billing is often the underlying issue. There's a lot to be said for not getting tied in early on, and making sure the fundamental architecture is right!
[1] You can argue it's not a "mistake" as the primary goal is to relentlessly focus on shipping product that customers want.
Basically, what you need is:
- Firewall (default on almost any cloud host)
- No vendor-supplied default passwords (not audited, and you should do this anyway)
- Encrypt the credit card number IF YOU STORE IT AT ALL
- Put a privacy policy on your homepage
That's it. Super easy. Takes an hour. The hardest part is writing (or copying) a privacy policy. If you aren't storing credit cards, it's even easier to be PCI compliant.
[0] https://www.pcisecuritystandards.org/documents/PCI_DSS_v3_AO...
I mean, sure, but... there's got to be a better way to phrase that.
Groupon is also using the platform (https://engineering.groupon.com/2014/misc/groupon-adopts-kil...)
Anyone else have suggestions?
Kill Bill can 'talk' to payment gateways but can also go straight to payment processors, providing the plugin has been written (and we are working on that).
This is also the kind of enterprise/b2b open source project which you can reliably* turn into a $300-500m exit in ~5y or so. Covers a clear pain point, has clear revenue model, can sell packaged version and support.
[*] Not easily. But possible.
I also just checked out https://github.com/hillelcoren/invoice-ninja and it also seems heavyweight @ ~300k
I think sane businesses will just move out of Europe, where they don't have to charge VAT and script invoicing themselves with something like BrainTree. https://www.braintreepayments.com/landing/international