> Cursor allegedly has been flouting Microsoft terms-of-service rules for some time now by setting up a reverse proxy to mask its network requests to the endpoints used by the Microsoft Visual Studio Marketplace. This allows Cursor users to install VS Code extensions from Microsoft's market. Other VS Code forks tend to point to Open VSX, an alternative extension marketplace.
There are specific protections allowed when the goal is to maintain / break compatibility. If Microsoft locks competitors out, competitors are quite often permitted to pick the lock.
I can't comment on this situation since I don't know the details, but it's very likely this is fully legal.
See Oracle / Java API lawsuit, garage door opener suit, etc. To see where the lines sit.
There is a direct cost to Microsoft that these companies are pushing on them. Specifically around bandwidth.
Microsoft does not need to provide access for downloading plugins from their servers to anyone else.
The "C/C++" extension github repository is 4MB. Probably the download size for the extension itself is a fraction of that, but I won't bother measuring. It was downloaded 400 times over the last minute (there is a live counter on the extension page [0]).
[0] https://marketplace.visualstudio.com/items?itemName=ms-vscod...
That's a 25MB/s or 200Mb/s bandwidth, for one of the most popular extensions. Multiply by the top 10 extensions and you get the bandwidth of an average home optic fiber connection...
If you're giving something away online for free, then you are giving it away for free. I'll never understand the cognitive dissonance of "conditionally free".
A more important question is where do we draw the line of abuse? If someone links to my website and that's okay with me, but someone else does and I don't like it, do I have the right to conditionally block access to them? And do they have the right to circumvent that to regain access that I freely give to others?
If Microsoft were not be very willing to bear this cost, they would never have built a marketplace into VS Code.
If bandwidth is so precious, why isn't Microsoft paying users for the bandwidth they use pushing ads to their PC? Why isn't it considered onerous for them to foist tens of gigabytes in updates every week? This is a direct cost to consumers that Microsoft is pushing on them. Do you think that's fair? Or do you want to admit that your entire premise and argument is nonsense corporate apologism?
I was using windows and wsl, and they were adding scripts to my profile directory (code.cmd) which then took precedence over vscode, from what I remember. Tracking that down required googling to discover other people who were having the same issue. If this is what I have to do when I first start using a product, it just leaves a bad impression. Additionally it seems that it will hijack the 'code' alias in WSL if you select this option or not, which is where I primarily use it. And then when cursor updates, it seems it will again attempt to overwrite this alias.
I'm not the only one who encounters this issue https://github.com/getcursor/cursor/issues/2654 https://github.com/getcursor/cursor/issues/2566 https://forum.cursor.com/t/do-not-hijack-code-shortcut/60671 https://namvu.net/2025/01/cursor-stole-your-code-command-her...
Maybe it works great for other people and they never encounter this issue. Maybe it seems like a petty thing. For me it seems it's implemented to attempt to 'force convert' some vscode users to use cursor all the time, and maybe that works and it's a success from a business perspective. But I won't use it again.
From MS point of view it’s Cursor doing it to them.
The way copyright and other rights to your IP you claim to have work in practice, is you need to enforce those claims or loose the rights.
It would impact users if things escalate and gets more hostile between the two and starts impacting features (like regressions in extension availability)
I get Microsoft is a Megacorp, but I don't think too highly of all these ai startups either.
Either you don't get caught and can move faster, or you get caught and the penalty is usually small and a long way down the line, by which time your company will have either folded or grown enough to pay without difficulty.
That is not the scenario here. Cursor is being hunted by an extremely motivated corporate competitor. Cursor has been leeching the gorilla's blood and the gorilla finally noticed. Microsoft doesn't (necessarily) need the law here. They have it if they need it, but they can kill Cursor without needing to sue them. The disastrous outcome isn't a penalty--it's a critical mass of users switching to Copilot because they can't use their Microsoft extensions in Cursor any more. Cutting off the extensions on the same day that their Cursor clone went live was effectively a declaration of war from Microsoft.
https://en.wikipedia.org/wiki/Microsoft_litigation#Antitrust
All cursor is doing is saying this blob of crap is compatible with their fork and letting you run it. This is akin to browsers supporting extensions from other browsers, and many other scenarios.
What Microsoft is doing is trying to prevent VSCode from becoming spontaneously obsolete because coding with Cursor a) removes you from VSCode and b) does it better.
I did completely move away from GitHub (which is by now named "ShitHub" in some circles) the moment that Microsoft enforced 2FA on my account.
Yes, perhaps 2FA is a good idea for many scenarios, but if some company forces it upon me, I won't have any tolerance to be willing to be their customer/user anymore.
See [1] for a different perspective on this topic.
---
And yes, I agree with you that is a great idea for a next step to at least strongly reduce (or even cut) your dependence on NPM wherever possible.
---
[1] https://stackoverflow.com/questions/72512276/how-to-disable-...
I also present the CEO and board with other arguments, like moral ones about involvement in atrocities and tyranny, legal ones regarding things like data protection, market related ones such as the likelihood of a future showdown between the EU and US.
But the risk that MICROS~1 fucks us over directly is even easier for them to understand, because they have been using Windows and Office for decades and are quite queasy about 10 going EOL and what the next set of annoyances in document management will be that they'll have to suffer under. It's something they have immediate experience of and didn't like.
A year from now it's probable we'll only have a couple of Windows machines left, because some of our customers use software that doesn't run under Wine and tries to block execution under both debuggers and container environments.
To me the former is tolerable, the latter is not.
If anyone remembers WCF/AppFabric/WWF and Silverlight, that was the last stack I rewrote someone out of the shit on.
I had the fortune to be involved developing the LEGO Mindstorms EV3 programming software. Under the hood, it was a small web browser shell (using Mono on Mac and WPF on Windows) around a Silverlight Out-of-Browser app. Anything beyond the permissions of the Silverlight app (e.g. bluetooth/USB comms) was an RPC from Silverlight to the shell.
After completing the Mac/Windows app, LEGO wanted to deliver a similar experience on iPad. There was no Silverlight there, and it was clear there never would be. But we were able to leverage Xamarin stuff to reuse most of the same codebase, just with an iOS UI on top.
Too bad “every app is just a website” took over because of the cross-platform issues.
Due to experiences like that I refused to buy volume licenses from them, too. Sometime later I got an audit demand for which I had a reply ready.
"lol, no."
SharePoint Server Subscription Edition still uses those techs today.
Open source project hosted on GitHub, for the network effect.
Use Rust which also rely on GitHub for crates.io
> Use Rust which also rely on GitHub for crates.io
It is a very good idea to get rid of both as far and soon as possible. And, as I wrote at https://news.ycombinator.com/item?id=43793095 in some circles it already became very fashionable to call GitHub "ShitHub" and somewhat look down upon open-source projects that have their central repository on GitHub (i.e. are willing to enslave themselves to Microsoft for some stupid "network effect").
I talk to a lot of people developing both open-source, and proprietary software. Some of those are on GitHub, others on SourceHut, others on Codeberg. I have never heard, not even once, a single person other than you use the word ShitHub.
Maybe it's used in some obscure circle you are in, but it's nowhere close to fashionable.
You’ve said this a few times, without stating which circles? I assume mostly among four-year-olds given the level of wit involved?
Unless the developers of the IDEs hit by this never actually read the ToS, of course, which would only make them less reliable as an IDE provider.
After all MS is completely okay with their AI darling reading ToS-protected stuff.
Also, if you do open source contributions, never ever agree to assign copyright to the project: doing so means the project owners can relicense the code base, even towards proprietary license.
I think project governance matters more than license, and the BSDs are great examples.
Having said that, I’ve soured on the GPL. V3 more-or-less bans companies from selling you hardware that runs free software, but lets Google, Meta, etc use the software to expand their cloud-based monopolies where surveillance capitalism and enshittification have won out.
AGPL or BSL seem much better if you want free as in freedom. BSD and Apache at least don’t force your software off of machines that end users control.
Yes, BSL is not open (TM) or free (TM) or whatever. It’s still better IMHO, since it at least has some path to revenue for the developers.
Half of the initial mac os x kernel was ripped off freebsd, giving pretty much nothing back.
Afaik netapp is also basing their system on bsd.
Sony uses freebsd as the OS for their playstation.
And many more, giving essentially nothing back.
Microsoft knew they would never get significant market share unless they offered open source alternatives that let you circumvent the telemetry in the early days of VScode. Embrace. The acquisition of github was part of this strategy. They made an ecosystem that sucked a lot of plugin developer talent into their ecosystem. Extend. Now the market share is firmly in their grasp and competitors have become weaker. Extinguish.
VS Code source is under MIT, but the built product is under an EULA - and all Microsoft extensions are under an EULA that requires the use of the EULA build.
As has been already posted multiple times here... https://ghuntley.com/fracture/
Sad to see it go in such a predictable direction.
AOSP used to be the complete Android system, more or less. And when you bought a Nexus device from Google, that's what you got. But they progressively abandoned the stock apps to replace them by their proprietary counterparts, or ones tied to their online services.
Then, they replaced their Nexus line of phones with the Pixel line. Pixels are full of proprietary technology, and their last move was to make Android development private.
The issue with VS Code is that it opened the door to many other editors, which, in a sense, drive people away from the Microsoft ecosystem. The combination of VSCode, GitHub, and TypeScript is ideal for MS: they win by attracting companies to GitHub services (which also offer code spaces based on VSCode); they also win by attracting users to Copilot, which helps them improve their tools. Creating an editor like VS Code is expensive; they are not paying the core developers because they prefer to give away money. They do it because it's part of their business strategy. You don't pay for VS Code; companies that subscribe to GitHub services do. A VS Code fork circumvents that strategy.
Minor annoyance to have to make my c make project generate buildchain files for a compiler I’m not using & copy that file into my project root to commit it- unrelated to the original question, but also annoying that I have to manually generate it every time I make significant codebase changes.
Yes, you're right about that.
Basically, it boils down to "use CMake with Ninja/Makefile" (even if you don't strictly have to, you could write a script that creates the json yourself, for example). When cross-compiling, you may also have to whitelist compiler paths.
Add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON as command-line arg during the config step, or add the equivalent "set" call to your CMakeLists.txt, restart clangd (ctrl+p, restart clangd), and you're good to go.
There are minor annoyances when cross-compiling (it using clang -- some compile options are incompatible and need to be removed in global user config, and it not extracting default compiler defines from compilers) but they are very easily worked around
I more or less use this as config: https://gist.github.com/TuxSH/0220d1235dace77f82738c96718011...
Awesome software, but I don't trust the upstream org further than I must.
The worst part is all the VSCode is still promoted to developers as open source, even though official extensions increasingly aren't, with bits and pieces gradually replaced with closed code. It's not that closed source is necessarily bad, but when F/OSS popularity is milked for marketing purposes while stuff like this happens, it just feels very wrong. If you want to be closed source for reasons, fine, but be honest and upfront about it.
IIRC Apple at least has always been fairly clear and consistent with what bits of its software are open and what bits aren't. To my knowledge they haven't been breaking off chunks of Darwin and closing them. (Although if I'm wrong do correct me.)
Weird, ADS is dead and nobody spent any time on it, I wonder why.
I don't mean that in a mean way, but have you considered another editor that is more open?
It’s fast, the interface is distraction free and it already has support for all the languages I use regularly. Even Terraform support, which is notoriously hard to get right, is better than the current “best” in VSCode.
Thanks for the recommendation
Minor grievance, sure, but it it not an encouraging sign for their priorities.
I also think it's a mixed opportunity not to allow for something like Lua or a Lisp to configure Zed in. It's very promising but I'm not willing to switch just yet.
It supports most vscode extensions right out of the box.
Zed is almost a good solution but like most they are missing most of vscodes markdown editing features*. Also, right now there's no way to hide the sign in and ai buttons from the UI.
Debugging isn't in yet, but is actively being worked on and planned for public release before 1.0: https://github.com/zed-industries/zed/issues/5065, there's an active channel in their Discord discussing the development of the feature.
I actually worked a bunch on the language server logic in Zed trying to get a bunch of it to work on Windows. All I have to say about that is: ugh.
I figure e.g. emacs will always be there when that happens.
All I need is a Github Copilot clone and a good code search feature.
Oh and automatic reloads of open but unchanged buffers when switching between git branches.
Oh and the ssh remote extension.
Yep, vscode is more intuitive.
However emacs is mostly the kind of thing you dedicate a couple of months of discomfort and enjoy for the rest of your life. Quite literally.
Spending some money on the “mastering emacs” book (https://www.masteringemacs.org/) is worth imho.
Bonus point: little by little you start enjoying doing more stuff in emacs. It’s a meme, but it’s true.
And "Mastering Emacs" is brilliant.
MS made some very real and very usable innovations. Emacs hackers/maintainers would be wise to copy them, like I'm sure Microsoft copied things from emacs.
It's a bit like the UI aspect of the browser wars. Everyone wins when good things are cloned and then iteratively improved upon.
I'm using https://github.com/copilot-emacs/copilot.el
> good code search feature.
project-find-regexp is a nice start.
> Oh and automatic reloads of open but unchanged buffers when switching between git branches.
(global-auto-revert-mode t)
> Oh and the ssh remote extension.
I haven't compared it to Tramp.
or you could just use copilot through copilot.el
> and a good code search feature.
Like through helm or ivy?
> Oh and automatic reloads of open but unchanged buffers when switching between git branches.
My emacs does that, and I don't think I did anything special to get it.
> Oh and the ssh remote extension.
like tramp?
VSCode was/is often touted as open source and Microsoft are using it to present themselves as community loving until MS sees an opportunity to extract some money/hinder the competition.
In comparison, Jetbrains is transparent with their offerings and what you get. There is in my opinion a clear difference in how they operate and how they are perceived.
I feel like I've been doing that for years on a wide range of topics, but every time it's like you're talking to cult members.
How do you break through to people? People say things like "you're overthinking it", "that's never going to happen", "I don't care because I like using VSCode and not alternatives".
Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
I remember when basic features that come for free in VS Code cost thousands of dollars per developer, back when "update" meant "buy the new version (again)". I swear, people forgot how good they have it.
The change that made the Microsoft addon incompatible with VS Code forks happened four years ago.
For people who care, to some degree, about using an open source tool, for whom the marketing that VS Code is open source played a role in their choice of using it, it should matter. And it matters that other projects (think Platform IO and more) choose VS Code as a platform to build on top of, and they get away with it because "it's open source".
Otherwise keep hoping that your corporate or VC funded SaaS "disruptor" master will continue to be nice to you
Also, very often, the feelings don't correspond to the reality or the aftermath of the decision-making at all. For example, X seems to be hugely upsetting, but life generally moves on, and people are not that touched actually, as much as they protest to the opposite. This happens pro and contra issues as well; for example, people might hate Windows' latest X bullshit, but they won't change their OS in the end, or, pro example, people might feel like that stand by local production, but they won't actually buy local, because it costs more.
What we are very blind to are problems that don't have immediate negative feedback. Comfort and security are huge motivators, especially when people have to let go of them. PR and propaganda (same thing really) uses this, among others, very effectively.
Me, personally? No, because they're honest about it. I use BBEdit and Nova frequently on my Mac. Those are as closed source as it gets. They never pretend otherwise, though. You pay your money and you know what you're getting. VSCode tries really hard to appear to be open source, as long as you're willing to ignore the million places where they aren't. (Python devs: are you using PyLance? I'm talking to you.)
And ironically, those closed editors seem to play more nicely with the ecosystem as a whole. Neither BBEdit nor Nova have ever tried to talk me into installing closed plugins, and the same plugins that work with them work great in Emacs and Zed.
If I go to one bar that charged $5 per beer, and another that gives free beer but makes you rent single-use mugs for $5, even though the end price is identical, the rental bar's going to annoy me horrendously. Just admit what it is and let people judge on their own merits.
The opening of Proverbs has:
1:5. Let the wise hear and increase in learning[...]
Tech bubble remains tech bubble, when common, non-tech people are much more screwed, yet nothing is being done except saying "lol, just install Linux".
Ever since I got remote mode working, I haven’t noticed any missing functionality I care about. (I also haven’t tried installing extensions for the pile of commercial services work uses, and that I wouldn’t pay for anyway.)
Edit: Since cursor now has near infinite VC money, perhaps they should fund a few open source devs to work on those forks. Why should they get a free ride?
Where this has become increasingly problematic is rampant materialism and corporatism.
If the only real motivator in town, especially for the powerful, is material gain then there is nothing to constrain wanton greed. This becomes even more pronounced with corporations because their overtly stated purpose is not but greed, so even if the individual actors have some transcend moral compass they will be in conflict to their programmed imperative to "do their job".
Currently many of the powerful are materialistic and materialism can bring worldly power. Other political paradigms may come to the fore but as it takes a form and gravity it will likely come into some dialectic conflict with the prevailing materialistic status quo. That may be a peaceful resolution, but I'd not be certain of that.
> Is it individualism? That they only consider their own narrow short-term interests, and have become blind to collective problems?
What collective problem, that someone might have to unexpectedly burn a weekend writing a new editor? That {emacs|vim} isn't popular enough? That people might have to go install openjdk in order to start using eclipse?
You just have to let go of things you have no real influence over.
And in the same sense regarding VSCode, and the VC fueled takeover of the open source ecosystem; the old guard warned against it, that's why they promoted GPL as critically necessary.
I don't think they'll survive very long as it seems that they don't actually have that many things that differentiate them. And there is a lot of competition.
Maybe against the store rules tho, dunno.
Microsoft still holds the crown when it comes to C# debugging, but for most proprietary MS extensions there are free, open source alternatives. They may not be as polished as the ones Microsoft actually pays people to maintain, but I don't see why Cursor would actually depend on any of the proprietary ones if you're not using it for C# dev (and even there competitors like Jetbrains have figured out a way to make it work).
It is like when the same folks act surprised, after Google does something to their Chrome and Android forks.
Don't want big tech sponsored products?
Pay open source developers, so that they can actually make a living of their work.
The extension itself it MIT licensed (so could be hosted on the open VSIX store, if it wasn't down because the Eclipse project is suffering from server issues right now). In theory any fork can patch out the check and re-release the extension.
However, the extension packages some binaries that are proprietary, and have been since about four years ago. People could re-implement those and re-release an open version of the extension, but you can't just (legally) take the proprietary binaries and ship them if you don't have the license.
Open alternatives actually exist, but their quality and ease of configuration depends on your use case. In large projects the proprietary extension seems to be worse from what I've read.
The Microsoft C++ extension is not open source; not sure what people were expecting here.
It's another thing for its license to explicitly prohibit its use with any other IDE, even if it's API-compatible, even if it's literally exactly VSCode recompiled with another name.
And it's yet another thing to proactively insert checks for that.
I sure do wish my industry didn't need windows. I'd happily go to Linux and never look back.
As an added bonus, this setup is excellent for pair programming. Just use voice chat via signal or anything else and have the other person connect to the same tmux session over SSH.
That said, if you must use a GUI based development environment, I know of people happily using netbeans. I am not sure why anyone would use Microsoft’s tools for this.
Vim is so powerful, most people only know how to edit 1 file at a time and how to exit vim... My typical dev environment has over 10k+ open buffers in 1 vim instance. you want to know what "just works" in this environment? vimgrep w/ ## to find anything across these open buffers AND built in Ctrl+P autocomplete... Get good with splits and tabs inside vim and you'll never be limited... it just works.
For more "developer" focused professions I bet using tools tailored for their needs suits them better, I recently wrote some C# for some Windows software in Visual Studio in a Windows VM and the ootb experience is pretty good.
You're not the only one, but you're probably a small minority with your DE setup.
Really?
"The gist is that you should be learning by doing. It takes patience and dedication. Study and reuse other people’s code, but do not blindly copy-paste things: patterns of behaviour you do not understand will quickly accumulate, resulting in a potentially fragmented, frustrating experience.
The key is to not expect instant gratification. I know, this is how most of the world works these days. Thankfully, Emacs runs contrary to the zeitgeist: it caters to the user who cares deeply about the quality and functionality of their tools."
From my reading of the computer history books, it seems like there was a time when this sort of dedication to taking things slow and investing time into your tools and moving steadily towards mastery of all aspects of your craft were seen as de rigueur, part of the game.Moments like this, you want to imagine that some people will turn back to that. I guess when the next big thing comes along with the hype and marketing and "ease-of-use", we'll be off on the same cycle again, though.
"That's ancient history", they said.
"Lucy will hold the football this time for sure", they said.
I spent most of the past ~fifteen years working in Sublime and just switched between that and the terminal for build and test—not fancy, but then, C++ coding isn’t a speedrun. Sublime is clean, fast, and portable.
However, dev tooling has advanced so much now that I started learning and using neovim last year so I could take advantage of good syntax highlighting, LSP, and CoPilot. I don’t get enough daily reps to be good at core vi yet (I am a team manager so most of my time is spent asking questions of devs prefixed with “This is a really dumb question, but”) but despite all the techbros who’ve flocked to it I think neovim is pretty good technology and responsive. You can get the tooling features but control UI/UX; for me, I want as much code on the screen as possible, and I especially resent widgets that eat into vertical space. I started with one of the off-the-shelf all-in-one init.lua configs off github, but it was too complicated and I quickly broke things. What’s worked better is going through a video series on YouTube (https://www.youtube.com/watch?v=zHTeCSVAFNY&pp=0gcJCdgAo7VqN...) and building up the init.lua I want from scratch. As noted, I’m not great with it, especially the normal vim motions, but I’ve learned to get around, it’s fast, I can see my code without a million distracting widgets, and I get the benefit of clangd and CoPilot.
But to me the appeal of nvim is being able to fully remove everything I dislike.
I also use PHPStorm for web dev work and we use MS DevOps at work and that extension is unstable, causes IDE errors for me and I will not use MS products just for this one irksome bug. I prefer PHPStorm for my work, because working with PHP in VS Code has never been a great experience for me. I just want my tools to work, I fight with code, I don't want to fight with my tools as well.
So jetbrains allows everyone to use their marketplace and their plugins outside their ides?
I can download the jetbrains php extension add it to my own shell and not pay for it?
It's licensed under MIT + VS Marketplace Terms: https://github.com/microsoft/vscode-cpptools?tab=License-1-o...
If you fork it and don't use VS Marketplace, it's only MIT. Or am I missing something?
(The license like that existed before cursor, it was basically the reason for vscodium)
(Source is https://marketplace.visualstudio.com/items?itemName=ms-vscod... the license link at the bottom)
The same problem with the c# extension, which has had an even bigger shitstorm since some parts of the extension need a ms account and depending on the company needs to be paid
> Embrace
Yay, MS loves open source!
> Extend
Wow, VS Code is so useful!
> Extinguish
shocked Pikachu meme
They seem to have this backward. Visual Studio Code is a derivative product of VS Codium.
> This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.
If Microsoft are going to call VS Code “open source”, then the marketplace should not be selective on clients. If so, it’s not Open Source, it’s Sparkling Virtue Signalling!
Hell, Debian's repository now also include proprietary code (https://www.debian.org/vote/2022/vote_003) so binary BLOBs are perfectly capable of doing distro checks and refusing to run on forks.