Hacker News new | past | comments | ask | show | jobs | submit login

You can switch the extension marketplace, but Microsoft uses DRM in their extensions to prevent them from running with non-proprietary builds [1]. Pylance, their Python LSP, is one notable example [2]. Their earlier Python LSP was open source, but the community forks have lost a lot of the wind in their sails because such a large portion of developers use VC Code without realizing or caring that the LSP is DRM-laden and closed source. I believe the traditional term for this is embrace, extend, extinguish.

[1] - https://parsiya.net/blog/2021-12-20-rce-in-visual-studio-cod...

[2] - https://github.com/microsoft/pylance-release/issues/746




Wow, vscode extensions having drm is insane


This alone, to me, means that MS is up to something shady. Maybe not right now, maybe not tomorrow, but it's surely on their roadmap.

I don't see why they'd put out an open-source app, whose most useful extensions only work if you accept a closed binary known to phone home.

I can see them trying to win goodwill from devs and steer them to their Azure/Windows offerings by releasing such an editor. But why insist on this telemetry-laden distribution, which is still free-as-in-beer?


This is separate from the telemetry, but I suspect that part of the roadmap is for LSP extensions to become monthly subscription services eventually. We currently see hints of that from two directions: 1) the introduction of GitHub Copilot as a paid service, and 2) the aforementioned move towards proprietary and DRM protected LSPs. It's not hard to imagine how these two might converge in the future. I'm sure that the performance of these LSPs will be extremely impressive and that it will be rational for many individual developers to pay for them. This will in turn pull mind share and community involvement away from FOSS solutions, and the gap between the two will widen over time as a result.


Oh, I'm not at all against companies making a buck selling software. I'm a happy JetBrains customer for my IDE needs, and I'm not even a "professional" developer.

But why would they force the use of their "official" VS Code build for this? Couldn't they just charge for their "impressive" plugins, regardless of the edition of VS Code used? The JetBrains "community" IDEs (open source and gratis) can use paid plugins from their marketplace.


I'm not against selling developer tools either, but I do have a problem with EEE as a strategy. As far as I know, JetBrains has never engaged with this behavior and they have coexisted in a healthy way with fully open source alternatives. The point of Microsoft's strategy isn't to only produce a better product, but to actively hurt open alternatives by driving down their adoption through insidious and disingenuous means. They're not just trying to compete in the market, they're trying to monopolize it.

The idea behind LSP and Microsoft's initial open source work on LSP were both excellent. That launched seven years ago, and I don't think that we would have seen the near universal adoption of LSP among open source editors nor the dominance of VS Code among developers if they had been paid products from the start. Now that they have a large enough market share, they can make the LSP engines proprietary without most developers even noticing. The gap between the proprietary and open source solutions can now be widened both by the open source community shrinking and by Microsoft pumping money into improving their LSP engines. The more that gap widens, the more people migrate to VS Code from open alternatives. That becomes a self-reinforcing loop.

Once VS Code is significantly better than open source alternatives and they have a huge market share, Microsoft is in a very strong position to start collecting rent. Switching costs on an editor are nontrivial to begin with, and are enhanced by the induced atrophy of open source alternatives. Despite the fact that this strategy takes more than a decade to execute, I would guess that it ends better for Microsoft overall than if they were to start charging for VS Code back in 2016.


So do you think their goal is to reel back in the people who had already left OG VS and also a bunch of new ones by slowly boiling the frog with the closed distribution of vscode, which will gradually have all the best features and, maybe, in the end, become paid again? I would have thought that they were merely trying to push their own cloud and cloud-adjacent ecosystem, which I expect to be the real cash cows.


Maybe instead of "embrace, extend, extinguish", it's "promote, extend, prevent competitors from extending, then charge for extensions".

Paid monthly premium LSP subscription honestly would be a great idea from a business perspective, even though it's distasteful.


You know the "Editor Wars" meme? That was a thing because vim and Emacs were the canonical editors; you could expect just about every serious hacker (in a Unix environment) to main either one or the other.

Today, there is only one canonical editor: Visual Studio Code. 75% of professional programmers use it. Microsoft was trying to get the open source crowd back into their tooling fold -- and they've succeeded! Which means now they have a hugely expanded developer base to sell tools and services to. Remember their money is now in cloud, not desktop software -- so think things like GitHub Codespaces. (The entire devcontainer ecosystem comes from Microsoft and is oriented specifically around Visual Studio Code's model of remote development.)


Sure I do, and I enjoy flaming the occasional Emacs user I cross paths with.

But why does selling those features, especially the ones requiring a separate cloud subscription, require a specific build of an app which is otherwise open source?


Flip it on its head, the question is, why even do an open source release? The answer is, it's pretty much a sop, much like Apple's Darwin releases or the AOSP. Good PR for the open source community to build trust and good will, while still controlling the whole platform from soup to nuts making EEE possible. If they opened up their dev tools -- their LSPs and cloud service connectivity -- to just anybody they risk losing that control.

Honestly, the more I learn about Visual Studio Code the more I understand why Emacs is the way it is. Stallman was trying to keep it fully hackable forever.


I admit, I didn't think about it under that angle.

But I do wonder how much VS Code being "kinda open source" mattered. I may be in an MS-centric bubble, but most people I interact with couldn't care less about that. They're using closed-source software all over. Their main reasons for switching to VS Code seem to be the free-as-in-beer part, and that it's more practical than the OG VisualStudio. They're 99% Windows devs.


Yeah, they were going after the Vim and Emacs using, Linux/Mac web dev crowd. Instead of fighting Linux they're co-opting it into yet another Microsoft development platform.


Mark me down as someone using vscode because it has vscodium. Prior to vscode, I was using Geany for anything that wasn't Java (IntelliJ CE there, and prior to that, netbeans).


Upsells like Copilot, telemetry data mining, investing in the goodwill of an entire generation of programmers, and presumably further plans related to enterprise products.


It's just MS as we know it.

They didn't really change, they got just better in PR.


I know that unfree software is bad, but really a lot of good is being done in the process here. VS Code is making programming significantly better and more accessible to a large audience, including relatively advanced features like remote and containerized development. It also gave us the Language Server Protocol, which would be nowhere near as successful as it is today without Microsoft building it into VS Code and open sourcing the language servers.


Developers! Developers!! DEVELOPERS!!! DEVELOPERS!!!!



I didn't link to it because you can't unsee Ballmer and unhear his voice cracks.


Seems like every generation has to learn the hard way.


> Microsoft uses DRM in their extensions to prevent them from running with non-proprietary builds

I did not know this and this is enough for me to steer clear of extensions by Microsoft (and potentially VSCode).




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: