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.
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 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.
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 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.
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.
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.
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.
> 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...>
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.
However, its early days.
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.
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.
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"
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.
[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)"