Updated March 20 2009:
The best and most complete survival guide for serious open source development is Producing Open Source Software - How to Run a Successful Free Software Project. It is free, comes in various formats, is full of useful advice and best practices for open source developers. It is even well-organized and well-written.
Now you've got all the tools necessary for success in open source, what are you waiting for ? A product idea, perhaps ? ;-)
I found some interesting comments in an article from 2006, Making a Living Building Open Source Software?
The major themes are:
davek | So where's the money come from? That's what everyone's trying to figure out. The subscription model is one, selling support licenses is another. I'm trying to find a way to sell complete systems, so the value isn't so much in the software but in the labor put into building a complete open source system. |
Anonymous Coward | I run the Symphony OS project (http://www.symphonyos.com/ [symphonyos.com]) in what free time I have. In the last year since the project has grown a bit the best month of donations we have had was about $95. That was with one person donating $50 ... Over the last year the project has received maybe $300 between cd sales and donations. |
99BottlesOfBeerInMyF | ... Plan number three, release code for free and try to get companies to adopt it and pay you for support and customization. This is probably your best bet at this point.
You need to find out what current companies charge for support and what they charge for their software and meet or beat their prices; or, you need to provide significantly more functionality. You need to get some good sales guys and give them the advantages of your product over other products. Main advantages you hold include the fact that it is open and thus they can migrate to other systems and that you or they can customize it to meet their needs. Find out what their current software doesn't do that they would like and make yours do it, just for them. Emphasize the personal service as part of a support contract that is semi-annually renewed or whatever. This is your revenue. |
attackpenguin | To have a profitable business, software support and customizations should be used as a secondary form of income rather than the primary. This is because you will always be limited by how many support contracts you can actually work on in a certain period of time. Especially with a small/one man company.
Selling software under a license/per-copy model makes a lot more sense. You can do the other things you need to do to get your software out there (marketing,answering customer/client emails,etc) and still have the money coming in to pay the bills. The support comes in as an after thought (your client likes your software and wants X,Y, or Z features added). |
martinflack | A great deal of what corporations will pay for is the assurance that something will positively get done. ... The customer purchases a promise from you to apply a certain amount of attention to the project and provide a path of convenience for them using it.
Examples: - Assurance that they can visit your web site for news, downloads, documentation, contact information at any time. - Assurance that you will fix all genuine bugs in a reasonable amount of time. - Assurance that you will provide help in installation, which most people (rightly) see as the hardest part of acquiring the software. - Perhaps, ways to obtain the software in more convenient, more timely, more automated, or better packaged methods than visiting your web site and downloading a tarball. - Perhaps, printed manuals which are more likely to get read because they land on an employee's desk. - Perhaps, telephone support. ...and maybe more. ... In business school I had the epiphany that just because you can get something for free doesn't mean people wouldn't pay for it; nor do you need to only ever charge for "tangible" things (using the term loosely). The key is that people will pay for things that are even free *today* for the assurance that they can still *rely on them being there later* [ Ed. Note: Like bottled water, for instance ] |
Another list of ideas includes, no particular order:
For what it's worth, some folks say they can make a living with Apache Tapestry applications, mostly Java applications, which may be significant.
Dan Bricklin's article How will the artists get paid? may have some insights that are relevent for Open Sopurce developers. He identifies three types of income for artists:
Performance: The artist gets paid by someone to have access (perhaps exclusive access, in the case of physical art like sculpture) to the art whose content the artist has chosen.
Patronage: Someone provides money to meet the artist's needs without restriction on the content of the work they create.
Commission: The artist does specific work using their skills at the request of another in return for payment.
Clearly there are parallels to developing Open Source applications.
Some interesting comments from Damn Small Linux creator John Andrews on earning an income from a Free and Open Source project. Actually, it's not good news for the most part. From the article:
Here is a quick list of ways to earn money:
- Advertisement
- Donations
- Selling your software
- Selling related items
- Selling custom one offs of your software
- Selling consulting
I've listed them in the order of importance.
Notice that customization and consulting are at the bottom of the list ... there goes the small business market I've been touting. One might think that this list only applies to OS development, but the sentiment agrees with other comments and sources as well. As one example, where is the fabulously promising market for building high-quality, low-cost office automation apps using Open Office ? After years of being on the verge of a breakthrough, it still virtually non-existent. Huge potentialities just sit there year after year waiting to be "discovered", business rules and rule based systems among them.
One of the few Open Source success stories is the use of Drupal in non-profit organizations. This may imply that it takes a combination of a set of Open Source application in the context of some 'vertical' application ( specific domain area ) to consistently produce income from customization and consulting. Open Source alone just isn't enough to cut it financially.