I'm the main author of a multiplatform free software/open source GUI program. Although the program gets thousands of direct downloads per month, I have no idea of the number of people regularly using it. It is also included in some Unix distributions and download sites making the counting harder. It would be interesting for me to know

  • How many people use it? Should I bother continuing development?
  • Which features of the program (dialogs, import filters, etc) do people most use? This would focus development.

I'm considering some form of anonymous feedback (with the user opting-in), where the program sends monthly reports of the time since installation (whole months), the number of times each dialog is used, number of files opened, the version number and platform. The user would be asked the first time this is sent and there would be an option to disable it. I think I would only do this after the first week of usage, to exclude one-off users.

Is doing this a good and ethical idea? I'm in the EU, so it's possible that data protection laws may apply.

  • EU also has a concept of being able to be "forgotten", just something you may need to consider Jan 24, 2014 at 13:17
  • 2
    Yeah that's too bad, in the US you'd be encouraged to spy on your users^^ Jan 24, 2014 at 13:32

4 Answers 4


Sending Usage Data

I have no negative opinion on sending anonymous data of a software's usage. As long as that this is a op-in only feature. With that said, I only enable such features for products from reputable sources. An unknown vendor would not get my usage data.

Instead of monitoring your users. Offer them alternative features that gives you the same data but in different forms.

Automatic Updates

Adding automatic updates allows you to monitor how often the software pulls for new downloads. This gives you an idea of how many activate installations there are of your software. Furthermore, users who op-in for updates checking are committed users. They want to stay on the edge of receiving new features.

Error Reporting

Add error reporting features to the software. When there is a problem users can submit a report of what happen. Include options for attaching usage logs, and other debug information to fix the error. This helps ensure a quality problem, and gives you an idea of how many users care that a problem is resolved.

Feature Requests

Add a way for users to easily request features from the software. This gives you better feedback at the time the user has the idea, and ensures better engagement with the user.

  • 2
    Thanks - I already have error reporting with debug information. It's useful, but encourages me to leave in bugs to find out numbers of users ;-)
    – xioxox
    Jan 24, 2014 at 14:03

IIRC data protection laws do not apply to anonymous data - it only applies to personal data held against the person.

I wouldn't do what you suggest simply because someone will notice and your reputation will get tarnished. They will assume you need it to sell to Google for marketing purposes.

So first thing you need to do is tell the users what you're doing, and let them opt-out. If they opt-in, send whatever usage data you like. The trick is to be totally transparent about what you're doing.

  • Not necessarily. He can warn that these data will be sent on a monthly basis and that they won't be sold to a third-party (also that the report can be deactivated in a menu, most people will be too lazy to change it, especially if the warning is the installation, that is to say not right before the use of the software). Jan 24, 2014 at 13:37

I think it's not only ethical, but also mandatory for developing quality applications.

You should ask the user before, of course, and letting them to switch off the data collection.

  • Good point. I mostly participate in such programs for giving the developer(s) a clue about what's cool in their software.
    – Marcel
    Jan 24, 2014 at 13:55
  • But how do we identify anonymous data per devices? Else we may get multiple submissions that will bloat figures and where do we store this data? In our domain sql database? Feb 20, 2021 at 21:56


Always let the user know what you're collecting, and why. If at all possible (in this case it's possible) require the user to opt in.

If it is found out that you are collecting this information without user knowledge, you will come across as shady at the very least. The damage that this causes usually outweights the benefits of the data, and many users will opt in if you make the case that opting in is like voting to improve those features they use the most.

  • 2
    I thought it was clear from my question that it would be opt-in, with the user asked first.
    – xioxox
    Jan 24, 2014 at 13:32
  • Fair enough, I didn't catch that on the first read.
    – Don Nickel
    Jan 24, 2014 at 13:36

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