8

I lead/contribute to several open source projects, primarily Python libraries available on PyPI. I know that the code is getting used, but I have no data regarding number of users, number of installations, or usage frequency. I'm looking for ideas about how to collect such data.

Here's what I've considered:

  • Github stars or Flattr/Patreon contributions. These require logins for those services, which may not apply in my case. In addition, I don't want financial rewards.

  • Mailing list messages and issue tracking activity. Both of these seem like poor proxies for the desired stats.

  • Phone home UDP pings. Users (and I) typically dislike tracking. Unfortunately, this does seem like the best way to get the data I want. (I would be happy to provide a kill switch for concerned users.) Also, it would be nice to have a reliable receiver with analytics, and I don't want to build that.

  • User satisfaction services. UserVoice, UserResponse, GetSatisfaction, etc are overkill for me.

So, the question: What do other open source projects do? I'm particularly interested in the case of a Python package that's used by other tools, but this would apply libraries in any language.

5
  • 4
    Seems like you've already listed most solutions: Firefox has analytics (which the user can turn off), programming projects use mailing lists, chats, and bug trackers (because developers tend to use these services). What you didn't say was what kind of open source projects you are talking about (the nature of the project changes the nature of the users which in turn changes the best solution).
    – Zimm i48
    Commented Apr 12, 2017 at 10:18
  • 1
    @Zimmi48 this should be an answer ;) Commented Apr 12, 2017 at 12:31
  • Eclipse was or is doing some. In particular Mylyn. Python pip pings one a week to check for updates. Commented Apr 12, 2017 at 12:32
  • @PhilippeOmbredanne Done ;)
    – Zimm i48
    Commented Apr 12, 2017 at 12:34
  • If there were an existing UDP receiver with analytics (as a service), I'd probably go with that since it's closest to what I want. Seems like a startup idea. The only catch is that some fool will flood the service just for kicks. :-(
    – Reece
    Commented Apr 12, 2017 at 20:49

2 Answers 2

10

It seems like you've already listed most solutions:

  • Firefox has analytics (which the user can turn off);

  • programming projects use mailing lists, chats, and bug trackers (because developers tend to use these services);

  • larger companies use user satisfaction services (not limited to FOSS).

What you didn't say was what kind of open source projects you are talking about: the best solution depend on the kind of users you have, and the users depend on the nature of the project.

3

The most suitable solution for collecting usage data in open source projects depends on the type of project and its user base. Consider:

  • Libraries/Frameworks: Leverage package manager statistics and engagement on platforms like GitHub.
  • Developer Tools: Utilize issue trackers and pull requests on collaboration platforms.
  • Applications/Software: Incorporate analytics tools or opt-in telemetry within the software.
  • Web-Based Projects: Use analytics tools like Google Analytics or Matomo for website tracking.
  • Community-Driven Projects: Engage with users through mailing lists, forums, or dedicated channels.

Choose an approach that aligns with user preferences, respects privacy, and complies with the law.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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