It's left a very sour taste in my mouth. I've used Emacs for ages and despite being a much more niche editor, it's never been so hard-dependent on centralized repositories, and the centralized repositories it does have (ELPA/MELPA) are apparently a lot more reliable than OpenVSX. Installing Emacs packages manually from source is a breeze, doing so with VSC is masochistic.
VSC is not really "open source" in any meaningful sense. It is just plainly unusable if you don't do things the way Microsoft wants you to. I do respect the VSCodium devs for trying to make VSC more properly open, but it does feel like a futile effort.
Yes, VSC is less hackable than emacs, but I don't think it's necessarily the same thing. VSC (and others like it) are going for a more streamlined "App Store" experience, while emacs is going for a more DIY/hackable style editor. You can always fetching the VSIX file and sideload it is if the "store" is down though.
Yes, VSC is less "open source" than emacs. if "open sourceness" is a score out of 10 or something. Pretty sure RMS would argue linux is less "open source" than emacs too.
Not sure why this is futile for the VSCodium devs. They are taking a dependency on a service for installing extensions. The solutions is more readonly mirrors for the official OpenVSX endpoint.
If your main archlinux mirror is down, you don't cry about the centralized state of our life. You use a different mirror. You throw in 5 or 10 in case one or two are down. I understand why a company like Microsoft might want a more centralized service to distribute the extensions. But for an open source clone? is Microsoft also expected to create the mirror clone?
I expected it to be a little less convenient to leave Microsoft's beaten path. I did not expect it to be a massive waste of time. This is what I meant by futile. Not only is it apparently very brittle, it's missing large swaths of VSC's ecosystem. Hell, I don't even know if the extension I wanted is available on OpenVSX because it's still down!
If Microsoft hadn't openwashed their product, I wouldn't care nearly as much.
Besides, Emacs still provides a streamlined system for managing packages on top of being hackable. It even makes installing and upgrading packages straight from a Git repo easy. Sometimes you can have your cake and eat it too.
For me, the C/C++ language pack stopped working overnight with Cursor. This was clearly because of commercial concerns about derivative IDEs fairly and squarely gaining traction over the original product. But it broke my workflow a couple hours before a meeting.
I use neovim with LSPs and this is unimaginable in my world. I have started using IDEs only because the productivity gains from better LLM integration are undeniable. Sure I moved to clangd in Cursor and it was all fine, but the IDE actively pushes you to install Microsoft extensions, that can be yanked off whenever some Msft PM decides "oh we didn't actually want our competitors to be making money".
LLVM/GCC/Neovim/Apache projects are open-source. Anything that is "open-source until it is not" is not open source, and this perfectly describes VSCode today.
And here we are.
I hate to be right about things sometimes.
Why is this Microsoft's fault, though? Nothing is stopping the open source community from creating a more resilient extension distribution system.
For me, the killer proprietary extension is their remote development extensions.
There is no reason we should expect Microsoft to invest tens of millions of dollars into a product development and give it free for competitors like Cursor. That's not just rational, even for companies that are not Microsoft.
Cursor, Windsurf, etc. are building multi-billion dollar businesses off the backs of the work that the VS Code team has done. And that’s totally fine! What’s not fine, is trying to have access to the whole ecosystem of first party extensions that aren’t MIT licensed.
I agree there should be more resilient extension repos, but this is one of the problems Eclipse Theia [0] has tried to take on, but most projects just fork the core VS Code experience and slot in OpenVSX rather than doing the hard, expensive work of building their own extension marketplaces or LSPs. And you know what, for a community or OSS fork, I think that’s fair. I think when you raise hundreds of millions in funding, you can build your own LSPs and start to maintain your own infra for extensions. And if you’ve got enough buy-in, you can probably convince developers to submit directly to your marketplace too.
And it isn’t even a rug pull, per se. The first changes to the license on some of the 1P VS Code extensions probably happened in late 2018 or early 2019, with remote share. The LSPs may have changed later. If anything, the Code team was probably too lax about letting the commercial forks use their resources wholesale against the license terms for as long as they did.
Disclaimer: I used to work at Microsoft and then at GitHub with things that touched VS Code. I now work at Google, who uses VS Code (well Monaco) inside some of our editors/products, but I don’t work on any of those.
It's an "open source" IDE. It costs nothing. All of the money they make from it is on top of the integrations like Azure Devops and Github that would make just as much money (if not even more thanks to vibe coding increasing accessibility) in Cursor, Windsurf, and VSCodium. Microsoft isn't a charity and they've been investing those tens of millions of dollars for a reason: to get a return. That's fine, that's what capitalism is (like it or not).
What's not fine is their schizophrenic approach to open source that looks very much like the classic Micro$oft embrace, extend, extinguish*. They're literally trying to extinguish competitors that are doing better than them by restricting the ecosystem after supposedly and ostensibly embracing open source. I lived through the IE6 era and this doesn't feel much different. Same player, slightly different game.
It's probably driven by some politically powerful PM or VP who perfectly resembles the Dilbert principle. Just like the degradation happening in the Windows OS front, it's just Conway's law happening all over again.
* Which if I may remind everyone, is a phrase straight out of the DOJ's discovery. Microsoft came up with the term.
VS Code is not Open Source, period. What exists in the “Visual Studio Code - Open Source” repo that is MIT licensed but cannot be used to build VS Code. Once-upon-a-time it was just branding, telemetry, and a license to use the Microsoft Extension Marketplace. Now, however, there are proprietary, closed-source extensions and additions that are only available in the proprietary-licensed VS Code.
> You can always fetching the VSIX file and sideload it is if the "store" is down though.
No, you cannot do so legally (in the context of using Vscodium or similar), as it is a violation of [the VS Code Marketplace ToS][1]: “You may not import, install, or use Offerings published by Microsoft or GitHub, or Microsoft affiliates in any products or services except for the In-Scope Products and Services.”
[1]: https://cdn.vsassets.io/v/M253_20250303.9/_content/Microsoft...
The TOS is purely a thing that the owner can point at as a legitimate reason for banning you.
There is no law anywhere binding you to the terms of an EULA or TOS. It's even less binding than a verbal agreement and a handshake.
For example in France a software/service editor can only really attack a user if he is infringing on copyrighted stuff. Outside of that the EULAs only allow it to ban/remove access to its services without risk of legal retaliation. And by infringing copyright I mean redistribution of copyrighted material, not downloading and using it. I am sure this is the case in many other countries.
Of course, specific EULAs may not be enforceable in some countries because they contain terms prohibited by law. But the concept of EULAs - a contract where you agree to certain terms in exchange for license to use software is enforceable in basically all countries.
Allowing open source VS Code (ie. VS Code you compiled from Microsoft’s repo) to access extensions would be enough. Nobody is asking Microsoft for more than basic access. It’s does not even require a code changes, just a policy change.
Even Google allows Chrome forks to access the Chrome Store.
The word you're looking for is 'free'. Free as in freedom and free software. The open source philosophy focuses on the openness of the code base and the associated advantages. Free software philosophy highlights the freedom that the software gives its user on their devices. Opening the source code is just a means to that end for the free software philosophy. Most open source software are also free software. But a few software like VSC and Chrome manages to be open while holding back the freedom from its users. Stallman and others tried to highlight this difference, but were largely neglected. The large scale ignorance of this distinction is what led to spread of travesties like the Chrome browser.
I completely agree with GP on this matter. I use centralized repos for Emacs like ELPA and MELPA like a metadata source. The actual packages are downloaded directly from their git repos. All these happen transparently and failure is practically non-existent, even in the absence of mirrors. In contrast with such convenience, the only way to fully utilize VSC extensions market is to use MS's proprietary build of VSC. If you tried installing some essential extensions (like remote editing and editor sharing) on a fork or an open source build of VSC, it would 'conveniently' tell you that it doesn't work on an alternate build and instead give you the link to download the proprietary build. Some of these functionality don't even need an extension on Emacs (eg: tramp). What are the justifications for such restrictions? They alone know. But I'm sure that they aren't technical. You're probably too busy to worry about the politics behind it, whenever you find yourself in such a situation. It's quiet manipulative in my opinion. And all these were before MS started banning VSC forks from their marketplace.
I imagine it is because it is derived from the Visual Studio debugger in some fashion. JetBrains ran into the same problem with Rider back in the .NET core days and had to write their own debugger.
There was never an issue with Omnisharp OSS-ness itself nor what replaced it. It was always about debugger and then "Dev Kit" extension which builds on top of the base one - "Dev Kit" is what isn't OSS and what requires an account.
There is also an alternate open debugger: https://github.com/Samsung/netcoredbg / https://github.com/muhammadsammy/free-vscode-csharp (extension fork which swaps vsdbg out for this one)
The Open VSX registry is open source (https://github.com/eclipse/openvsx) and self-hostable, although I have no experience with that. I assume it's possible to host your own instance with the extensions you want instead of relying on the free public instance.
Personally I'm more of a Sublime guy, but people looking for an open VSC alternative should consider Theia over VSC forks. It seems like the smarter long term investment if you want to get out from Microsoft's control.
https://microsoft.github.io/monaco-editor/playground.html
You could shove this widget alone into electron and call the result a text editor, and I mean, Notepad was basically this for the windows text entry component for years, but it's a long way away from VS Code, or from Theia.
Just because pylance is available doesn't stop jetbrains/Google/OSS from creating an LS. Maybe no such exists as if now, but not from a technical blocker. Just no one created one.
VS Code itself does not work without various propriety stuff, but that is a different thing. A large number of open-source projects work that way. If you don’t like the proprietary stuff, the recourse is to fork it, modify it, and implement the remaining stuff yourself.
Is it the most awesome, selfless, altruistic version of open source? Clearly not.
But is it better than being proprietary closed-source software? Well, that's a value judgement, so we can each decide that for ourselves. Personally, I think so, but maybe it depends. Regardless, though, it's open source, and if it weren't the software landscape would look very different.
Cursor, Windsurf, etc. would presumably not be as far along as they are, because they'd have to invest in basic editor functionality. Among many other projects, both open-source and otherwise.
Some major bits and pieces of the base editor are, but little of what makes vscode into a usable productive tool (namely, the refined extensions and LSP implementations around it, i.e. what users come to expect when they install it in the first place) is open-source. vscode put a lot of marketing effort into being perceived as open-source so to buy sympathy from eventual users.
Let's stop at "vscode is open-source in a very narrow and limited capacity, and thoroughly deceptive in its messaging".
I would honestly love to see the result of a survey asking vscode users whether they think they are using an open-source product, and how much of that is actually verified based on the extensions being used.
OK, yes, I agree; we should stop, as the disagrement seems to boil down to semantics.
I think "open source" is basically binary (modulo the usual free-as-in-beer or free-as-in-beer-but-also-you-can't-do-stuff-I-don't-like ambiguity).
But some nuance does come into play around "VS Code" — what is it? It feels the same as Chrome to me, but it's harder to see where the VS Code equivalent of Chromium is. (Not super hard, mind you, but Chrome/Chromium make it explicit, whereas VS Code does not.)
Anyway, I agree that VS Code is (while still, IMO, "open-source") is not "open-source to the point of maximal awesomeness".
Walmart. Bringing back home. ™
The CEO even said the quiet part out loud in one of the commercials in the early 90s, roughly "we'll buy American products, unless they're lesser quality or more expensive" and trailed off, and the editors back then weren't as tuned in to corpo-speak or something.
Of course the countries with more lax environmental regulations and worker protections will have a cheaper product; the entire thing was a sham from the beginning.
Its a tool they use to encourage adoption of their developer tools and get people to spend more money in Azure, not a philosophical stance.
I’m not sure how this could actually work without a centralized repo.
If I’m going to use VSCode I’ll just use it, I don’t need to play with forks, etc
VSCode is Android. Or rather, VSCode's source is AOSP and the marketplace, plugins, etc are Google Play Services.
I say that with maximum derision.
Yes, an open source project that creates immense value, but fails to fulfill some purist fantasy.
Its value and main goal is to suffocate any initiative on mobile space, call it immense if you will, but I concede it certainly works.
Is your definition of “Phone” equivalent to “must run apps (non-emulated) for iPhone and/or Android”? Otherwise, I mean, these things do exist: <https://puri.sm/products/librem-5/>
The difficulty is that even many essential service APIs are not open to alternative implementations.
Yes, a purist fantasy of an open source project that functions without closed source proprietary blobs.
Oh, the horror! Won't somebody think of the children!?
Google, on the other hand, pretended to be the FOSS crusader while setting themselves up for a ton of vendor lock-in that would not only have gotten 90s MS convicted on antitrust, but Bill Gates crucified on the National Mall.
Visit Eclipse Theia in the mean time when you are serious about de-risking from VSCode. I think VSCodium is doing an uphill battle here, while Microsoft can't help them self being a sales company first. In Theia, everything is open and free of spyware. MS is under no obligation to provide an OSS editor, but playing tricks after luring people in is not nice.
EDIT:
1. Eclipse Theia is a different platform than Eclipse the Java IDE.
* On each start, Ada & SPARK extension pops up a dialog that I have to close by clicking 12 times (I counted it) on its "Cancel" button.
* I can't permanently remove items from the left sidebar. It looks like Theia is unable to persist some things between runs.
* The IDE notifies me about bad tasks.json config and proposes to open it to fix, but the "Open" button doesn't do anything.
* Open VSX extensions do not update automatically. [1] I have to manually switch their versions to the newer ones.
* Just now I've manually updated Ada & SPARK extension. Not only was I presented with several options with exactly the same version (perhaps each was meant for different CPU arch or operating system?), but after choosing the first one and reloading editor as the IDE asked me to, the extension disappeared completely.
None of these happen with VSCodium, or with VS Code of course.
> Please note that a few parts of the VS Code extension API are only stubbed in Theia. Extensions will be installable, but some features might not work as expected.
Also, I thought Theia was a cloud IDE, and it seems like I was mostly right in that 2/3rds of their offering is (localhost:3000 & docker) but they also now apparently bundle it in Electron which I haven't tried
The API surface covers almost 100% that of vscode, I only see some AI integration API's that are stubbed, and that is because Theia has their own vision here and doesn't want to depend on MS.
The complete API compatibility list is here, the stubbed API's are not core imho:
https://eclipse-theia.github.io/vscode-theia-comparator/stat...
- The build system is finicky and can easily take hours to figure/fix.
- The error-reporting is severely lacking. You can be lost why something internal isn't working and go on a rabbit-trail with your favorite AI-copilot, etc.
- Documentation is lacking. You have to dive into the platform code to actually figure things out.
- This can be seen positively but there are quite a few new things being introduced regularly (especially AI-related) which, for a platform, isn't always ideal.
Eclipse the IDE also sat on their laurels and got their lunch eaten by JetBrains on the functionality front and VSCode on the extensible platform front
1: <https://wiki.eclipse.org/Rich_Client_Platform/> or <https://en.wikipedia.org/wiki/Eclipse_(software)#Rich_client...>
The JRE was born in a time of scarce cpu power and low RAM capacities. It has put tremendous optimization pressure on the project. I develop on .net nowadays, but I have the utmost respect of what they pulled off.
I dare you to install an Eclipse product these days. It will run circles around any Electron offering, while offering real parsers (not treesitter), and reliable code intelligence across vast source projects.
Honest question, what's wrong with treesitters?
For a full, balanced overview, see: https://blog.jez.io/tree-sitter-limitations/
Microsoft is partly to blame, but people have been warning about this over and over and over ad nauseam and people still choose to use VSCode. You couldn't even get people to not use the proprietary extensions for C/C++, Python and remote development.
The problem is that Microsoft dedicates enough resource to development that everybody else looks like a rounding error.
For example, anybody could have produced the Language Server Protocol, but nobody had the critical mass until Microsoft shoved it down everybody's throats.
Until somebody puts a significant amount of money behind an alternative, Microsoft is going to continue to win this battle.
(I was going to also say "or the OSS guys all unify behind a choice" but Hell will freeze over before that happens.)
The editor war is going as strong as ever, emacs vs vim will still be here in 20 years. Compared to 10 years ago, the amount of people using emacs and vim only grew, although VSCode growth was 1000x faster.
Vim is very simple (a composable language for editing, straightforward integration with cli tools, easily extendable,...). Emacs is simple (Major mode that dictates main operations and display, minor modes for additional features, integrations between them can be described more as a complex web than a simple graph...).
VS Code is easy (helpful suggestion for plugins, Familiar IDE-like interface, default setup, ready to hack on projects,...), but scratch that surface and the complexity appears (behemoth web engine, settings all over the place, app store like marketplace, extension are full blown software project,...). All the cons of IDE with none of the pros.
VSCode does a great job keeping the complexity away from the user. Vim and Emacs shove it in your face. I prefer VSCode's approach.
Exactly what basic tasks in Emacs requires Emacs Lisp? Give me your best/worst example. I can’t think of one.
Syntax highlighting on the open source editors was a pile of regex fail before VSCode came along and forced everybody into the LSP.
Since the LSP was the only effective way that you could support syntax highlighting in VSCode, languages had to create an LSP or they didn't exist to VSCode users. Once the language supports VSCode, anyone not already steeped in the editor wars switched.
At that point, the editors had to support the LSP or get left behind.
With JetBrains, the issue is that they would have almost certainly considered an LSP as a competitive advantage. It would have taken some amazing foresight to release something like that as OSS and not be afraid of losing market share if you get vim/neovim to adopt it (you can ignore emacs market share--the editor wars are all but over and emacs lost badly).
As a point of comparison, the value that I get from JetBrains products is about 35% UX niceties[1] and 1500000% code intelligence, which no LSP that I have ever seen even strives to do that. They all appear to be focused on "jump to declaration", "what can I type here", and some of them ferry "linter" results back to the user but that is just using LSP as a conduit not that the LSP itself is doing anything intelligent
That's why I throw up in my mouth when someone claims their vim+lsp is a python powerhouse because, sure, it's better than nothing but even PyCharm open source blows the doors off of any LSP
1: and even that has been under constant attack over the past few years from their gravely misguided product management team, culminating in the "you are committing code wrong" https://news.ycombinator.com/item?id=43710699
However, its early days.
Perhaps you could ask a question less vague than the reply it incited? What is it that you want that keeps you with vscodium over other options? Or if you don't have enough information/experience of them, just what do you like about vscodium enough that you aren't particularly feeling any need to consider alternatives?
- Vscode has limited what extensions can do on the platform. MS own extensions can do things that others cannot.
- Theia extensions can do what oss vscode extensions cannot. Theia supports all the non-ms specific extension API's so it is fully compatible with all/most vscode extensions. But Theia goes further. Part of Theia's vision is that you could ship your own Theia, the whole platform is open.
So, Theia is a safer bet. There is no rug to pull.
Also, think about chrome <-> chromium. When Google pushes for a new API that limits what ad-blockers can do, then Chromium has a problem. Because then it becomes a fork, as upstream becomes incompatible with chromium.
Theia has been out for eight years now,
But that's probably fine, Theia seems to be focused more on the current audience of Eclipse which is vendor tooling (chipmakers, FPGA, custom toolchains) rather than being an editor you are supposed to use by itself.
Based on my quick reading they are just using Monaco code editor. That is 100% freely licensed as MIT. Monaco is just the line based text editor.
Nowadays you must have a flashy website. You must host everything on a single managed VCS provider, or a programming package ecosystem hoster. You must depend on corporations to give you free things, in exchange for you giving them everything about you (otherwise you must pay out of pocket for everything). You must do what everyone else does.
Maybe it's impossible to go back to a simpler time. But it's not impossible to change the state of things today.
You keep saying _must_. Why _must_ you do what everyone else does? To what end? To get contributors to your project? To get funding? No one is stopping anyone from starting a project on sourceforge.
Maybe Microsoft should've made VSCode source-available. Sure, companies taking Microsoft's free labour would need to develop an IDE of their own (or maybe someone can hack Eclipse to work as a browser project?), but at least Microsoft wouldn't take the heat for not doing enough free work for everyone else.
You're massively misunderstanding the goals of these large companies who provide open source projects, whether it's VSCode, Android, Chrome, or whatever. The goal is always control. Companies at this scale never do free work for the common good.
I don't say this to deride them, I say it as a statement of fact that we all need to be aware of when we choose to use these products.
Anyway. OpenVSX is classic XKCD https://xkcd.com/2347/ territory—run by a small crew of brilliant volunteers, but the entire world depends/freeloads upon them.
Not sure if this outage and its long duration is due to some technical difficulty or an indication of something worse.
I myself have built zsh bindings for helix as that was my main pain point: https://github.com/john-h-k/helix-zsh
As developers, we're spoiled for widespread (e.g.) vim keybindings support in just about any IDE via extensions. When unable to use it in something like Web IDE, it is very frustrating and makes it less useful as a product.
[0]: https://about.gitlab.com/releases/2025/04/17/gitlab-17-11-re...
Also, I wonder how hard it would be to teach VSCodium/Theia to pull extensions from OCI because it seems to work great as a distribution mechanism for Homebrew and allows shipping a .vsix from your own GitHub/GitLab account, since both of those offer no-cost OCI image registries scoped to the project
Working with anything is a breeze.
I'm just not too familiar with refactoring tooling and how to configure it, but there's rarely any reason for me to use something more complicated than sed, and in those occasions I can just use ast-grep.
most relevant: https://www.eclipsestatus.io/incident/549796?mp=true
their helpdesk ticket: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/5924...
the issue in their GitHub issue tracking for the site: https://github.com/EclipseFdn/open-vsx.org/issues/3805
the tl;dr seems to be a massive storage failure affecting a bunch of Eclipse services, and just like any storage problem putting all the bytes back is some "please wait"
[0] https://github.com/VSCodium/vscodium/blob/master/prepare_vsc...
[1] https://stackoverflow.com/questions/44057402/using-extension...
My vim config has three things only: LSP, FZF (for anything fuzzy), and Plug (to install the above two). There's also a few niceties, but I could do without them. or vendor them into the main config. But it's not my daily editor, so that's just the base config. Anything I could add on top of that would depend on the projects I would need it for. That's about 200 lines (the lsp config is 1/4 of that)
NB. A nice talk even if it's about vim "How to Do 90% of What Plugins Do (With Just Vim)"
I think working on out-of-the-box experience is not very attractive for volunteer contributors, so I guess the situation won't change unless we find a way to sponsor that work.
Like Darwin, there may be an 'open' skeleton that vscode hangs upon, but all of the things that make it useful and attractive are being increasingly pulled behind paywalls.
I'm pretty sure most of us saw this coming a mile away. I've played a little with VS Code here and there but never put a lot of time into it because I'd rather invest my time in things I know will be here in 2035 -like vim/neovim.
#hugops