Earning Money with Open Source Software?
An anonymous reader writes
"I've been working on a financial application which I've decided to release to the public. I want to make some money from the application, though I certainly don't expect to become a millionaire. The problem is that I'd like nothing better than to open-source it. There are many aspects of the application that I don't have time to refine, and other developers could definitely improve upon my work. However, I don't know how I earn money from something once I've made it open source. How have you dealt with trying to turn a reasonable profit on your work while remaining open-sourced?"
FSF view on selling software
Also: Software as a service
Finally, there is also consultancy for your own project. You need help installing it? You want a feature? Hand over the cash!
No, I haven't done it. Mainly because I'd rather not be my own boss. The payoff is high, but so are the risks. I'd rather be a wage-slave and let my boss bear the risks.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
I think that OSS doesn't make money as software for an individual, but it allows him or her to increase his or her visibility.
This is not a signature.
Learn from the ones that have succeeded, such as mysql or zend.
I'd suggest you start a company, as you are more likely to be taken seriously by possible clients. And become 'the' company to go for support, customization, etc.
There must be products who have succeeded as a one man show but honestly I can't think of any.
Also, drop the 'I don't have time to refine' attitude. If you want to make money, you have time to do whatever your clients require, unless you just feel it's wrong for your product and refuse to do it altogether.
In short, if you really want to make money, your priorities have to be the ones of your clients', unless you are confident that what you feel like doing today is what someone else will feel like buying tomorrow.
By the way, is anyone using it already?
For whatever reason, people often assume a false dichotomy between open sourcing code and making money. This isn't the case. A simple example of this is the ability to donate to any project on sourceforge. So a simple effortless option is to sign on to SourceForge, register your project and make yourself the sole dev. Then you just need to sit back and wait for all those donations to roll in!
Likely source of income? Not really.
So let me tell you something that happened to me. I had, in one of my classes, built an interface to GOCR (not Jack Black's band but the Gnu Optical Character Recognition project). This was a while ago. It was in C and it was shitty. I mean really shitty. I didn't even open source it. The teacher liked it though, maybe she still uses it, I don't know. Whoop de doo, right? I made a GUI to a command line tool.
Fast forward 2 years. I'm out of college and it's a bad market for developers. I show up for an interview with a company I had no idea was even into software. I show up in khakis and a button down shirt. Everyone else is in double breasted suits. I figure I'm screwed. But when I get into the interview, we started talking about open source and--wouldn't you know it--GOCR! The woman who interviewed me had used it on a project and started complaining about the command line. So I told her what I had done and talked about the algorithms and how it recognizes characters. I told her why my interface was so crappy. I got the job and I've been working there three years--they even allow me to do crazy research stuff at work!
Did I directly make money working on open source? No. But I think I got the job just on that conversation. I kinda wished I had checked in that interface as I'm sure it's lost somewhere on the university network now. What if she had actually used it?
I suggest you open source it, work with others to make it better, give it time to propagate. Then submit your resume to any place you want and list it on there. If you've made the Firefox of financial apps or prove you really understand how to design financial software, there's a lot of places you could go.
My work here is dung.
From my experience, the best means of leveraging Open Source Software would be using the Saas model. Usinng the Saas model there often are additional opportunities for income such as advertising or other tie ins.
The alternative approach seems to be in providing extended support serivces for the software as does Redhat.
Sell T-shirts and mugs.
Oh wait, that's musicians.
If you don't have time, or you're just too lazy, to continue to add updates, and you want to make a quick buck off of it, don't OS it. It's that simple. OSS companies tend to sell support, and possibly custom-tailored upgrades.
If you think it'll be mildly popular, and you really want to OS it, throw up a paypal donation link. You may not get as much, but you'll be staying true to your scruples.
Your choice.
Easy! Just follow the ESR method:
1) Wish *really hard* that some way exists.
2) Compare proprietary software to the Holocaust.
3) Insist that it's feasible to subsist on money from writing software if you don't have a mortgage or kids and camp/forage at MIT.
Apology to Ubuntu forum.
There are a lot of podcasts on making money with open source here:
http://itc.conversationsnetwork.org/index.html
You may need to look around a little.
I have made money indirectly from open source. Basically I through it out there and some people picked it up. When they needed other projects worked on I was contacted.
Documentation is more important than code I can tell you that much. Installation documentation, user documentation and most importantly programmer documentation.
and then provide the basic-feature part of the service with ad-supported revenue while charging for custom in-house solutions. After making in-house solutions and getting paid for them, release the software open source. They paid you to write the solutions -- not to own them. This way the project goals will be set by customers (and necessity is the mother of invention) and at the same time the software will remain available to those who want to tweak it.
Any guest worker system is indistinguishable from indentured servitude.
I can't tell from TFA whether the "financial application" is a server or desktop application. Assuming it is a desktop application then I would point out that open source code does not have to mean open binaries.
Try to separate your markets. If you give it free to people who would not buy it anyway, then your increase your visibility and your network effect. You might also get some patches back.
So put the source code online, maybe even try to get it in the Linux distributions for more visibility.
However, charge for the Windows binaries/installer. Most Windows users will pay $20 rather than have to figure out how to compile it. If they do compile it anyway then their time is worth less than $20 so they could not have afforded it anyway.
My little Linux and tech blog
I want to make some money from the application, though I
certainly don't expect to become a millionaire. The problem is that
I'd like nothing better than to open-source it. There are many
aspects of the application that I don't have time to refine, and
other developers could definitely improve upon my work.
Wow, blatant self-contradiction within three sentences! If the application
makes you money, then by definition, you can afford some time to work on it.
I'm the author of LiarLiar, an open source Voice Stress detector. Over the years, I've had several offers from various individuals and companies to further develop or improve upon the software. If you develop software that has enough demand, you may be able to offer support services for your software. Don't expect to get rich, or even be able to make a living for that matter.
The most important thing to keep in mind is, make sure you have a backup source of income. Either a job or something else, as it is unlikely that you will be able to make enough supporting an open source project, unless it becomes very popular.
We've done quite well with open sourcing our antispam product http://firetrust.com/en/products/oss/mailwasher-server by giving away the main product and selling a value added service on top of it - this being an enhanced spam filter service we run.
I think the giving away something for free and selling a few enhancements is probably the easiest way to make money, much more so than consulting and support which directly takes up your time.
Nick
This just causes one problem. What if another developer chooses to improve the open-source version, then you can not use that improvement in your closed-source version as the developer has the copyright over the improvement code.
And what if it was a bug-fix and not an improvement, would you then have to keep the bug in the closed-source version?
Wether your software is OSS or not hardly matters anything - unless it's a small desktop app or something. Marketing otoh is key. If your software is ready for market and you have a working developement pipeline up and running be sure to prepare professional branding of your software and it's future community before hand. All successfull OSS projects have solid marketing, good looking websites and are generally attractive to work with and give money to. I'd also not underestimate donations and sponsorships.
We suffer more in our imagination than in reality. - Seneca
I'm by no means a rich person, but I've landed my career [ideal job] because the people who hired me were already avid users of the software I give out for free.
Basically, it works along the lines of market. If what you're doing is useful, well done, and people need it, you'll be rewarded. With money, praise, attention, a job, who knows. If what you're doing is not useful (e.g. what 99% of script monkey developers do) you'll scrape by and be largely unrewarded.
Just because you can make something compile and tarball it up doesn't mean you're doing something useful. You need to identify a know deficit and provide a solution.
One of the more annoying things that OSS folk tend to do is ship out some untested 0.01alphabetaomgbbq release, then start whoring themselves out. Worry more about the quality of what you're doing, rather than the attention it's getting. If it's truly well done and useful the word will spread.
As someone who hasn't applied for a job since college, I can definitely say this strategy has potential.
Also, drop the 'But they'll send me to Federal pound me in the ass prison' attitude.
My work here is dung.
You sell OSS the same way you sell to anyone else: you sell to people who want to buy because they value what you offer.
There's not necessarily a lot of overlap between people who need financial software and people who know how to build and validate software that they downloaded from the net. Those people value software that works out-of-the-box. Give it to them and charge them for it. There's also not a lot of overlap between people who treat their money as if it were important and people who entrust their financial data to an unknown app from a provider they can't identify. So be the known, trusted source for a known, documented app and charge people for it.
Be sure to make it possible for people to do what you want them to do. If you're going to make it open source with the idea that others will pick it up and make improvements, thoroughly document what's there, how to build it, how to give changes back, how those changes will be moderated, what you'll do when two people submit conflicting changes, and all of the other stuff that's required for an ongoing open source project to which people will contribute.
By the way, there's a lot of open source out there, but not nearly as many open source developers. If you've got an app in which you yourself are no longer interested, you don't necessarily have the next million-developer piece of software sitting on your disk. No disrespect intended; I'm just saying that you may want to do a reality check before you get too far into this.
Errr... isn't that kindof ignoring the point of open sourcing something? So that customers can have some sort of control and assurance that they will be able to use and modify the program in years to come (when the submitter has lost interest)? So that future generations can use and modify it?
Here's how I did it.
Once upon a time I was a completely unknown, but reasonably competent, software developer. I worked for a big mainframe maker. The software I worked on was proprietery and completely invisible.
Many suspected mainframes were all but history. I decided to learn to write for a different platform: PC, Unix. So, I bought a PC, taught myself C/C++. Now what? There was a open source project whose software I used. I felt it needed a big feature. The author wasn't interested in doing it, but was very helpful in getting me started on interfacing with it. I ended up writing a big plugin for it.
That piece of work gave me some personal visibility and credibility in the open source community, and a "portfolio". When the layoffs happened, because of my work on the project, I knew some folks at a shrinkwrap software company. My "portfolio", a demonstrated ability, got me a job with the shrinkwrap company. --- My old employer, the mainframe maker, spiraled down the bowl into oblivion.
The point of the story is that the software I wrote in the FOSS model didn't make any money for me, but it gave me, an introvert with little public persona, nor desire to have one, visibility and credibility to those who would hire me.
That may work for you too.
This is actually exactly what I was going to suggest. People running Linux are often either programmers themselves or interested in free/open source software. People running Mac OS and Windows, however, are obviously willing to trade money for the convenience of a point-and-click installer.
There's another option depending on how well you've defined a core/UI split--open-source the core engine, but charge for the GUI (or possibly for a web interface).
There are three core reasons to open-source -
* to solicit improvements (see Linux)
* to facilitate adoption (through implementation transparency, see OpenVPN and TrueCrypt)
* for personal reasons (to brag or to support political agenda, see libevent or IO language)
These can be mixed and matched, but it typically helps to understand WHY you are open-sourcing. That's a first step.
Second step, if you want to make some $, is determining (funny enough) your business model. You can make money off the open-source either via the support or via dual-licensing.
Support model does not really scale, because in order to earn twice the money, you have put a double effort. It is also more of a sales task, which you may or may not have an inclination or an ability to so.
Dual-licensing *is* a way to go, but it implies that the code is non-trivial, solid and mature. Otherwise it does not make any sense for a 3rf party to become dependent on something that's not quite ready with an uncertain future. This automatically implies that you should not be open-sourcing the code that needs work.
Keep in mind that it's often possible to find someone willing to purchase the project as is from you. Depending on the arrangement you may also retain a right to influence further development of the product and/or land a mid-term contract gig.
2c
3.243F6A8885A308D313
So you've developed crappy software, you don't want to put the effort into making it good, but you still think people will pay you money?
You are Bill Gates, and I claim my five dollars.
Les Miserables Volume 1 now up with my reading of
Or is it at the point where it's essentially a "nice idea" that's been taken to about typical shareware quality? Something that's not even close to standing on its own as a traditional boxed product, revenue generator without a lot more development work put in by a lot more people?... People that the goal is to get for free from the Open Source movement rather than actually hire?
Back during the dotcom days, I'd get approached daily by someone new from sales or marketting within the large multi-national I was at. They heard I was a good coder and they wanted to know if I'd be willing to join their start up as the lead coder.
I'd check their business model. They always planned the same thing: Who's paying for this? "We'll get VC interest." OK, what idea do you have? "We'll find someone with a cool idea and fund it with that VC money." So you're planning on getting VCs to fund you, to do the VCs' job, with you then taking the millions dotcoms are supposed to make their owners? I don't see this working. At that point, I always politely declined.
Just as I questioned their entitlement to make money and, on a less manipulative level, their simply having deluded themselves... I'd question anyone who doesn't really have a fully featured product, that's not at a point where it can make money on its own, without needing Open Source devs to take it to the next level for them - work they won't pay for because it's "open source" but they'd still like a reasonable profit from for themselves.
Without knowing more about this program, I can't give very specific advice since the best exploitation route depends a lot on the target market. Talking to other people who write financial applications, I've been told it's a great market to be in because the government changes the rules every year and so there is always a demand for new versions. This being the case, you could possibly sell a service for people getting early access to the new rule-sets for this year's rules.
Selling support is a popular way of making money from Free Software, but remember that support in this context does not mean telling people how to install and use it (that's what documentation is for), it means being willing to modify the software to create something that exactly matches the needs of the customer. Free Software gives you an advantage over other consultants doing this because you already have a program that you know well that does 90% of what the customer wants, so you only have to add the remaining 10%, while your competitors might have to start from scratch. And, of course, you only need to make the changes once and can then use the modified version as the starting point for the next customer.
I am TheRaven on Soylent News
It's virtually certain you will not make a living from free software.
Our business model is to have a core GPL'd product that is solid, but geared for sysadmins and technical people. We then have a more user-friendly and spiffy product layered around it that is traditional proprietary software (although we do ship with source which is somewhat unusual.
Hard-core techies or FOSS-only people are happy with the GPL'd product, and others buy the commercial product. The GPL'd product is also a good hook and marketing vehicle, as well as a proving-ground for new ideas, scalability enhancements, etc.
The trick is to get paid, or enter a contract to be paid, before you do the work. People need some functionality, and you write it for a price. As a byproduct, you release the code as free software. It gets easier over time, as you and your code gains reputation.
I have made a living that way for the last 12 years.
It is a change of mindset, you get paid for your work, not for your code, just like if you were an ordinary wage slave. The difference is that since your code is free, you are too, you won't lose it when switching client.
There's a lot of insightful information here already, so I'll just add a bit and reinforce some... There's nothing in the GPL (any version) that says you can't charge for your software. Whether people will pay is another story, since they don't have to. But, many people don't want to compile or jump through hoops installing, or even downloading the software in the first place. So, one way to start is to just offer the disks for sale. Almost anybody will pop $5 for a pre-burned disk with a reliable install routine on it. Since CDs cost about 25 cents apiece, and take about 5 minutes to burn, and cost about 50 cents to ship, you're still $4.25 up not counting your labor. If you find you're selling a lot of them, you can always hire a fulfillment service. That'll drop your per-unit sales profits a bit, but it takes workload off you so all you're doing is collecting checks. Adding the project to Sourceforge is a good way to get help, if you haven't the time, inclination, or wherewithal to put the finishing touches on it. There's no money in that, but it improves the product and its uptake. Support is a good way to make money, but if you don't have the time or resources for that, then you may not want to put it out there at all. Besides, outside of corporate users, paying for support sounds like crime to most people
Fair Use wizard http://www.fairusewizard.com/ makes some money and that is completely OSS. You can find guys that have recompiled the OSS release but it's always behind the main release and has no support.
I buy it on a regular basis, and recommend it to clients and friends.
Do not look at laser with remaining good eye.
You can earn some money with entirely Free Software, although I can't live only on this for now.
What I do is give free access to subversion tree to everyone.
But I sell login accounts which allow people to download the software in packaged form (tar+gzip, Debian, Ubuntu, RPMs) including the compiled PDF and HTML documentation (vs SGML only from subversion), for a modest amount (25 EUROS or US$, and yes I know this is definitely NOT the same).
All people who pay to download such packages are allowed to redistribute them under the terms of the GNU GPL v3. In practice, to my knowledge nobody did. It would be interesting to know why...
In addition, I sell 8x5x365 technical support contracts.
Provided this is not a full time job, I think I do pretty well, equivalent to around 1/3 to 1/2 of my full time job's salary.
Votez ecolo : Chiez dans l'urne !
I've been working in a software company I founded with my friends at university some eight years ago. We have created a software platform for certain industrial computation tasks and believe it could very well be used in many other applications, especially for research purposes. We have frequently spoken about open-sourcing the platform, but always faced the same question: where's the money? We get a decent income for the applications we build on the platform, but haven't been able to figure out any financial benefits on open-sourcing neither the platform nor the applications. Following the discussion here it seems that no one really has found a working solution. Selling support or custom upgrades is not what we really want to do as engineers, is it?
Hi, I own since 4 years an Open Source company called Docebo (www.docebo.com), we offer an e-learning platform developed by us but released under GPL because we don't want that the customer pay for every student and we also want that the customer own all the software, data, code and course without being "linked" to us. We are based in Italy We have as customer italian Branch of SKY Television, AON Insurance and many other companies that generally have more than 50 Milion U$ or more than 500 Employees, next challenge will be market our services worldwide. Your problem is not a "software" problem but business problem, your problem will not be develop a software but find customers, you will not be a developer but you will be a manager. More verticalized is your product more money you can do, more services you will find more business meeting you will have ...
Regards
Claudio
These comments remind me of some of the things said in another slashdot article on recognizing good programmers.
I hired a dude a couple of years ago who, like you, didn't have a lot of experience.
He did, however, have a very impressive FOSS portfolio, and could show all kinds of code he wrote in support of various projects. This involvement suggested that:
0) He cared enough, as a developer, to get involved and donate his time and effort to a project, and
1) He saw his contribution as one to the "greater good" (and not entirely for personal gain), and
2) He had the stones to put his code out there for others to review and use.
YMMV, of course--this fellow got the job, and has done quite well at it.
"Beware of bugs in the above code; I have only proved it correct, not tried it." -- Donald Knuth
How would you make money with this as a purely closed source app? To make money as a closed source app, it has to have some polish and depth of functionality out of the box. You'll have to put it into it precisely what you say there isn't time or energy for. Implicit in making it a FOSS app is the hope that others will supply some of that time or energy but you have to trade off at least some of the personal exclusivity you could enjoy if you keep it proprietary.
If you go some sort of FOSS route then is there any data this applications depends on to run. Financial apps in many domains have to be aware of tax rates or some sort of other specific data that has to be compiled for it to be useful. Compiling that data and keeping it current is at least as big a job as writing the code. If your app is in that category, then I suggest opening the code and charging for the domain specific data it needs to be useful.
There is nothing preventing him from giving customers the source under different licensing options.
I have a client who was on the receiving end of this for a collaboration and time tracking software suit. It ended up costing them about 10 times the normal software costs and they had to allow audits of any software that they resold but this company didn't sell software. They needed the source to develop integration with other software that was made for them years ago but were still using. In all, it worked out pretty good but it was expensive and the license doesn't allow them to use the code in commercial applications they create, only in the context of getting the original software to work with the applications.
I have a feeling though, this brush with open source is because there are elements he thinks others could improve better then he could. Not as much as wanting the client to have the code or anyone else to have the ability to use it. I think going with an open source on part of the code and asking for rights assignments from contributors that would allow use with propriatary applications could work. In that situation, he could have a separately named product with professional support and documentation and an open source project of the same things the might not be as polished as the real deal.
I was surprised to see how much polish and refinements are on some of the Pay versions of Open source software. It almost does the Pay version injustice having the free and open version associated with them. I mean consider red hat's renaming which got around this little issue. Now instead of Redhat enterprise linux and red hat linux, you have Fedora which in name separates bugs and nuances and stuff from the RHEL software. It allows the professional versions to be sold without the negatives of people not knowing what they are doing and blaming something that shouldn't be blamed or talking down the pay offerings based on their experience with the often bleeding edge free offerings.
Look, I'm trying to get my software business rolling and I'm finding four things:
a) Selling commercial packages for Windows is extremely difficult online. You really need to have a highly trained sales force and a serious marketing budget. Corporations can pay you the big bucks, but, you need to lay out some big bucks yourself. Unless you plan on trying to be a millionaire, its probably not realistic to try and cater to vertical corporate markets via shareware or online software sales. It costs a ton of money to get in there... unless you hit the jackpot with that simple utility or game that everyone just have to have.... but there's a lot out there.
b) Advertising revenue from being the main web site for free software often exceeds the revenue you can get from shareware anyway. This surprises me, but, I've spent far more time bashing my head against Windows shareware world but the Linux world, for a lot less investment, is making more money for me. It may be that my writing is better than my software, for sure, but, those little google adsense keywords do pretty good.
c) There's really more interest in Linux, and, bigger players can give you some serious help. For example, IBM has an excellent solutions directory and keeps a database to help hook your system up with potential clients. That can translate into development work for you, to add new features, and really as more of an architect or senior level person (having designed the original project), then, at a lower rate a normal code-drone would get.
d) Developing for Linux, or just having a site out there, can impress a lot of people in IT, and in some ways, better than Windows does. Everyone does Windows, and so being involved in Linux sets you apart. I have a client that's a closet Linux fanatic, and once I admitted that I too, love my dual opteron (until the SATA chip died), running Linux, our relationship got a lot better and I find myself being involved in ever cooler projects.
So, yeah, there's this belief out there that Linux equals starvation whereas Windows is money, but, its a complicated world out there.
Options abound. Here's one crazy thing I've heard of. As the copyright holder, there's really nothing that precludes you from selling both versions of the same product. You could sell your product for Windows, for sure, and you could open source it for Linux, if you like.
Another thing you could do would be to offer your software as FOSS, but host a web site as a service that does it. Yes, you would in effect allow other people to create competition for you, but, usually, the biggest problem you have isn't the software, but getting people to buy into the idea that you have being your software. If you create a program to make a service that is FOSS, and suddenly a 1000 web sites pop up making it, you've in effect gotten free advertising for your concept, and the advantages of that cannot be understated.
All I can say is good luck. In 2008 I'm going all out Linux - as soon as I get my Opteron mended -, and for the reasons I've listed, I think I'm more likely to make myself a millionaire giving software away than I would be selling it under Windows.
This is my sig.
You've got several choices:
1) Sell Training
Write books, on-line training, seminars, whatever, and sell that as an adjunct to your open source project. Of course, those can be open source as well.
2) Sell Customizations
Offer to develop custom features or just consult on deployment. Some of those may be rolled in to a future version of the existing package if that makes sense.
3) Sell Support
Get people to buy support for the package and offer telephone/email support for issues. If the application is critical to a business, they may pay to have support on hand.
4) Sell access to the code under non-GPL license
Some applications are release GPL, but offer the option of paying to get a closed source commercial license.
5) Split the package in to open and commercial packages.
Bundle the basic system as open source and then have add-ons that are commercial. This is sort of getting them hooked on the free version and then hoping they grow in to needing the features of the add-ons.
Regardless of which method you pick, you should realize it takes a lot of work develop a successful community around a piece of open source software. If your plan is to just throw the code out under an open source license, you're likely to fail. You need to promote your product, develop a group of users, have forums/lists for them to communicate, encourage developers, review and work on submitted code, and you need to spend time participating in those activities. Even then if your product isn't unique and interesting enough you won't get a following. Bottom line is that you need to be really committed to your open source project and it had better be best of breed or users will move to alternate choices.
I wouldn't bet my family's ability to eat on this. The problem isn't that there isn't money to be made on support. The problem is that a single person working his garage on software is not a support organization. Consequently, when it comes time to release that software, serious people (the kind with money) with a serious need for support (the kind they're going to bank their business on) won't trust a single individual for support. So your software will flow freely out, the support need may arise and support dollars may exist, but it's quite a gamble to assume they'll flow to you rather than to someone with a brand name and a committed resource of people that can stand behind a claim of support.
It's easy to want to believe you're going to get the money. But you are loads safer and much more likely to be right if you assume someone else will get it. You'd better assume you're going to get nothing and be satisfied with that. People may tell you otherwise, but I'd be surprised if they'd place money on that bet.
Advice, especially from evangelists, is cheap to offer when the one doing the offering doesn't have to deal with the consequences of being wrong. Don't let anyone convince you that doing something that is in the best interest of you and your own financial needs is some form of paranoia.
Of course, it's possible that the willingness of others to make free software has sufficiently driven down the price of software that there's no money you can make by selling it either. That's a different matter entirely. In that case, maybe you can sell service (supported by your own software, without releasing it), or maybe you just have something the world regards as worthless. That would be sad. But being sad would not make it impossible.
Kent M Pitman
Philosopher, Technologist, Writer
This is an age old questions, was asked on /.s several times. Here is one from 2005: http://ask.slashdot.org/article.pl?sid=05/03/01/2145223&tid=117&tid=98&tid=4
Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
If your open-source project gets you some cred, you should easily be able to find work doing customisations for businesses. There are usually far more people who would like to use your software than the number of people who are capable of installing and setting it up. Works for me anyway.
The conclusion I came to was to sell maintenance, upgrades, training and data conversion. I include the complete source code and database schema and its all very nicely documented. I cannot distribute the compiler because it is not open source ( Delphi Enterprise which includes all the runtime source ) but I include very specific instructions on how to set up the development environment and all the 3rd part bits that are required.
Doing so game me the option of including MySQL server at no cost as the database for smaller implementations. For larger implementations they are required to purchase Oracle since at the time MySQL 4.x simply could not handle the load.
So yes you can make money doing open source. Only the people that use it are required to have access to the source code, you do not, in my opinion have to make an announcement to the world that anyone can snag your product just because they feel like dorking around with it. It is available for download if you know where to look. And no I am never going to put it on any source forge.
Some will argue that this violates the spirit of GPL or FOOS, but I submit that it does not violate the rules themselves. The source is there, you can get it, but it will cost you money to be able to build it
Hey KID! Yeah you, get the fuck off my lawn!
It depends a lot on the type of product you have developed. I also created a financial software application (Data Loader) to support a data service offered by Standard & Poor's. I originally tried open sourcing the thing and realized it was such a niche product, that no one would really have any interest in helping out and that it would be easier and faster for me to add features and guide the product without external intervention. Additionally, the user-base would never exceed 10-20 people i dont think.
If your product will attract a lot of attention and be of use to lots of people, then it may be more advantageous to open source. My main problem with open sourcing an application is as follows. Lets say your application could save a company 10 000 dollars a year (which is roughly what mine does). If you open source the project, there may be enough incentive for a company to simply take the code and adapt/customize it themselves without paying you a dime. If you left it closed source, they would be more inclined to pay you a licensing fee than to go without the product since its saving them a good deal.
So id say you need to compare how inclined potential clients would be to simply take the code and run versus the possibility of garnering attention from having an open source product and selling services/support for the product (which would only happen if it reaches a large user-base).
My experience in the field tells me one should get a paying job instead of providing "customer" services. Business customers are nut and they will only drive you crazy with their stupid and unreasonable demands.
No software is ever going to make you money, closed-source, open-source, or free. What makes you money is your *contribution* to the economy, ie the value you create, and your *reputation*, *popularity*, or *fame*. So the recipe for success is: Build something people want (value) and gain popularity and reputation for your contribution. If you have some popularity and reputation it's then not that hard to make some money by selling services, minor products associated with your contribution, etc. Focus on popularity and getting as famous as you can. And the best way to do that is to build something people want and give it away for free. Afterwards, when people start using it, it's easy to start offering other associated services and products for a fee.
Many, many years ago Michael Tiemann wrote a brilliant article on this very topic.
He and a couple of friends started Cygnus software, investing $6,000 to get
started. They added features (well, in the end pretty much built) the
GNU development tool chain. Their customers were embedded developers.
Here's the article:
http://www.oreilly.com/catalog/opensources/book/tiemans.html
I'm really sad to have come in late on this discussion because this
article is a must read for anyone wanting to make money writing free software.
Tiemann, et all became very rich doing it this way (Cygnus was sold
to RedHat for $600 million -- although a venture capital company
walked away with some of that money).
My quick take on it: Get money up front. Get paid for development,
not software. Realize that marketing is probably at least as
important was programming.
I really believe there is still a huge niche for custom software
development built on free software. Over 90% of software development
is in house development (OK, it's a number I pulled out of my
ass, but I think it's accurate). Your job as a free software
developer that wants to get paid is to convince companies that
you can deliver software to them cheaper than their in house
teams.
So what you need to do is to get a track record in the niche
that you want to work in. Then you need to hit the streets
and knock on doors. If you build it, they may or may not
come. You need to market your work. You need to show these
companies the potential for using your services rather than
building it themselves, or buying it off the shelf.
As Tiemann showed, if you do it right you will have more than
enough work to keep you fed.
1. Software as Service and sell subscriptions, similar to the 37 Signal's Basecamp
2. Create online clubs, and charge for the club membership in different packages ( 3 month, 6 month, 12 month ) and within the clubs offer latest releases of the source code, documentation, and access to the community forum where members can meet each other and learn how to further customize your code, or read your tutorials on how to maintain use or customize your applications.
3. Get sponsors and display their logos on the hot spots on your support website
4. Your source code will be downloaded around the world, so on the software splash page or "About" page list the name of your sponsors. Be careful about using Google Ad words, because your online community might backfire. Sponsors are good, because when community members like your product, they tend to like your supporters too.
5. Make your Software as modular and vanilla as possible. Put together a a software development team and sell customization services. All companies have slightly different needs, so there is good money in offering training and customization services. Remember that customization cannot be mass produced, therefor it is often in demand.
6. Organize development and administration training sessions and bootcamps and charge for it. Train consultants, or offer consulting services about your product.
7. BUILD A COMMUNITY FOR YOUR SOFTWARE ( very important ) Members give you constant feedback on how to improve your product, test and report bugs on a public tracker, they take the word out, and help each other out on how to use and customize the application. Basically you reduce the cost of product development, marketing, and support. That means you'll hit the break-even much quicker and become profitable.
Making money from open source is still a new concept, and new models are being created ever few month, so stay alert and learn.
A business model is like yet another algorithm. It is a box that you put 100$ in and you get few hundred dollars out, and once you have that box, everybody else would be happy to put in money too. So focus on getting the algorithm right.
I provide hosting, support and implementation services for SQL-Ledger (sql-ledger.com) which is also an open source financial application. Although I did not develop sql-ledger, I am developing a number of addons and patches which I am releasing to the community through my website (http://www.ledger123.com/). I selected the best possible platform (joyent accelerator http://www.joyent.com/accelerator/) for my hosting so that my customers could just forget about issues with security, reliability etc. Added round the clock support to customers and free support to community and result is not bad. Making enough to feed a full time staff of two and one part time sysadmin. But I had the luxury of taking a mature open source application and build business around it.
While the Exhibit B clause does add some additional restrictions that may not be quite as "open source" as GPL'd code, it does provide a good balance between supporting the open source community and making a profit. Our Exhibit B clause is below, if this helps.
CATS Public License 1.1 Exhibit B:
Additional Terms applicable to the CATS Public License:
You MAY NOT use the Licensed Software to operate in or as a time-sharing, outsourcing, service bureau, application service provider or managed service provider environment.
The following copyright notice must be retained and clearly legible at the bottom of every rendered HTML document: Copyright 2005 - 2008 Cognizo Technologies, Inc. All rights reserved.
The "Powered by CATS" text or logo must be retained and clearly legible on every rendered HTML document. The logo, or the text "CATS", must be a hyperlink to the CATS Project website, currently http://www.catsone.com/.