Questions I wish Yarn had answered on day one

Why wasn’t it possible to contribute their innovations to the npm CLI?

What are the tradeoffs of using yarn instead of npm?

If the npm installer is the problem, why does the JavaScript and Node.js community need a duplicate, but supposedly functionally identical implementation of pack, publish, run and init? If there are differences, why, and why aren’t they documented?

Why is yarn at version 0.x.x, hence marked unstable, when there is no mention of any instability — only Facebook using it in production. What is missing for 1.0.0?

Do they recommend switching immediately, or should people run careful experiments and report back first?

This is unstable software, but Facebook uses it in production. What are you waiting for?

How is yarn’s cache different from npm’s.

How is yarn’s checksum verification different from npm’s.

When it was previously discouraged or uncommon to shrinkwrap libraries, why is it okay to yarn.lock them now? What should package authors look out for?

Why is the default registry set to https://registry.yarnpkg.com? Who operates it, what is it used for, what kind of data will it store and analyze? What are the terms of use?


I know it’s hard work to prepare a launch that answers all questions people might have.

We’re pleased to announce the open source release of Yarn, a collaboration with Exponent, Google, and Tilde.
https://code.facebook.com/posts/1840075619545360

If you’re as big and influential as Facebook, Google, Tilde and Exponent, if you have a huge community behind you, that will happily adopt your software immediately, then please act responsibly with the community you’re building this upon and for.

npm’s mission is to take Open Source development to entirely new places. When everyone else is adding force, we work to reduce friction.
https://www.npmjs.com/about