Can we get an idea of the use of a package by having the number of downloads (using Channels for NixOS project(s)) so that the maintainer is an idea of the package’s relevance?
This is an interesting, but probably impractical idea [EDIT: without changing things]. Forgetting about the privacy issues (which I won’t touch and are another subject to tackle) having the number of downloads is not possible “using Channels for NixOS project(s)”.
While the links for the channels are hosted on the nixos.org infrastructure, they redirect to a cloudfront S3 server, and this is only for the channels (simplified, the packages list). When a user installs a package, it (generally) uses an existing local copy of that list on their computer, and then asks cache.nixos.org for the cached pre-compiled packages. That domain name is another cloudfront S3 server.
I do not know if S3 has fine-grained enough analytics or statistics available. If they do, it would be possible to have numbers.
Also of note, this would work for anyone using the stock channels, and not causing too much rebuilds. As soon as a dependency is patched, or the software is patched, the binary cache won’t have the binaries, so the count would be skewed. (It may or may not be an issue with the specific statistics.)
Cloudfront and S3
S3 is an amazon service to host files; Cloudfront handles geographically distributed locations.
I’m not sure if i remember correctly that some numbers where given at the last NixCon.
I also thought of a service, that collects anonymous usage reports of NixOS like popcon in debian, so we can see which parts to focus on.
Here are some thoughts to develop such system: NixOS Usage Reporting - HackMD