"Give it away give it away give it away now" -- TheRedHotChiliPeppers?
I'm sure that every programmer has had the dream of starting a little company and self-publishing his software. This is how a lot of big software companies got started -- with a single program and only a few customers. Today, the business side of software self-publishing is easier than ever. If you want to, you can put up a web page and let people pay-per-download your stuff. Or, you can pay for CD duplication and ship people CDs with nicely printed instruction manuals and everything. Many duplication companies will even do the warehousing and fulfillment for you.
The hardest part is producing a program which is good enough to sell. It has to be easy to install and use, and it has to be better than the competition, if there is any competition. It often has to present a beautiful GUI without being pompous. Writing programs for yourself is significantly easier, because you probably write command-line programs, and you don't mind modifying the source code and recompiling in order to change a parameter. Writing programs for the market is tougher -- or is it? Maybe all you have to do is take one of those programs you wrote for yourself and polish the thing.
When I was in school, I thought that self-publishing was the only way to make money programming. It isn't. But it seems like it would be a lot more fun than doing database maintenance for some insurance company.
Here's how to do it:
- Write the thing. Don't plagiarize anything or infringe any patents. Make it useful. Make sure it has very high quality. Test it yourself. Make sure all the bugs are flushed out. This is the hard part!
- Register it with your government's copyright office. This isn't necessary for any country that is a signatory to the Berne convention - which includes the US. It is necessary for GPL or other programs where payment is optional otherwise you can't collect damages from people who misuse your program. Then I think this is US-only advice Quite possibly, but it wouldn't hurt to check with local lawyer. In the United States, there are advantages to registration, if you have to litigate later. One is that the Copyright Office acts as a witness that you created the thing when you say you did. Another is that you can be entitled to additional damages, should copyright infringement be proven. The only disadvantage is that it costs $30.
- Get a business license. In the United States, there's a whole bunch of red tape you have to go through to get permission to sell stuff, because you're a greedy bastard for wanting to make money off the public, and the ignorant public has to be protected from you and your greed. (HaHaOnlySerious) I thought that all you have to do is register a fictitious name, which is really only require if you want to work under a name other than your own. This part varies from state to state. In theory you are also supposed to file income taxes quarterly (for federal taxes at least, and possibly state taxes, depending on state), however, if you don't make much, there isn't much penalty for not doing so to my understanding, but I am JustaProgrammer, IamNotaLawyer.
- Decide what license terms you want to offer your program under. You want to be fair to your customers, but you also have to be fair to yourself. You might want to consult a lawyer, so you can find out if parts of your license terms are unenforceable, illegal, or ambiguous.
- The simplest way to start out is set up a secure web page where people can enter their credit card numbers to download your stuff, and cannot download it otherwise. Naturally you'll make more money if they can read a lot about the product before they buy it. Maybe you should even offer a demo version of some kind. You should probably also run an e-mail list where you can answer support questions. You have to allow refunds, because people are going to be afraid of ripoff artists. Some people may exercise the refund options, though, so don't be too generous. Money back sounds about right. You should also be prepared to wait a while before the orders start pouring in. They might be a trickle at first. Some people might just wait six months to make sure you're not a fly-by-night operation. On the other hand, if your program is the next Doom -- well, no, id Software is making the next Doom, but you know what I mean -- then you might get a flood of customers. Using paypal is also a possibility, since setting up credit card processing is rather problematic, especially if you are just starting. PhilipGreenspun has a page on the topic, but I'm too lazy to go look it up.
- If you make enough money that way, then you can pay for CD replication, warehousing, and fulfillment. People like being able to have a disk and a manual, rather than having to download and burn their own, so this will increase your sales. You can even have DVD-ROMs made, if your data is that big. Until you take off, you can still print manuals cheaply (and have the bound at a place like Kinkos), and CDs aren't that hard to duplicate in lots under 50. Over 50, professional cd replication is quite affordable.
- You can even look into getting the proper bar codes on your stuff so that stores can stock it. You'll have to sell to them in bulk at a discount, but it can be done.
--
EdwardKiser (who hasn't done it, would like to, but is still stuck at the first step) and at least two anonymous contributors.
Note: The above advice was written June 13, 2001.
Another take on selling your creative work on HowToGetaPublishingDeal.