
Ask HN: Is there an open source SAAS framework? - yashchandra
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 ?
======
bmelton
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.

~~~
yashchandra
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.

~~~
bmelton
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...](http://thingsilearned.com/2009/01/05/using-subdomains-in-django/)

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

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

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

------
holoiii
Ruby on Rails is a big and popular one for Ruby. For Python, you can try
Django.

~~~
yashchandra
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.

------
esente
There are OpenShift, and I think Joyent open-source its SmartOS too.

