For command line apps, the equivalent would probably be statically-compiled binaries you can just drop somewhere in your PATH, e.g. /usr/local/bin/. For programs that are actually built this way (which I would personally call "the correct way") this works great!
Do you think Ford needs to get a cut if a user buys Michelin tyres of their Ford Car? Will you argue that Michelin needs to "pay into Ford for access to their market"?
In a Spring application there are a lot of (effective) singletons, the "which implementation of the variable that implements Foo is it" becomes also less of a question.
In any case, we use Spring on a daily basis, and what you describe is not a real issue for us.
How is that a loss? All Microsoft wants is a controlled space to push their own products/services. Google gave them a tool to do just that for free. Microsoft would absolutely be writing its own (probably worse) browser if Google wasn't so generous to give them on without Microsoft having to incur any development cost.