I have been making considerable progress lately on building an interpreter. I am building it from NASM assembly code (for the core engine) and C (cl.exe the Microsoft compiler for the parser). I really don't have a lot of time but I have a lot of good ideas on how to build this so it appeals to a certain niche market. I'd love to finish this but I need to face reality here ... unless I can make some good monetary return on my investment, there is not a lot of time for me to invest. So I ask the following questions to anyone out there, especially those who have experience in monetizing their programs:

1) How easy is it for a programmer to make good money from one design? (I know this is vague but it will be interesting to hear from those who have experience or know of others' experiences).

2) What are the biggest obstacles to making money from a programming design?

3) For the parser, I am using the Microsoft compiler (no IDE) I got from visual express, so will this be an issue? Will I have to pay royalties or a license fee?

4) As far as I know NASM is a 2-clause BSD licensed application. So this should allow me to use NASM for commericial development unless I am missing something?

It's good to know these things before launching into the meat and potatoes of the project.

  • 1
    What need to you envision your interpreter fulfilling? What does it interpret? What can it provide that existing interpreters can't/don't? Given the plethora of free interpreters around, my immediate reaction is that you need something really special to make much (if any) money off of it, and you definitely need to be sure you're addressing a real market with a superior product. Apr 3, 2012 at 18:28
  • @Jerry: I've spent a great deal of time researching a particular problem in a particular industry. I just need to be certain I will get something in return for my efforts (from a non-design perspective). Time is precious, life is short. Apr 3, 2012 at 18:38
  • 2
    While I don't blame you for wanting to keep the target secret, doing so deprives us of information necessary to provide a meaningful comment on your chances of making money. Apr 3, 2012 at 18:41
  • @JerryCoffin: I have a lot of confidence in the design and usefulness of the interpreter. I'm not concerned about it being in demand from customers. My concern is in regards to the issues other than the design itself. Licenses, marketing, Mark Zuckerberg wanna-be's stealing ideas, Microsoft suing me, etc. I have no clue in these matters. Hearing anyone's thoughts would be good. Apr 3, 2012 at 18:45

3 Answers 3


You say that you're "not concerned about it being in demand from customers," but you should be very concerned about exactly that. How many customers are there that would be willing to pay for your work? How much would they be willing to pay? How will they find you and your product, or how will you find them? The answers to these questions exactly determine the answers to your other questions: How easy is it for a programmer to make good money from one design? and What are the biggest obstacles to making money from a programming design?

Take a look at mobile applications, for just one example. The iTunes App Store makes it easy for customers to buy and for developers to sell. Same with Google's Android Marketplace. There are a great many customers in both markets, but not many of them are willing to pay more than a few bucks per app. In general, it's not too hard for a competent developer to make some money on a project using these markets, but making a lot of money requires investing heavily in both development and marketing.

On the flip side, it's not hard to imagine a market where there are only a handful of customers, but the customers have deep pockets and are willing to pay handsomely for the right tool. Lots of businesses, especially small businesses, work on this model. To be successful in this realm, you need some real understanding of your customers, you need to be able to make contacts with those customers, and you need to show them clearly why they need your product. Without that, there is no demand and making money from your project will be exceedingly difficult.

  1. At least in my experience, the chances of making money are closely (and directly) related to the degree to which the tool is specialized. Generalized tools are a much more difficult place to make money.
  2. Competition. There are so many excellent implementations of such good languages already available for free, that you need something that's substantially superior to anything else (within its niche) before you have any chance of making money at all. If you're developing a new interpreter for an existing language, the existing implementations are obviously competition. If you're developing a new language as well, you have to sell not only your implementation, but your new language as well. Failing to supply a full development stack (IDE, compiler, run-time library, debugging capability, etc.) adds even more to an already difficult task.
  3. I'm not sure I follow. Do you mean you used Visual Studio Express to develop a parser than you compiled with their compiler, or do you mean you're actually using their compiler?
  4. Yes, at least as I read it, NASM's license only places restrictions on re-distribution of NASM itself. Using NASM to assemble some code does not (as I read it) place that code under any restrictions from NASM's license at all.

As long as you read and follow the license agreement, chances of being sued by Microsoft strike me as minimal. As long as you're developing for Windows, you're basically helping them out, so they're unlikely to sue unless you do something blatantly and obviously wrong.

As far as stealing your ideas goes, chances are that if you start to make much money, somebody will at least try. Many software people don't like it/them, but about the only protection available against that is patents, assuming you have something that can be patented. Getting a patent doesn't really protect you directly though -- it just gives you a tool to protect yourself.

  • Some useful insight here. For #3 the parser is a compiled function, statically linked and called from NASM, written in C, and compiled with the command-line Microsoft compiler (no IDE involved). Would do it strictly in asm but C is much easier for this part. Apr 3, 2012 at 19:28
  • @annoying_squid: I haven't re-checked their license agreement recently, but to my recollection, there's very little restriction on what you can do with code compiled with their compiler (all I recall is something about not developing an OS to compete with Windows). Apr 3, 2012 at 19:40

Your project seems like an ideal fit for http://www.kickstarter.com/. Design your kickstarter campaign to mirror a pre-order of your software, and advertise to your potential audience before you build the tool.

Not the answer you're looking for? Browse other questions tagged or ask your own question.