NoICE Debugger

Features

Supported Compilers and Assemblers

ARM7

68HC12

68HC08

MSP430

8051

68HC11

6502/65C02

Z80/Z180

6809/6309

8080/8085

8096/80196

Links

 
Home Download Purchase Tutorials FAQ NoICE Help

 

NoICE is Pay Software - Pay as in Mortgage

I am sometimes asked why I don't release NoICE as open source, so that people could add new features - support for Linux, GCC/DWARF, new target processors, etc. This essay explains my reasons, as well as some general thoughts on open source and free software.

NoICE began in 1992 as a hobby. It was a DOS-based disassambler with an interface to a target monitor (the same monitor still used today on Z80 and HC11). After a year or so of adding features, I started distributing it as shareware on Compuserve. It was more like stamp collecting than a business - my first order was from Belgium, which was pretty cool in those pre-Internet days.

In 1997 I ported (and mostly rewrote) NoICE to Windows, as much to learn Windows programming as anything else. Features were added and sales slowly increased.

By 2003, NoICE had morphed from a paying hobby into a small business. If I divide my pre-tax NoICE profit by the hours logged (I use TraxTime from http://spudcity.com), I find that NoICE pays me about one third of what contract programmers get paid locally. Better than flipping burgers, but less than I could make working on someone else's project. So personal satisfaction is still an important part of why I work on NoICE.

In 2003, about 35% of the time I spent on NoICE was technical support. This includes answering questions (many of them covered in the documentation), verifying bug reports and the like. I see that this is up from 26% in 2002, a trend which I hope does not continue.

My experience has been this: about half of my technical support time is spent working with people who never buy NoICE. I don't complain too much - I would much rather have someone figure out that NoICE won't do what they want before they pay me than after. But the fact is that I spend a lot of time on effort that makes no profit.

Now, I could blow off the payless clueless with an RTFM. But every once in a while, just as I am ready to give up on someone - and sometimes after - the light goes on, they "get it", and they become customers. Some of them become fans who promote NoICE to friends and on newsgroups.

The other side of my experience is that roughly 80% of the people who actually buy NoICE never send me an e-mail. No pre-purchase questions. No support questions. No bug reports. I'm sure that some of them buy the program and never use it, or give up in disgust. But I presume that most of them are able to use the program with no help from me. Which is really great.

So why don't I release NoICE as Open Source?

"Free as in freedom" (GPL) software is a wonderful thing. So is "free as in beer" software (I see that the Free Software Foundation is now saying "free as in gratis". I live within puking distance of a Big Ten university, so I can appreciate the change). I am very impressed by and appreciative of the efforts of the open source community. But Linus Torvalds began Linux while he was a college student, and Richard Stallman's income was not dependent on how many copies of emacs were sold. I have a friend who credits "thesis avoidance" as the major driver of most open source projects.

Linus now has a job. I have a mortgage and a hungry dog. Richard Stallman is still Richard Stallman. If someone wants to pay me for being a balding white male, then I can give away my efforts as a programmer. If someone wants to pay me to program independent of any revenue stream from the result, then I can give away my programs.

The FSF folks suggest that I should give away the software and charge for support. I don't know if Cygnus makes any money, but my experience with NoICE leads me to believe that most users don't need support and many that need support won't pay money. In any case, Cygnus doesn't really target individual users. They get paid by nervous companies that buy annual support contracts for large numbers of users.

Face it - most people don't use Linux or GCC because they can modify the source code. They use it because

  • it isn't from Microsoft
  • it is free as in beer
  • it lets you be hip and kewl and a part of all that slashdot stuff

I am a firm believer in volunteer work. I do network and computer maintenance for a local women's shelter. I have cleaned up and repaired computers for folks who otherwise couldn't afford them. I feel no obligation to donate software to middle class geeks who can afford to buy it.

So if you use NoICE, pay for it. If you think that you can write a better debugger, start coding. And if you want free as in beer, download gdb.

 
   
NoICE Debugger • Copyright © 2005 by John Hartman • Revised 13 October 2006