- the tool under discussion has to be something "enterprisey", since
only at least medium-sized companies pay for customized software,
support or consultants. If you wrote e.g. a RSS reader or anything
else that definitely targets the single end user you're out of luck.
- the tool has to be obscure / complex / buggy / ... enough so that
consultancy is even necessary. Again: if you have a well-written
little RSS reader it is unlikely that enough questions arise that a
paid support is even necessary.
If it's something like a little RSS reader, there's no money to be
made off it anyway, certainly not in a competitive market if you play
fair. If there's no market for the ancillary expertise due to anyone
and his brother being able to do it, there's no market for the
software itself for the same reason. Someone will make something
compatible and sell it cheaper. Someone else will do it and make it
FOSS. You won't be able to compete on price OR quality in this case.
The reason to write such software is when it directly benefits your
own productivity through your own in-house use, and then there's no
reason to be stingy and not open-source it since you derive the
benefits of its direct use anyway, and releasing it encourages quid
pro quo (you may get nice free tools and not have to write them; you
might get bug fixes or suggestions from other users of such stuff
savvy enough to modify the code).
- you as the author have to be able and willing to dedicate a lot of
the time following into consulting and/or maintaining the software. If
you already have a day job you're unlikely to have enough spare time
that you can spend to follow this business model. Customization takes
time. So does maintaining and supporting an application.
If you already have a day job you already have a steady paycheque and
no need to charge for the software.
Conclusion: I am definitely a friend of OSS, but the idea that seems
to go around that an OSS business model is the one and only way to
earn some money with software is just bogus.
The only ways to earn money with software that depend on charging for
access to the software itself are by their nature coercive and
extortionate. They are also doomed in the long term because your
competitors can always undercut you on price without any loss in
quality. Microsoft is learning this lesson right now. They're reaching
for any legal bludgeon they can invent (software patents for example,
or a "trusted computing" mandate) to kill open source competitors by
criminalizing them, all because they cannot compete in a fair and open
market. Only aggressive marketing and questionable business practises
enabled them to become rich in the first place, that and a lack of
access to alternatives for most consumers for a long time before
widespread access to broadband developed in the industrialized parts
of the world.
And for the OP: I wouldn't care too much about crackers and key
generators. Unless your software /really/ catches on the problems
arising from these guys are marginal.
Anybody using such wasn't ever going to pay for the software anyway.
Actually, scratch that -- some of those using such methods would never
pay no matter what. Making it harder might force them to use a
competitor's software but it won't get your hand into their pockets
successfully. On the other hand, some of those who crack it might
later pay, if they derive benefit from the software and decide it's
worth subsidizing its further development and maintenance. More than
those who just play with your crippled free version, who will just be
annoyed by random and arbitrary restrictions and have a generally
terrible user experience that will put them off ever sending you a
dime.
Why not make the full version free, but offer a registration
certificate or something for a certain amount of money? It may turn on
frivolous features of the software or just a personalized greeting or
something, or let you get early access to bugfix-test beta versions or
something. Plenty will just use the software and never send you a
dime, but they'd likely never have sent you a dime no matter what you
did. Others may gladly pay if they know it will finance further
development of the software, including some that never would have if
subjected to any sort of coercion or made to feel obligated to pay.
You could probably get away with giving the fully-functional version
for free and selling a snazzy "pro skin" even. This works for the
Limewire folks. (They also sell T-shirts. The "pro" version isn't
actually any faster than the free one, despite what they claim; it
just tends to make more redundant connections to hubs to make it
slightly more stable in connectivity perhaps.)
Oh there are lots of creative ways to make money without ticking off
your prospective customers, denying the use of your software to the
poor, or using threats, extortion, gratuitous cripplage, or any copy
protection crap that just adds bugs and subtracts features. Nobody
wants to pay for added bugs and fewer features! Outmoded "copyright"
business models just use the increasingly unenforceable copyright laws
as a crutch to lean on in a futile attempt to avoid the obligation to
innovate. It's red queen syndrome though -- you have to run faster
just to stay in the same place. If by some means (becoming a complete
fascist police state?) the US began to really successfully enforce
copyrights, it would just cause the US to rapidly fall behind other
countries, particularly China, which looks set to topple it and take
on the role of world superpower in the next few years *anyway*. If
they don't, copyright-reliant businesses within the US are quickly
outcompeted by innovative firms with other business models. It's the
whole protectionism-vs.-free-trade thing again, only with information
flow and services instead of physical trade goods. History repeating
itself in the usual manner when someone failed to learn from it. Free
trade won the last few rounds. Anyone want to bet against the proven
champ this game?