We believe the best way to future-proof our platform is to align with standards and help push the web platform forward, hence our sugar and take on top of Web Components.
Also to your comment about using different frameworks, again as a platform, allowing our customers to trivially include their framework choice of the day, will mean that we might end up having to load seven versions of react, five of Vue, 2 Embers .... You get the idea :) Outside the platform we love all the other frameworks (hence other properties might choose what it fits their use cases) and we had a lot of good discussions with framework owners about how to keep improving things over the last two years.
Our goal is to keep contributing to the standards and push all the things to be implemented natively on the platform so we all get faster and better.
They have basically done that by making LWC a pure ES6 implementation. If you look at how one authors LWCs, then you'll see that you're very much at home if you have worked in React or Angular using JS or TypeScript. It's basically, conceptually the same as those other frameworks and all your JS experience applies.
The difference is all the styles and widgets that make their JS library (called Salesforce Lightning Design System (SLDS)), plus all the decorators and how they work.
Here's why I think that Salesforce should be praised for the direction they have taken in the last two years or so...
They have completely revamped and sped up the Lightning UI so that speed is not an issue anymore. They have also flattened their authoring environment to ES6. To get this done, they have taken the bold step of dumping their old Lightning (Aura) framework for this new LWC framework.
That means if you're an enterprise who's invested in the old Aura-based framework, you're basically screwed and now have a dead codebase. But, it also means that no one has to use that old, crappy framework anymore.
And, here's the most important thing that Salesforce has done to bolster it's own ecosystem. With Lightning Web Components, if you are looking for Salesforce devs, it's now a lot easier to hire SQL-savvy Javascript devs who can adapt their React experience to LWC.
Then why make the framework open source in the first place? The definition of open source is not owning the framework.
In fact, the very first sentence of the introduction explicitly rejects your proposed definition: "Open source doesn't just mean access to the source code."
At least that is my understanding from Angular, Vue, Ionic, Svelte and plain VanilaJS point of view.
https://reactjs.org/docs/web-components.html
The big issue is browser support. According to caniuse, IE and Edge simply have zero support while Opera and Safari have only partial compliance. The current Firefox ESR doesn't support it either (behind a flag).
The polyfill incurs a big performance hit and a lot of devs need to support those browsers for several more years.
Firefox, Safari and Chrome based browsers are perfectly fine.
Opera is based on Bink nowadays.
ESR is not something that I regularly see in the wild.
In any case, I was speaking that only see this anti-WebComponents attitude in the React community.
The Shadow DOM and Custom Elements are not that kind of green it should be.
Yes, it is possible to not use them; you can always make your life harder than necessary, you could also write an modern OS in assembly, for example, if you wanted to. If people are avoiding them today, one reason could be that they want their components to run in Safari.
Busywork, so Apple can hold their position. How nice. No, it is not "perfectly fine".
I don't see this changing much. Salesforce has a serious follow through problem. They tend to half-a$$ good ideas and then once they get the press for them, they stop investing in them.
Just tried the create-lwc-app and it didn't build finish properly
https://status.salesforce.com/
and ironically:
https://www.lightningdesignsystem.com/
Why do they insist on forcing their framework of the week on their dev community and make it much easier to bring your own framework? NIH syndrome? Lock in?
We use react and visualforce to get our products built but the visualforce requirement to do so is sub optimal.