Earning Money with Open Source Software? 279
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?"
Value Earned is Experience & Recognition, Not (Score:5, Interesting)
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 [sourceforge.net], 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.
Keep a closed-source version (Score:1, Interesting)
Projects like VirtualBox do this sort of thing.
Can you provide a service with the software (Score:5, Interesting)
The alternative approach seems to be in providing extended support serivces for the software as does Redhat.
FOSS != Money unless you're willing to spend time (Score:5, Interesting)
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.
Re:Learn from thes one who have succeeded (Score:2, Interesting)
revamp all gui to be web-based (Score:5, Interesting)
Sell the .EXE files (Score:5, Interesting)
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.
sell a service on top (Score:5, Interesting)
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
all about the portfolio (Score:2, Interesting)
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.
Making money w/ FOSS (Score:5, Interesting)
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.
Re:Sell the .EXE files (Score:3, Interesting)
Of course you might try to prevent that with some sort of legal stuff, like using some form of General Ripoff License insted of GPL, that would disallow the distribution of executables. But then you might as well keep the thing closed source.
Forget it (Score:4, Interesting)
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.
Re:revamp all gui to be web-based (Score:3, Interesting)
They may develop 10 online shopping cart apps for 10 different online retailers, but they will all be based on the same code and have the same bugs/security holes... Often the only differences will be branding and any specific customization a particular customer has demanded. However every customer will be charged for the same man-hours of coding time, even tho most of the code doesn't get rewritten.
Do it like others have.... (Score:3, Interesting)
I buy it on a regular basis, and recommend it to clients and friends.
From personal experience... (Score:2, Interesting)
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 [pykota.com], equivalent to around 1/3 to 1/2 of my full time job's salary.
Still missing the holy grail (Score:4, Interesting)
More Options Than You Think (Score:3, Interesting)
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.
Re:Are you new here? (Score:5, Interesting)
A better idea would be to approach large groups and get paid in advance to help them write tightly focused internal use manuals.
The #1 rule to making money, which everyone in the IT sector seems to forget, is this:
Demand payment upfront.
Speaking from personal experience (Score:3, Interesting)
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).
Service is the worst job! (Score:2, Interesting)
Re:Making money w/ FOSS (Score:3, Interesting)
Re:Learn from thes one who have succeeded (Score:3, Interesting)
Listen to Michael Tiemann (Score:4, Interesting)
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 [oreilly.com]
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.
Here is what I recommend! (Score:2, Interesting)
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 made it possible through SaaS but (Score:3, Interesting)
Example: CATS Applicant Tracking System (Score:3, Interesting)
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/ [catsone.com].
Re:Are you new here? (Score:3, Interesting)
It's a nice soundbite, I'll give you that. The moderators clearly liked it. Why? Do hammer makers make good carpenters? Are violin makers necessarily great musicians? Do pigment grinders make great painters? Do I need to go on?
Your analogy is so badly broken it's laughable.