Business model for Open Source - advice wanted
frank at chagford.com
Thu Jul 10 16:13:52 CEST 2003
I would like some advice, and I hope that the good people on c.l.p
will give me the benefit of their experience.
I am busy developing an accounting package, using Python and wxPython,
together with PostgreSQL on a Unix platform or SQL Server on a Windows
platform. I am a qualified accountant and have been developing
accounting software, mostly customised, for over 20 years. I have now
got myself into a position financially where I can take a few months
off and write "the perfect system". No, not really, but I have built
up a lot of experience over the years, I have a lot of ideas about
what I would like to see in a system, and I have decided to give
myself the opportunity to see how good a system I can actually write.
At some point quite soon I will have to start generating some revenue
from my efforts. I have a number of people interested in what I am
doing, and I was planning to start selling it as YAAS (yet another
accounting system) and see how many customers I could get.
As an alternative, I have been toying with the idea of releasing it
under an Open Source license. Part of my thinking is to put something
back into the Open Source community - I love working with Python,
wxPython, PostgreSQL, etc, and it would be nice to contribute
something. The other part of my thinking is that it should be
possible, with a sound business model, to make a viable income out of
supporting an Open Source product. However, as I have no experience of
this, I was wondering how other people survive financially in the Open
Source world. I have no "big daddy" that will pay me to pursue my
dreams, so whatever I do has to bring in a reasonable income.
Here are some of my ideas - any comments will by much appreciated.
The essence of a business model must be that the source code may be
free, but you have to pay for support. I believe that accounting
systems more than most systems need support, and that a sensible
company looking for accounting software would not consider anything
that was not supported. Therefore it is important to decide what kind
of support should be offered, and how to persuade customers to sign up
The software must be downloadable and runnable by anyone, and it must
be fully functional, at no charge. I realise that there is an option
to restrict functionality in the free version and make it available
only to licensed users, but then you are into security codes, source
code protection, etc, which would at least partially defeat the
object, so I am not thinking along those lines. There will be full
online help (it will probably start off sketchy, but I will improve it
over time), and maybe there should be an FAQ available. That, I think,
is all that should be free.
I would like to open a free discussion forum (probably a mailing list)
to discuss the software from a technical perspective. I am an
experienced programmer, but I am nowhere near being a Pythonista, so I
am sure there will be many areas ripe for improvement. I would like to
remain open to as much of this kind of feedback as possible.
However, any support of the software from a business or accounting
perspective will be available to registered users only. For a monthly
support fee (I am thinking of a range of $50-100 per month - let me
know if it is too high or too low) users will be able to request
support via email, which will be responded to promptly. I have a small
staff at present, and if this idea is successful I will plough money
back into expanding the support infrastructure.
To retain registered users once their software has settled down, I
have in mind a website restricted to registered users which will
provide sufficiently interesting content to persuade them to keep up
their registration. The main content I can think of is enhancement
requests - it is the nature of accounting software that there is a
continuous demand for enhancements, and I intend to keep on enhancing
and improving the product. I envisage a forum where users can forward
ideas, and others can respond/comment/criticise until there is some
consensus. A roadmap of agreed enhancements can be posted on the free
website, which will hopefully attract more users into signing up so
that they can participate.
Here are a couple of pitfalls that I can see, and my possible
solutions to them. Firstly, a user will be able to terminate his
support contract at any time, and the software will continue to
function. Therefore some may be tempted to stop paying until they have
a problem, then pay for a month, get an answer, and stop again. My
thinking is that 3 months must be paid up front to activate a support
contract. Secondly, a consultant may use my software to build up a
client base, pay a single support fee, and use that to support all his
clients. I don't think I can (or even want to) prevent that, but I can
restrict it by limiting each contract to a single email address for
replies to support queries.
These are my thoughts so far. Any comments - suggestions, warnings,
personal experiences - will be much appreciated.
More information about the Python-list