I noticed this the other day when I installed VSCodium on my new Windows box. I had a functional setup for one day, then the next day I couldn't install a language extension I direly needed.
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.
I feel that you're conflating few concepts, hackability, "open source", single point of failure architectures.
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?
My point about VSC is that brands itself as "open source" when Microsoft clearly intends for it to have a proprietary, tightly controlled ecosystem. It's not just RMS-unapproved, it's practically a lie. You can use it as a FOSS editor, but only if you are willing to accept a vastly subpar experience. Oh, and they've started cracking down on people using their proprietary VSC plugins in derived editors, too.
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.
I saw someone mention Avante on here a few days ago, which looks like it tries to emulate the Cursor experience in Neovim. Might be worth a look: https://github.com/yetone/avante.nvim
When people started to toot the horn of VSCode, esp. younger, inexperienced people, I personally warned quite a few of them about Microsoft's practices and motivations. Of course, who listens to a graybeard who's talking about impending doom? All answered " Microsoft <3 Open Source, what are you talking about?"
The problem isn't the distribution system, it's the licenses on the flagship Microsoft extensions that provide C/C++, Python, Javascript/Typescript, etc. support. Those licenses are entirely Microsoft's fault.
My 2pence. C/C++ experience on VSCode is still subpar compared to other IDEs. Python is good, but very viable alternatives to VSCode exist. The biggest unique value proposition regarding languages is in TypeScript support. Support for many other languages still come from authorities from those languages who have no issue making them available on the open registry.
For me, the killer proprietary extension is their remote development extensions.
Language servers are open source. One can write your own extension like we do today for Vim and Emacs.
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.
100% this. It would be one thing if the only LSPs you could build came from Microsoft, but that’s just not true. It’s just that developing LSPs isn’t free.
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.
> 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.
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.
I wonder if more differentiated branding would have helped. Chrome/Chromium is another example that came to mind: Like "Code - OSS" (the open-source base of VSCode), Chromium works just fine as a browser but with fewer Google-related features (syncing, DRM, etc). People seem to happily use Chromium despite the limitations (many actively seek them!), and I don't remember there being a controversy like this.
> Yes, VSC is less "open source" than emacs. if "open sourceness" is a score out of 10 or something.
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.”
Caveat: this is not universal and depends on the juridiction.
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.
This is again, wrong. EULA is just another word for "contract", and I'm not aware of any countries that have banned contracts.
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.
IANAL, but the "A" is "agreement," which is only true if entered into. If I put a sentence at the top of my website that says "by loading this page you are agreeing to my terms of $1,000,000 per byte downloaded, payable by bitcoin" you are for sure not under any obligation that I can imagine because you didn't agree to my ~~terms~~ demand
> is Microsoft also expected to create the mirror clone?
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.
> Pretty sure RMS would argue linux is less "open source" than emacs too.
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.
It's even worse. VSCode used to be more open source originally, back when it was enthusiastically adopted. And then, gradually, official extensions started replacing parts with closed blobs with onerous licensing terms. C# and Python extensions have both suffered from this. Although the C++ one was never fully open, if I remember correctly.
Same for the c# one I think, the old language server was and is still open source but the .net core debugger has always been proprietary.
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.
I was gonna write this. Package management with distributed mirrors for both speed + redundancy are a solved problem in the Linux world. Ship trusted signing keys and even the shadiest mirror becomes verifiable.
For context, Open VSX is run by the Eclipse foundation, which also develops the Eclipse Theia editor, which is basically a clone of VS Code (not a fork, like VS Codium).
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.
Even though I've heard of Theia Editor before I don't think I've ever seriously looked at it until now. It honestly looks like a good alternative to vscode. (It basically looks like a straight up clone, which is good for me) I'll definitely give it a try.
I think if it was a distro like VSCodium, you could call it a fork. But Monaco is a small piece of VS Code. It's a text widget. A _nice_ text widget, but you can play with bare Monaco here:
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.
The model is called Open Core, so is well understood so I am not sure what is causing this confusion. The editor is open source as evident from a dozen forks. The complete experience which includes extensions has closed source pieces which the forks won't access to. But OSS community can build replacement or other companies can provide alternatives.
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.
It’s plenty open source — that is why all these forks exist!
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.
Yeah, I know all about that stuff. But nevertheless, you _can_ fork it.
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.
Walmart used to claim they supported US businesses. A lot of people remember the ads and the native ads, especially in southern California when Wal-Mart was trying to make inroads there in the late 90s.
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.
Microsoft is pro open source, it's just that they use it as a means rather than an end which trips up a lot of people who view open source differently.
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.
Pointless was my thought after initially installing it years ago. Ok, I’m installing this open source “clean” version, just to install a bunch of MS proprietary spyware extensions? Why not just use the real thing?
Nowadays there are good alternatives to some of the proprietary Microsoft extensions, I use the basedpyright extension on VSCodium and prefer it to Microsoft's proprietary Pylance. I've also heard good things about the clangd extension as an alternative to the C/C++ extension.
I would immediately jump ship if I could buy a phone that supports a truly free OS. Instead, I'm stuck with an option between a reasonably-secure, but completely locked-down phone (both hardware and software) with an exorbitant life-long cost and semi-locked-down phones with a pseudo-FOSS OS, whose main business is to my leak personal data for a dozen companies. Honestly, the only reason why Android (and iOS) reign unchallenged is because of their iron grip over the hardware ecosystem.
> I would immediately jump ship if I could buy a phone that supports a truly free OS.
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/>
My definition of a phone platform is that a reasonable app ecosystem must exist. Or at least the ability to easily develop the ones I need - I don't mind developing for my needs. If a more secure phone without a substantial app ecosystem is enough, then a feature phone would be fine. Librem phone unfortunately doesn't meet that requirement.
The difficulty is that even many essential service APIs are not open to alternative implementations.
CJK languages need language-specific AI conversion engines for any kind of typing. Which OSS versions exist for Japanese, I don't know for Chineses(CN/HK/TW - IIUC they're slightly divergent beyond fonts).
Components that are not used, that almost always get replaced by vendors do not get much love. That the base AOSP should be optimized to use out of the box is a purist fantasy. In reality AOSP is made with the understanding that vendors are going to customize it. A lot of Android is designed to be modular, you can easily install a different keyboard app.
I mean, it's Microsoft. We all knew that to an extent going in.
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.
Maybe I'm just old, but I find it so strange that you have to compare something from Microsoft to something else to indicate how evil it is. It's Microsoft.
Open Source projects used to all be hosted on hundreds of random mirrors. The hosting of which was free and donated, because it was just an HTTP/FTP/RSYNC directory on a file server in a closet in some corporation or university. Didn't even need to be reliable, as there were hundreds of mirrors. Linux distributions, and some very old projects, are still maintained this way.
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.
> 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.
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.
There is not much to see on a server that is down, so let me share some free advice instead.
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.
Each time I try to use Theia IDE I have such a bad experience:
* 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
Note they say that most extensions are compatible, and those not listed as compatible might still be.
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:
From my experience having attempted to migrate away from VSCodium (in the attempts to de-VSCode) and build atop Theia as a platform, there are few things to consider:
- 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.
I in some sense empathize with you, in that Eclipse have a minor branding problem, a major discoverability problem for all of their projects of subprojects of projects to track the projects. That said, Eclipse the editor was all in on building a platform[1] upon which other people could build their own editors. It was quite popular before Electron arrived and sucked all the oxygen out of the rich text delivery space
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
I have to somewhat defend Eclipse as the Java platform too. Twenty years ago people had hardly any RAM in their machines, and Eclipse definitely suffered for that, because without RAM you run into lots of disk i/o.
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.
As an embedded developer, it's still painfully slow, every CPU integration (half a dozen) are half baked, never comes with platform appropriate hotkeys, and eventually consumes enough RAM my iGPU can't allocate textures, and has been doing so since 2008.
Very short answer: because a treesitter will do an approximately correct parsing, while a hand written parser will do a correct parsing (and if not, it is a bug).
> MS is under no obligation to provide an OSS editor, but playing tricks after luring people in is not nice.
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.)
Genuinely curious, how did Microsoft "shoved it down everybody's throats"? And weren't Jetbrains, Eclipse, Vim, Emacs dominant enough(especially Jetbrains) to have done so before Microsoft?
VSCode garnered such a significant market share that supporting VSCode almost immediately becomes your #1 editor (see Rust surveys: 2016-3%, 2017-30%, 2018-45%, 2020-54%, 2023-62%--note: VSCode was only released in 2016!).
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).
> With JetBrains, the issue is that they would have almost certainly considered an LSP as a competitive advantage
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
> (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.
I was watching the "Simple Made Easy" talk by Rick Hickey, and while he was talking more about programming languages, the talk could extend easily to editors and other type of tooling. People are always going for easy, not simple.
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.
People will opt for what's accessible. Vim requires you to learn an alien control scheme to even navigate through code, and Emacs requires you to learn an incredibly unique programming language — one that sees no real world use, let's be honest — for basic tasks. Is it any surprise, then, that Microsoft had no issue swooping in and dominating the editor market when Emacs and Vim users believe that these are "features"?
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.
Yep. Emacs may be unfamiliar, but almost everything is accessible with the mouse and the keyboard. From installing packages to configuring the software.
I am not proud to admit that basically the only thing I know how to do in vim is edit the network configuration so I can install nano - in much the same vein as using iexplore.exs to download firefox back in the day.
Theia is not a fork of vscode (even though it looks like it). It uses VSCode's code editor (Monoco) and is written from the ground up. Presumably allowing it to support extensions, that for example, vscode does not.
As an outsider to the conversation I'd say it answers it vaguely at least.
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?
- Certain core, built-in plugins do still contact MS servers.
- 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.
Came out of beta less then a year ago. What I mean is adoption is slow (if even there), so I'm sure there is quite a lot missing.
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.
I fail to see the problem with this, to be honest. Microsoft provides a free IDE for everyone to use on any platform, but it's not good enough because the language runtimes and proprietary third party tools aren't completely free?
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.
> 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.
Thanks for the share. Yeah, building upon VSCode (MIT) is a stupid idea. Regarding OpenVSX, it was developed whilst I was at Gitpod and transferred to the Eclipse Foundation. It's been many years now, so my memory might be a little dated as to what came first, but OpenVSX/Gitpod/Thiea/Eclipse origins can all be traced back to https://www.typefox.io/.
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.
it's kind of wild -- none of the multimillion dollar VSCode forks (Cursor, windsurf) are working properly at the moment. It seems open-vsx is quite a vulnerable single point of failure. Searching extensions gives a 503.
Couple of years ago, I think openvsx faced funding crunch and on the verge of the shutdown a dedicated working group was formed (including big names like Google, Salesforce etc) to support it.
Not sure if this outage and its long duration is due to some technical difficulty or an indication of something worse.
Lots of vim/emacs mentions so I feel obliged to mention Helix (https://helix-editor.com/). Used neovim for _years_, tried Helix for a few weeks and never looked back
This right on the heels of the GitLab 17.11 release announcement [0] which mentioned that they added OpenVSX support to their Web IDE. One of the biggest blockers for my team to use the Web IDE/GitLab's equivalent of "Codespaces" was the lack of extensions support.
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.
If I didn't hate GitLab's gitlab-org/gitlab issue tracker so much I'd go look to see if them offering OpenVSX registry was on the roadmap, because then an organization could mirror the .vsix into their GitLab instance and not suffer outages (in addition to the supply chain safety aspects)
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
Now it's as good a time as ever to try out Lazy Vim. Came to it from Lunar Vim and it just works.
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.
Trying out emacs again after vsvode broke remote ssh for no apparent reason (other than their insane decision to install the whole text editor remotely). Tramps in emacs has some quirks (need to make connection timeouts faster somehow) but it just works.
What I find nice about these terminal IDE's is that I can just deploy my config to my servers I access over ssh and it's the same experience as locally
I happened to be poking around in their issues to see if there were mirrors and observed that in addition to the linked status page on this thread, the underlying Eclipse Foundation has their own (multiple) status tracking channels
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"
Worth noting that you can configure VSCodium to use Microsoft's extension repo, and you can even trick extensions into thinking VSCodium is VSCode. It just can't be distributed that way out of the box for legal reasons.
Do you have a particular configuration or set of extensions you've been looking at? I mostly use JetBrains IDEs but have been trying to get a decent neovim setup as well. I followed some random tutorial and eventually got a decent setup working but it feels fragile and I'm not sure I could reproduce it if I had to. I am looking at AstroNvim now as a potentially more stable/reproducible setup.
With editors like vim, neovim, emacs, it's way easier to get the lay of the land first (tutorial, play around with the default config,..) and then list out what you need.
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)"
What are good, open source, alternatives to VS Code? That are modern IDEs with decent support for frontend, backend, data science, and embedded (possibly via extensions)? That mostly work out of the box, without having to set up and configure NN things.
They don't exist. If you want out-of-the-box, use Jetbrains and pay for it. If you want free-as-in-beer, VSCode proper. For free-as-in-speech you'll spend hours to learn/configure neovim/helix/emacs, or even hunting down free VSCodium plugins, I guess.
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.
Basically we've seen this movie before -look at the trajectory OSX took. As far as I know, it's not really possible to build a useable pure darwin installable OS. Puredarwin itself is stuck in whatever was released in 2018 or earlier.
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.
I noticed this the other day when I installed VSCodium on my new Windows box. I had a functional setup for one day, then the next day I couldn't install a language extension I direly needed.
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.
I feel that you're conflating few concepts, hackability, "open source", single point of failure architectures.
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?
My point about VSC is that brands itself as "open source" when Microsoft clearly intends for it to have a proprietary, tightly controlled ecosystem. It's not just RMS-unapproved, it's practically a lie. You can use it as a FOSS editor, but only if you are willing to accept a vastly subpar experience. Oh, and they've started cracking down on people using their proprietary VSC plugins in derived editors, too.
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.
Exactly this.
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.
I saw someone mention Avante on here a few days ago, which looks like it tries to emulate the Cursor experience in Neovim. Might be worth a look: https://github.com/yetone/avante.nvim
When people started to toot the horn of VSCode, esp. younger, inexperienced people, I personally warned quite a few of them about Microsoft's practices and motivations. Of course, who listens to a graybeard who's talking about impending doom? All answered " Microsoft <3 Open Source, what are you talking about?"
And here we are.
I hate to be right about things sometimes.
> You can use it as a FOSS editor, but only if you are willing to accept a vastly subpar experience.
Why is this Microsoft's fault, though? Nothing is stopping the open source community from creating a more resilient extension distribution system.
The problem isn't the distribution system, it's the licenses on the flagship Microsoft extensions that provide C/C++, Python, Javascript/Typescript, etc. support. Those licenses are entirely Microsoft's fault.
My 2pence. C/C++ experience on VSCode is still subpar compared to other IDEs. Python is good, but very viable alternatives to VSCode exist. The biggest unique value proposition regarding languages is in TypeScript support. Support for many other languages still come from authorities from those languages who have no issue making them available on the open registry.
For me, the killer proprietary extension is their remote development extensions.
Language servers are open source. One can write your own extension like we do today for Vim and Emacs.
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.
100% this. It would be one thing if the only LSPs you could build came from Microsoft, but that’s just not true. It’s just that developing LSPs isn’t free.
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.
[0]: https://theia-ide.org/
> 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.
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.
I wonder if more differentiated branding would have helped. Chrome/Chromium is another example that came to mind: Like "Code - OSS" (the open-source base of VSCode), Chromium works just fine as a browser but with fewer Google-related features (syncing, DRM, etc). People seem to happily use Chromium despite the limitations (many actively seek them!), and I don't remember there being a controversy like this.
It's very easy to point VSCodium at the official MS extension marketplace. Everything works.
> Yes, VSC is less "open source" than emacs. if "open sourceness" is a score out of 10 or something.
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...
violating a corporation's terms of service isn't unlawful. outside of that corporation, at least.
It is not criminal, but it is unlawful.
EULAs and TOS are not legal agreements. It is not unlawful to break them.
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.
Honestly incredible this level of misinformation is getting posted on HN: https://www.google.com/search?channel=fs&q=are+eula+legally+...
Caveat: this is not universal and depends on the juridiction.
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.
This is again, wrong. EULA is just another word for "contract", and I'm not aware of any countries that have banned contracts.
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.
IANAL, but the "A" is "agreement," which is only true if entered into. If I put a sentence at the top of my website that says "by loading this page you are agreeing to my terms of $1,000,000 per byte downloaded, payable by bitcoin" you are for sure not under any obligation that I can imagine because you didn't agree to my ~~terms~~ demand
> is Microsoft also expected to create the mirror clone?
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.
I do wonder if Manifest v3 caused a large jump in users moving to Brave or Vivaldi or whatever, if Google would keep that policy.
Not even a policy change, you update one file in AppData and you're in.
> Pretty sure RMS would argue linux is less "open source" than emacs too.
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.
Speaking of, 4 freedoms might not be enough any more :
https://elevenfreedoms.org/
4-10 all seem to just be special cases of 0-3. I guess making them explicit can be nice, but it seems overly complex to me.
It's even worse. VSCode used to be more open source originally, back when it was enthusiastically adopted. And then, gradually, official extensions started replacing parts with closed blobs with onerous licensing terms. C# and Python extensions have both suffered from this. Although the C++ one was never fully open, if I remember correctly.
Same for the c# one I think, the old language server was and is still open source but the .net core debugger has always been proprietary.
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.
Roslyn language server is OSS too: https://github.com/dotnet/roslyn/tree/main/src/LanguageServe...
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)
I was gonna write this. Package management with distributed mirrors for both speed + redundancy are a solved problem in the Linux world. Ship trusted signing keys and even the shadiest mirror becomes verifiable.
For context, Open VSX is run by the Eclipse foundation, which also develops the Eclipse Theia editor, which is basically a clone of VS Code (not a fork, like VS Codium).
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.
Even though I've heard of Theia Editor before I don't think I've ever seriously looked at it until now. It honestly looks like a good alternative to vscode. (It basically looks like a straight up clone, which is good for me) I'll definitely give it a try.
Theia is based on Microsoft Monaco editor. Its a fork with a different ui
I think if it was a distro like VSCodium, you could call it a fork. But Monaco is a small piece of VS Code. It's a text widget. A _nice_ text widget, but you can play with bare Monaco here:
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.
The model is called Open Core, so is well understood so I am not sure what is causing this confusion. The editor is open source as evident from a dozen forks. The complete experience which includes extensions has closed source pieces which the forks won't access to. But OSS community can build replacement or other companies can provide alternatives.
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.
It’s plenty open source — that is why all these forks exist!
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.
https://ghuntley.com/fracture/ ; I'll just leave this here.
Yeah, I know all about that stuff. But nevertheless, you _can_ fork it.
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.
> Regardless, though, it's open source
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.
Microsoft has never been pro open source, yet so many devs fell for their marketing lies.
Walmart used to claim they supported US businesses. A lot of people remember the ads and the native ads, especially in southern California when Wal-Mart was trying to make inroads there in the late 90s.
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.
Microsoft is pro open source, it's just that they use it as a means rather than an end which trips up a lot of people who view open source differently.
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.
You can always clone the extensions repo and build locally. Should take 10 minutes at most
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
I have a failing CI/CD pipeline. I use a reproducible development setup based on Coder.com's Code Server..
Pointless was my thought after initially installing it years ago. Ok, I’m installing this open source “clean” version, just to install a bunch of MS proprietary spyware extensions? Why not just use the real thing?
Nowadays there are good alternatives to some of the proprietary Microsoft extensions, I use the basedpyright extension on VSCodium and prefer it to Microsoft's proprietary Pylance. I've also heard good things about the clangd extension as an alternative to the C/C++ extension.
I'm sure some (many?) will disagree with me but:
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.
> VSCode is Android
Yes, an open source project that creates immense value, but fails to fulfill some purist fantasy.
I've yet to see any immense success based on the open source part of android.
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.
We can't possibly be Anti-competitive! We give it away for free! "
I would immediately jump ship if I could buy a phone that supports a truly free OS. Instead, I'm stuck with an option between a reasonably-secure, but completely locked-down phone (both hardware and software) with an exorbitant life-long cost and semi-locked-down phones with a pseudo-FOSS OS, whose main business is to my leak personal data for a dozen companies. Honestly, the only reason why Android (and iOS) reign unchallenged is because of their iron grip over the hardware ecosystem.
> I would immediately jump ship if I could buy a phone that supports a truly free OS.
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/>
My definition of a phone platform is that a reasonable app ecosystem must exist. Or at least the ability to easily develop the ones I need - I don't mind developing for my needs. If a more secure phone without a substantial app ecosystem is enough, then a feature phone would be fine. Librem phone unfortunately doesn't meet that requirement.
The difficulty is that even many essential service APIs are not open to alternative implementations.
Like have a working keyboard?
My android phone doesn't have a working keyboard?
You use stock Android Open Source keyboard, not closed-sourced Gboard? Can you type in Chinese?
China doesn't uses Google services. Am sure they can type in Chinese.
Those Android phones are loaded with their manufacturer's Chinese IME, not a completely open-source one.
CJK languages need language-specific AI conversion engines for any kind of typing. Which OSS versions exist for Japanese, I don't know for Chineses(CN/HK/TW - IIUC they're slightly divergent beyond fonts).
Components that are not used, that almost always get replaced by vendors do not get much love. That the base AOSP should be optimized to use out of the box is a purist fantasy. In reality AOSP is made with the understanding that vendors are going to customize it. A lot of Android is designed to be modular, you can easily install a different keyboard app.
an open source project that creates immense value, but fails to be open source
> Yes, an open source project that creates immense value, but fails to fulfill some purist fantasy.
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!?
you are correct. vscode (mit) is utterly evil - see https://news.ycombinator.com/item?id=43786380
I mean, it's Microsoft. We all knew that to an extent going in.
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.
as someone who has reversed the Google Play Services API, its utterly evil and you are correct that its about as far from open source as you can get
Can you please elaborate? Would love to hear more.
A good analogy. I always felt a little dirty using VScode. Back to tmux, vim a few months back like it has been for the last 20 odd years.
How do you run Cline on it
I don’t use any AI agents to write code. I spend most of my time undoing shit shows left by people who do.
There's lots of different AI agents now. It's not rocket science and conceptually they're all built the same.
codium (now windsurf?) has a vim plugin : )
Codeium changed names to windsurf, Codium is still the same
Maybe I'm just old, but I find it so strange that you have to compare something from Microsoft to something else to indicate how evil it is. It's Microsoft.
Open Source projects used to all be hosted on hundreds of random mirrors. The hosting of which was free and donated, because it was just an HTTP/FTP/RSYNC directory on a file server in a closet in some corporation or university. Didn't even need to be reliable, as there were hundreds of mirrors. Linux distributions, and some very old projects, are still maintained this way.
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.
This is the difference between open source to share useful code and open source to build leverage for a business.
> 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.
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.
I think GP was speaking tongue-in-cheek about the situation.
There is not much to see on a server that is down, so let me share some free advice instead.
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.
2. link: https://theia-ide.org/#theiaidedownload
Each time I try to use Theia IDE I have such a bad experience:
* 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.
[1] https://github.com/eclipse-theia/theia/issues/9295
https://theia-ide.org/docs/user_install_vscode_extensions/#c... (sigh)
> 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
Note they say that most extensions are compatible, and those not listed as compatible might still be.
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...
They use vscode extensions and the repository in discussion, so not sure how much derisking it is than vscodium .
From my experience having attempted to migrate away from VSCodium (in the attempts to de-VSCode) and build atop Theia as a platform, there are few things to consider:
- 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.
Why in earth would they stain their efforts with the "eclipse" name. Screenshots look great!
I in some sense empathize with you, in that Eclipse have a minor branding problem, a major discoverability problem for all of their projects of subprojects of projects to track the projects. That said, Eclipse the editor was all in on building a platform[1] upon which other people could build their own editors. It was quite popular before Electron arrived and sucked all the oxygen out of the rich text delivery space
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...>
I have to somewhat defend Eclipse as the Java platform too. Twenty years ago people had hardly any RAM in their machines, and Eclipse definitely suffered for that, because without RAM you run into lots of disk i/o.
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.
As an embedded developer, it's still painfully slow, every CPU integration (half a dozen) are half baked, never comes with platform appropriate hotkeys, and eventually consumes enough RAM my iGPU can't allocate textures, and has been doing so since 2008.
> while offering real parsers (not treesitter)
Honest question, what's wrong with treesitters?
Very short answer: because a treesitter will do an approximately correct parsing, while a hand written parser will do a correct parsing (and if not, it is a bug).
For a full, balanced overview, see: https://blog.jez.io/tree-sitter-limitations/
> MS is under no obligation to provide an OSS editor, but playing tricks after luring people in is not nice.
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.)
Genuinely curious, how did Microsoft "shoved it down everybody's throats"? And weren't Jetbrains, Eclipse, Vim, Emacs dominant enough(especially Jetbrains) to have done so before Microsoft?
VSCode garnered such a significant market share that supporting VSCode almost immediately becomes your #1 editor (see Rust surveys: 2016-3%, 2017-30%, 2018-45%, 2020-54%, 2023-62%--note: VSCode was only released in 2016!).
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).
> With JetBrains, the issue is that they would have almost certainly considered an LSP as a competitive advantage
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
> (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.
I was watching the "Simple Made Easy" talk by Rick Hickey, and while he was talking more about programming languages, the talk could extend easily to editors and other type of tooling. People are always going for easy, not simple.
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.
People will opt for what's accessible. Vim requires you to learn an alien control scheme to even navigate through code, and Emacs requires you to learn an incredibly unique programming language — one that sees no real world use, let's be honest — for basic tasks. Is it any surprise, then, that Microsoft had no issue swooping in and dominating the editor market when Emacs and Vim users believe that these are "features"?
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.
> Emacs requires you to learn an incredibly unique programming language — one that sees no real world use, let's be honest — for basic tasks.
Exactly what basic tasks in Emacs requires Emacs Lisp? Give me your best/worst example. I can’t think of one.
Yep. Emacs may be unfamiliar, but almost everything is accessible with the mouse and the keyboard. From installing packages to configuring the software.
I am not proud to admit that basically the only thing I know how to do in vim is edit the network configuration so I can install nano - in much the same vein as using iexplore.exs to download firefox back in the day.
"Not broken" trumps both simple and easy.
Syntax highlighting on the open source editors was a pile of regex fail before VSCode came along and forced everybody into the LSP.
Why would I switch from vscodium to theia?
Theia is not a fork of vscode (even though it looks like it). It uses VSCode's code editor (Monoco) and is written from the ground up. Presumably allowing it to support extensions, that for example, vscode does not.
However, its early days.
This doesn't answer my question in the slightest. What does it offer so nice that vscodium doesn't have and that would push me to switch to theia?
As an outsider to the conversation I'd say it answers it vaguely at least.
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?
- Certain core, built-in plugins do still contact MS servers.
- 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.
> However, its early days.
Theia has been out for eight years now,
Came out of beta less then a year ago. What I mean is adoption is slow (if even there), so I'm sure there is quite a lot missing.
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.
Theia is not a fork except all the parts that are.
What parts are forked? Genuinely curious.
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.
Remember vs code is designed to fracture and the forks are an integral part of that. https://ghuntley.com/fracture/
I fail to see the problem with this, to be honest. Microsoft provides a free IDE for everyone to use on any platform, but it's not good enough because the language runtimes and proprietary third party tools aren't completely free?
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.
> 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.
But hasn't Coder.com[0] built a business around exactly that?
[0] https://github.com/coder/code-server
Thanks for the share. Yeah, building upon VSCode (MIT) is a stupid idea. Regarding OpenVSX, it was developed whilst I was at Gitpod and transferred to the Eclipse Foundation. It's been many years now, so my memory might be a little dated as to what came first, but OpenVSX/Gitpod/Thiea/Eclipse origins can all be traced back to https://www.typefox.io/.
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.
it's kind of wild -- none of the multimillion dollar VSCode forks (Cursor, windsurf) are working properly at the moment. It seems open-vsx is quite a vulnerable single point of failure. Searching extensions gives a 503.
Is that any different from a GitHub/AWS outage?
Yes - no one is making 7 figures in order to keep OpenVSX online
Couple of years ago, I think openvsx faced funding crunch and on the verge of the shutdown a dedicated working group was formed (including big names like Google, Salesforce etc) to support it.
Not sure if this outage and its long duration is due to some technical difficulty or an indication of something worse.
Lots of vim/emacs mentions so I feel obliged to mention Helix (https://helix-editor.com/). Used neovim for _years_, tried Helix for a few weeks and never looked back
I love helix, I just wish more editors had support for its bindings so I'm not as out of water when I have to use an IDE.
Really interested. Can you recommend a good tutorial, I tried searching but could not find anything which looked promising.
And Kakoune, if you're looking for something you can easily extend yourself.
helix is so excellent.
This right on the heels of the GitLab 17.11 release announcement [0] which mentioned that they added OpenVSX support to their Web IDE. One of the biggest blockers for my team to use the Web IDE/GitLab's equivalent of "Codespaces" was the lack of extensions support.
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...
If I didn't hate GitLab's gitlab-org/gitlab issue tracker so much I'd go look to see if them offering OpenVSX registry was on the roadmap, because then an organization could mirror the .vsix into their GitLab instance and not suffer outages (in addition to the supply chain safety aspects)
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
Now it's as good a time as ever to try out Lazy Vim. Came to it from Lunar Vim and it just works.
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.
Trying out emacs again after vsvode broke remote ssh for no apparent reason (other than their insane decision to install the whole text editor remotely). Tramps in emacs has some quirks (need to make connection timeouts faster somehow) but it just works.
What I find nice about these terminal IDE's is that I can just deploy my config to my servers I access over ssh and it's the same experience as locally
https://github.com/lapce/lapce is an interesting contender in this space
I happened to be poking around in their issues to see if there were mirrors and observed that in addition to the linked status page on this thread, the underlying Eclipse Foundation has their own (multiple) status tracking channels
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"
Worth noting that you can configure VSCodium to use Microsoft's extension repo, and you can even trick extensions into thinking VSCodium is VSCode. It just can't be distributed that way out of the box for legal reasons.
Thanks, haven't tried it yet, but just found the relevant configuration settings described in the docs [0] and more detail on Stack Overflow [1].
[0] https://github.com/VSCodium/vscodium/blob/master/prepare_vsc...
[1] https://stackoverflow.com/questions/44057402/using-extension...
This is why I've been learning neovim for the past couple weeks - the vscode reliance on Remote SSH extension felt like lock in
Do you have a particular configuration or set of extensions you've been looking at? I mostly use JetBrains IDEs but have been trying to get a decent neovim setup as well. I followed some random tutorial and eventually got a decent setup working but it feels fragile and I'm not sure I could reproduce it if I had to. I am looking at AstroNvim now as a potentially more stable/reproducible setup.
With editors like vim, neovim, emacs, it's way easier to get the lay of the land first (tutorial, play around with the default config,..) and then list out what you need.
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)"
https://www.youtube.com/watch?v=XA2WjJbmmoM
There are a couple of options for Remote SSH with neovim:
- https://github.com/chipsenkbeil/distant.nvim
- https://github.com/mikew/nvrh
What are good, open source, alternatives to VS Code? That are modern IDEs with decent support for frontend, backend, data science, and embedded (possibly via extensions)? That mostly work out of the box, without having to set up and configure NN things.
They don't exist. If you want out-of-the-box, use Jetbrains and pay for it. If you want free-as-in-beer, VSCode proper. For free-as-in-speech you'll spend hours to learn/configure neovim/helix/emacs, or even hunting down free VSCodium plugins, I guess.
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.
Zed is close, keep an eye on it when 1.0 comes out, probably later this year.
Dozens of AI powered IDE forked from VSCode impacted. Now is the right time for better managed openVSX, more collaborative efforts.
Yeah, the problem with centralized hosting is that the host can go down. Something like IPFS/IPNS could act as a decentralized backup plan.
Surely you can download the extension from a mirror and install it manually(ie the "old fashioned way")?
Not legally.
I'm partial to running Code - OSS and patching it with the aur/code-features and aur/code-marketplace.
Basically we've seen this movie before -look at the trajectory OSX took. As far as I know, it's not really possible to build a useable pure darwin installable OS. Puredarwin itself is stuck in whatever was released in 2018 or earlier.
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.
Use Torrent, not HTTP.
Looking forward to the post-mortem of this outage.
#hugops