Ask HN: Is there an open source SAAS framework?

2 points by yashchandra ↗ HN
If you want to build a SAAS app that has the usual components of user registration/subdomains, pricing, subscriptions etc, is there a framework out there for this ? preferably python ?

6 comments

[ 1.8 ms ] story [ 24.3 ms ] thread
Ruby on Rails is a big and popular one for Ruby. For Python, you can try Django.
sorry you misunderstood or I did not ask clearly. I am not looking for just a framework. I am alread aware of ROR and Django. I am looking for a framework that can help build Software-as-a-service (SAAS) applications.
There are OpenShift, and I think Joyent open-source its SmartOS too.
Too many of those features are particular to the application. You specifically mention using subdomains as user pages, but that's not necessarily how I'd do an SaaS app (or how too many others do). How do you bundle pricing and billing into an SaaS app beyond providing making certain libraries available? What payment provider are you using? Paypal? Braintree? Stripe? That depends on the subscription model you want to implement. Is your app a 30 day bill cycle? Paid yearly? Billed on the first of every month? Does it offer a 12-month prepay discount? What happens if account isn't paid up immediately? Is there a 30 day grace period? Is the account disabled immediately?

These are all decisions that each app has to make for themselves, and while sure, some of it could perhaps be rolled into a 'framework' that sits on Django or RoR, it's going to be difficult to get anywhere close to something most people wouldn't have to change.

As the target market for this would almost certainly be developers who can take a few libraries off of GitHub, tailor them to themselves, and have all the above functionality implemented within a day, I'd be surprised to find if something existed in the way you want.

Interesting points. Yes there are many parameters that could be application specific but i was wondering if some of them could potentially be provided as libraries ? for example, able to select subdomain style vs. others, set a billing cycle with certain parameters? etc. Or am I already too specific to be a framework ? Just wondered.
I mean, Django and RoR are typically (with high degrees of arguability) the types of frameworks people use for this sort of thing.

There are a variety[1] of[2] ways[3] you can implement subdomain keys in Django, but each is effectively downloadable from somewhere and installable, possibly just with pip.

Again, there are a myriad[4] of ways to implement payment processing and subscriptions using Django, easily installable, but picking the right one for your application type is up to the architect. Creating one monolithic payment library that supports every possible payment type, subscription method, payment gateway provider, etc., is just asking someone to build a bloated app. I'd much rather drop in 'payments-with-stripe' if I'm using Stripe as my payment gateway than to install 'omni-payments' and have to spend the day configuring it to work how I want, then worry about the size of the codebase and the likelihood of human error.

Like I said, most of the things you're looking for can either be dropped in or just coded in a day.

[1] - http://thingsilearned.com/2009/01/05/using-subdomains-in-dja...

[2] - https://github.com/tkaemming/django-subdomains

[3] - http://code.google.com/p/django-accounts/

[4] - http://www.djangopackages.com/grids/g/payment-processing/