So, what happens if one license 0 project (A) wants to depend on another license 0 project (B)? The way I can see it, there's three possibilities:
* project A is now commercial and has to pay project B for the license
* a commercial project that wants to use project A now has to track down and pay both the owners of A and B (and any other license zero dependencies)
* a commercial project that wants to use A pays for A and B gets nothing for it because they are being used by project A (not commercial) and only incidentally by the commercial project.
> Customers who want permission for commercial or non-Open Source uses can identify, price, and buy licenses for all License Zero dependencies of their Node.js projects, in one checkout transaction, using a free command-line tool
As an aside: The fact that we're talking about buying licenses for something plus all its dependencies, recursively, in the context of node.js is hilarious to me.
Setting aside the practical detail that not everything is node.js: Nobody would want to sell commercial software under the terms of "you have to license our software A, but it won't work unless you also license software B from someone else at the same time".
There is already plenty of commercial software that depends on other commercial middleware that needs to be licensed separately. Of course licensing each and every library is typically bit different in scale, but conceptually it is pretty much the same thing.
Presumably that's where having a single place to handle payments comes in handy.
It's (hopefully?) less "well, you have to go to this other person and license their software too" as much as "here's the total cost for a license (which happens to include both A and B)"
Huh, fascinating. Licensing software by typing in a CC# via a CLI feels like a really foreign way to pay for something. I'm curious to see if that's behavior people take to easily.
* project A is now commercial and has to pay project B for the license
* a commercial project that wants to use project A now has to track down and pay both the owners of A and B (and any other license zero dependencies)
* a commercial project that wants to use A pays for A and B gets nothing for it because they are being used by project A (not commercial) and only incidentally by the commercial project.