Yes this is exactly the risk: developers become dependent on the VSCode extension ecosystem, while thinking they are safely using only FOSS tools.
This is the kind of double-speak which lets MS have the best of both worlds. From a marketing/developer relations perspective, developers think they are using open-source tools. But in actuality, developers are investing in workflows where MS is a critical link in the chain.
I really don't understand this, when I use a library in my codebase I make sure I understand the licencing implications of using said library. When I add an extension to my IDE, I make sure I understand the licencing implications. If I add and extension to my IDE, I have modified my IDE beyond the base IDE, I should very well know the implications of doing so. It is no big secret that these two extensions are not FOSS tools. Some people care, some people don't but if a developer is blindly adding stuff to their IDE without knowing the ramifications, I would certainly question their judgment and I would certainly question their judgment if they are under the assumption that every extension out there is FOSS.
> When I add an extension to my IDE, I make sure I understand the licencing implications.
The UX decisions of VSCode go against this kind of careful consideration of licencing implications. If I open a code file and VSCode has a suggested extension for the file type, I will see an animated popup in the bottom of the screen, with a button to install. The simplest way to get rid of this popup is to simply install the extension. There's also no link on the popup to read up on the licensing terms. Everything about this interaction design wants you to just mindlessly install the extensions VSCode suggests to you, and I would wager this is what a lot of users end up doing.
Also if you look at the VSCode homepage[0], very close to the top of the page you get these marketing claims:
> Free. Built on open source. Runs everywhere.
You might be very capable of understanding the details here, but I think a new CS student who's maybe just heard of open source and knows a little bit about it could be forgiven for conflating these claims with the idea that VSCode is FOSS.
I guess it is just me, but I have never clicked on that pop-up. I always go to the extension tab and add extensions there, where the second link at the top, has a direct link to the licence of said extension. I always go to the extensions tab because it provides documentation about the extension, which I want to read before I add it to my IDE.
Even that page doesn’t tell you the license. It just has a link to “license”, and given that VS Code is marketed as open source software, and there’s often even a GitHub link (for issues), it’d be pretty easy that the “license” linked to was GPL or MIT or something.
Many times, how developers / (manager that think it is a great idea) design an application and how users, use an application do not intersect. I personally would not install an extension to my IDE without at least skimming the docs, checking the licence to see if I am going to have to subscribe or pay later, and checking reviews to ensure that it's a legit extension. I am certain, that there is a contingent of people that do, but as for developers, I would expect them to be a power users that knows better than to just click a yeah, sure install that button.
Honestly, if that where the only way to install extensions on VS Code it would probably be a deal breaker for me. I never install something because the application tells me I should. Especially in an ecosystem where anyone can provide a package. To me it would be akin to blindly adding an Node module, python module, jar or any other third party provided dependency to the custom software I am writing without first vetting it. I mean the licence for an extension, could very well state, that any software produce form the use of this extension, entitles the author of the extension a 10% royalty from said resulting software. That is a very real and valid licence, game engines, codecs, encoders use it all the time.
Other Microsoft OSS ventures makes me wonder if they haven't resurrected that policy too (e.g. the crippling slowness of azure mysql and azure postgres as compared to SQL server).
Can you give some examples? I haven’t seen Google close source something lately, except for Go’s package hosting server (which makes me inclined to believe you, I just haven’t heard of other instances).
User lock-in is how Microsoft has traditionally extinguished competition.
Microsoft Office is an early example. I know zero people that switched to it because they liked its functionality or user interface. They switched because nothing else could open Office documents correctly. Eventually, everyone I knew switched to it (and many happily switched away decades later, once “as-a-service” competition cropped up, solving the compatibility problem).
If this discussion were about anything other than text editors, I would take it much more seriously. But text editor popularity cycles every 5 years or so, and the main reason is simply that we get bored and want to try something new.
When we "invested" in VSCode over the past few years, we discarded all of our previous investments in Sublime workflows.
When we invested in Sublime back in the early-2010's, we discarded our previous investments in TextMate or Notepad++.
When we invested in TextMate or Notepad++ in the mid-2000's, we discarded our previous investments in UltaEdit or God knows what.
When we invested in UltraEdit or God known what back around the turn of the century, we discarded our previous investments in Vi or Emacs or Nano or whatever we were using from the shell in our 1990's computer science classes.
All of this has happened before, and all of this will happen again. We'll be bored with VSCode by mid-decade... and when we migrate to the next thing, it will take us a matter of days.
Agreed that many developers do this. I'm very averse to relearning all my tooling every couple of years, though, so I tend to treat FOSS very seriously because my investment will last decades. This makes me a bit of an outlier, but it's the reason I invested in building skills in GNU tools, Linux, and Emacs in the 90s, and continue to use those tools every day. For people like me, VSCode is not a great choice, for all the reasons you suggest. For most, I agree that the stakes aren't quite as high, simply because folks are switching tools from time to time for other reasons anyway.
> "From a marketing/developer relations perspective, developers think they are using open-source tools. But in actuality, developers are investing in workflows where MS is a critical link in the chain."
There's plenty of open core software that's the same, like Gitlab. I don't see any big outcry over open core in general so presumably very few people care.
> "it could have something to do with the fact that microsoft has a history of bad behavior and abuse of their market dominance, perhaps?"
Can you provide a plausible scenario for abuse is likely to happen with VSCode? Does VSCode even have any kind of market dominance? As others have pointed out, the open parts of VSCode could probably survive on their own as a community supported project, minus the proprietary plug-ins.
From what I can tell from the official VS Code site by Microsoft they no where say that it is a fully open source piece of software. Infact they say "Free. Built on Open Source. Runs Everywhere" So they are saying it is "Built on Open Source" which means something completely different to me.
"Built on Open Source" is in the same vein as putting "Made from natural ingredients" on a cereal box. It's meant to make the product sound better for you than it actually is.
This is the kind of double-speak which lets MS have the best of both worlds. From a marketing/developer relations perspective, developers think they are using open-source tools. But in actuality, developers are investing in workflows where MS is a critical link in the chain.