Hacker News new | ask | show | jobs
by hijklmno 1874 days ago
What turns me off about NextJS is its "opt-out" telemetry. You have to do a bit of magic at the system level "npx next telemetry disable" to turn it off (which you can only figure out by an internet search). This seems very disingenuous on part of Vercel. Make it an "opt-in" or don't fricking track. Conduct a yearly survey or use some other means if you are so interested in improving the framework. I am open to other framework suggestions.
6 comments

Counter-opinion here: I am the maintainer of one of the most popular plugin for Next.js, and I am cruelly lacking data about how the users of my plugin use it, that would allow me to choose better defaults for it.

I don't have access to the Next.js telemetry data, but I could definitely need to ask the Next.js team from time to time: "so, are your users more using Yarn workspaces? Or npm link? Or something else?", etc.

For the same reasons some people complains about Ubuntu removing some features because they say "people don't use it", while people using those features tend to disable the telemetry. Sometimes, telemetry is useful.

It is not to spy on users, it is about making the best technical choices to ensure the best Developer Experience.

_edit: typos_

It's not really about the user spying though, it's about the decision of making the user default of "yes, please track my usage so you can make your product better". I would rather have you ask the question first even though I mostly say yes, but transparency is key here.
I agree with this, just ask for consent, it's that simple.

Also, about removing features based on telemetry, of course people are going to disable or block data collection and you will make decisions based on incomplete data. If you must remove something, do it because it makes sense and it fits within your vision for the future of the project you maintain.

Perhaps it would be better if there was a trusted co-op that ran a telemetry service that package maintainers could opt into and create integrations which could properly anonymize and provide open data for analytics. Similar to how npm shows the number of downloads.
I don't think anyone disagrees but lately the society has been talking about something called consent. That matters with software as well.
I hope users of OSS can get over this sentiment. With decent and anonymized telemetry data maintainers can make better decisions that benefit the majority of users. Without it, it is the loudest users who get the most attention.

There are major OSS projects with no telemetry that are hamstrung by their lack of insight about which platforms and systems their software is running on.

Everyone should have the right to turn it off, but I think this is going to become the norm.

Huh, TIL. Although the data it collects is seemingly benign [0].

[0] https://nextjs.org/telemetry

How bizarre. I've never heard of a framework with built-in telemetry, much less opt-out. I'm surprised this doesn't limit its reach in certain industries.

And this isn't just for their official hosting service? That would be much more understandable

It's extremely easy to disable the telemetry. Much more importantly, every time you start nextjs, half of the output is a big warning telling you exactly how to disable the telemetry.
NPM had a similar thing: https://docs.npmjs.com/cli/v6/using-npm/config#send-metrics

I remember discovering this a few years ago and was so annoyed that it was on my default and had to have this in my .npmrc:

    metrics-registry = null
    send-metrics = false
Looks like now it's off by default and they do not gather identifying information, I'm happy for this change.
that command just sets an environment variable `NEXT_TELEMETRY_DISABLED=1`, I wouldn't necessarily consider it system level magic.