That depends on your point of view. The percentage of people who actually engage in something and make an effort to reach out at all is truly microscopic for just about any piece of software - there are all kinds of theories you can posit as to the why, but that's the way it is. Hence why the importance for most paid-for software these days for detailed in-app analytics (which is not even optional for most "free" software on mobile platforms) because no opt-in anything gets a significant response rate.
[ Note that the "Feedback" form linked off steam-limiter's About box logs to a database but also actually IMs me directly, with no indication as to the sender's identity, so it's anonymous and low-effort and immediate; I've gotten perhaps 4 items in the entire time steam-limiter has existed. ]
When I was the lead developer on Symantec Ghost and made my home e-mail available on the forums there, I was typically perhaps 2-3 e-mails a day - from a userbase of hundreds of millions of individual installs on perhaps ~50,000 customer sites, from people who were paying for the software and thus had reason to feel entitled to support.
And oddly, of those I got more e-mails from people who actually were pirating the software than legitimate customers, and the people who were violating the license agreement were more demanding and ... well, difficult, whereas the real paying customers who came direct to me for help were unfailingly polite and appreciative (part of that being that they perhaps understood how unusual it was for a lead dev on a corporate product to be easily accessible).
In terms of raw download numbers all I know is what
Google Code itself tracks, which anyone can see in the right-hand column.
Beyond that I know only a small amount from the App Engine service that supplies the ISP configuration to steam-limiter; just like any other webserver there's a request log, and App Engine retains those for 90 days (and I don't download or retain those logs longer than that).
That webservice gets hit but the "Autodetect" button, when people install or upgrade, or approximately every 30 days to check for updates (although I could make the code auto-update, I leave that manual - honestly the upgrade indication should be more obvious, but it's one of those things where you're damned if you do and damned if you don't).
However, I chose to make the request URLs all indistinguishable; the only thing my webservice sees (and that gets logged) about the origin of a config request is the source WAN IP and the version of steam-limiter making it. I've deliberately made it so I can't tell whether people have hit a button, done a reinstall, or it's a 30-day checkin. I couldn't tell if there were multiple installs behind a single WAN or any details like that, so at best any estimate of actual running copies I could derive from the webserver logs would at best be a wild-assed guess.
Basically, that's because I don't want to know these things (and I've never tried to perform any detailed log analysis to even get a rough estimate of the number of running copies). Once every couple months I look at the webservice error logs to get a sense of people using it from countries I know nothing about (which there are a few of; for whatever reason there are a handful of installs in the US, UK, Canada, and some other really odd places, even though no user from any of those places has got in touch with me) but that's the extent of it.
[ If anything I'm perhaps a little oversensitive about the possibility of even accidentally violating people's privacy, but that's because I used to work at Symantec where we worked really, really hard to the highest ethical standards - and despite that people who weren't customers thought nothing of making up the most outrageous, complete and total lies about anything we did. When you have a horde of people looking for ways to pull you down and turn even an obviously customer-positive move into some ginned-up fake scandal, it can make one excessively cautious. ]
- Nigel