To be clear, I'm don't like the Microsoft has a proprietary Marketplace, but a company openly violating the terms of use for their own profit is a bit much in my opinion.
> 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.
Terms of service often contain illegal provisions. I teach kids to flout them too. One of the biggest sins in school is kids learn to follow rules uncritically.
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.
I am quite confident that the bandwidth cost is absolutely not a concern for Microsoft, and that the obvious goal is for them to capture the market.
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]).
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...
I am glad you have insider knowledge to be so confident. I would rather those costs go towards furthering VS Code than helping out Cursor. This comes from someone who uses Cursor and not the biggest fan of MSFT.
Pure speculation but I would see the more logical argument being Cursor is a for pay product, why should they have access to the marketplace?
Because MS didn’t write most of the extensions yet engineered things conveniently such that you have to use their service to get them. Other text editors somehow manage to not lock people into similar dilemmas. They’re not profiting from running the marketplace or providing VS Code for free, it’s about locking people into a product. Cursor should be allowed access because interoperability is a societal net-benefit.
> those costs
…are likely minescule. I run similar services at my day job, just at a much larger scale than a text editor app marketplace, and know the precise cost to run everything. I am often disturbed that people might actually think cost:revenue is tight enough that they should defend a behemoth about callously gating access to it.
> I am often disturbed that people might actually think cost:revenue is tight enough that they should defend a behemoth about callously gating access to it.
I think it's more likely that they imagine themselves in Microsoft's shoes. After all, it's a very popular editor and the mechanism of vendor lock-in is clever - give away the editor under the noble banner of open source, while jealously gate access to the plugin ecosystem that makes the editor as useful as it is.
So no, I don't think they earnestly believe that the egress costs are anything more than pocket change. But it's almost certainly what they would argue if they were in Microsoft's position.
Couldn’t it wind up being easy for Cursor and other variants of VS Code to be long run beneficial for VS Code itself? Seems like having a different third party team extending your stuff and testing it, could be hugely valuable, they take risks and move fast, the upstream project gradually learns from what works for the forks, people contribute various other new extensions.
In the age of LLMs, community is worth its weight in platinum, cutting off Cursor just incentivizes them to develop some new better thing with better technology (cough Zed, Ghostty) to compete with VS Code which won’t benefit Microsoft because it’ll be separate. What’s the use in not just open sourcing the C extension? With more people moving off C anyway, might as well get the free community contributions
MSFT want to build their own Cursor aka Copilot Agent.
They can build a better product with their resources effectively extinguishing Cursor, who will then need to find a way to differentiate.
If Cursor was smart, they would have decoupled from the beginning as they had first mover advantage. They will now have to adapt while fending off competition from MSFT and the other players.
MSFT meanwhile, have discovered that this market is too profitable to be left untouched. They have probably been building their agent for a while and have now decided to launch while simultaneously blocking direct competition. They already have an ecosystem with users who have switching inertia. It's a brilliant yet ruthless move.
Cursor is a small team, MS is a titanic enterprise. I highly doubt that Cursor could exceed MS when their entire product is built on VSCode in the first place and they can't even seem to describe their usage policies to their paying users.
Aren't you curious how 4MB of typescript can parse and understand C++ code? It doesn't. It downloads an additional 200MB binary language server that does all the work.
It is a public website and a public service - it's like saying "hey I got free lemonade here, but you can't have it unless I decide I like you first."
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?
> I'll never understand the cognitive dissonance of "conditionally free".
it's not a cognitive dissonance. Lots of places have conditionally free stuff - it's a form of price discrimination (coupons, special deals etc).
Microsoft is within their rights to make their servers conditionally free. What the community can respond with is to move to a different server, if such conditions are not within the bounds of the community's lines.
Unless said beer contains numerous nanoprobes that phone home every measurement detail about your insides while they traverse your intestinal tract, the beer is a lot freer than vscode.
> I'll never understand the cognitive dissonance of "conditionally free"
I don't think I understand. You don't understand how something can only sometimes be free? Like, free parking only on weekends? Free entry for young children? And free software depending on who you are and what you are going to do with it?
> Because they run a marketplace for Vs code they should also support paywalled forks?
Since, because of the marketplace, MSFT (somewhat) "monopolized" the access to extensions, they should not block other applications (forks) that also attempt to access the marketplace.
Those quotes around monopolized are really doing some heavy lifting considering that it is utterly trivial to use alternative marketplaces on (edit: flavors of) VS Code.
Seems to me this is plainly the community wanting its cake and to eat it too.
Why does Microsoft have the right to cause users unrestricted bandwidth use through updates and ads and spying? That's a real cost Microsoft is forcing onto users.
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?
cursor also hijacks the 'code' alias to start vscode from the cli, which I use a lot. It's extremely annoying to have cursor start instead and unnncessarily difficult to get rid of. I removed cursor because of this.
I'm pretty sure that was an option when installing, I remember unchecking it and 'code' still launches vscode for me. Curious how it's difficult to remove, I'd expect something like rm `which code` to do it. Unless they add the alias to your shell or something?
maybe they changed some things last I used it, which was maybe six months ago. I've tried cursor twice and had the same issue each time. I saw the dialogue you were talking about and specifically selected to not override the code extension and it happened again anyway. Maybe there was something left over from the previous install, I don't know.
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.
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.
Ouch, that does sound painful. I've only ever used it on Linux and Mac which work similar enough that if it did override it, it would be a mild annoyance at best.
I don't know windows + wsl enough that I'm sure I would've been caught out by that and pissed off as well.
But why should we care? It's obvious Cursor's IDE is VSCode, I cannot think of a single reason why I should be against executing whatever the hell I want on my computer. It's not Cursor doing this, it's me doing this using Cursor.
> 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.
Generally only applies to trademarks, not copyrights. In most English speaking countries copyright is a proprietary right and you don't lose it if you don't actively enforce it. But there could be time limits to a plaintiff bringing a civil case to court (usually a couple years).
It doesn't apply to trademarks either but it's convenient to insist that trademark "enforcement" is required if you're either a trademark lawyer looking for more clients or you're an aggressive litigant and you want an excuse so people will forget you're a monster.
Oh the Disney corporation had to sue the village primary school because their play used a trademarked name for a folk tale everybody knows about... it's not that they are monsters who care only about money and power, they were forced to secure undisclosed damages and make children cry by some principle of law which definitely exists. Mmm sure.
The last time I pointed this out on HN somebody responded with LLM generated nonsense "citing" non-existent US legal cases which they argued somehow prove I'm wrong.
There is a huge spectrum between suing village kids for trademark infringement, and allowing everyone to misuse and abuse the trademark to the point it becomes a generic term.
I don't think I disagree with you generally, but it must be recognized that trademarks are different from copyrights in that there is a mechanism where if you don't assert your rights in the trademarks you could lose them.
And, like what the sibling comment said, I'm not going to engage with you on unnamed posts where unnamed people cited some LLM to argue against you...
> I don't think I disagree with you generally, but it must be recognized that trademarks are different from copyrights in that there is a mechanism where if you don't assert your rights in the trademarks you could lose them.
That sounds exactly like you disagree, and not just with me but with reality.
When this discussion topic arises, the most common thing people leap to is genericization - it is possible that if basically everybody calls this thing a Doodad when you one day sue some company to stop them using your Doodad trademark to describe their product, the judge says that's just what everybody calls these thing so you lose. But: One: This happens when you're a tremendous success! Most businesses would kill to have a product as widely known as Xerox copiers or the Hoover vacuum cleaner. Two: You can't fix this with lawsuits anyway, the judges are looking at what everybody calls the product, and you're not going to sue everybody and even if you sue movie stars and TV hosts you won't change what everybody else calls it.
Next most common are people's half memories of the 20th century trademark restitutions from World War I and World War II Germany. German industrial firms as "punishment" for their role in these conflicts had their marks invalidated in some cases. So you might well find that some mark which is protected in say, Venezuela or Japan is just generic in the United States or say France, because they won the war. In a fuzzy memory this somehow becomes the Germans "failing" to protect their marks, just conveniently in the immediate aftermath of a war, hmm, I wonder why it's only German companies, why they "failed" to do this and only in countries they'd just lost a war against...
Finally Estoppel. Estoppel isn't special to trademarks, it's a general principle in civil law about you can't tell people they can do X and then sue them for doing it. If Disney allowed primary schools to do a Little Mermaid play that's blatantly just the script of the original cartoon movie, and then one day they pick on the play at Little Nowhere Infant School and decide to sue, the lawyers for the school (if it can afford them and doesn't just settle) would argue that's Estopped, there's a long standing understanding that it's OK for schools to do this. Estoppel has practical limits so it's not a real threat and is often over-inflated by IP lawyers. So e.g. if Little Nowhere is selling a stream of the play that's not what Disney agreed to allow, or maybe the Little Nowhere "Infant" school somehow has adult actors and a huge live audience which makes $$$ on ticket sales, again a judge can see this is not what Disney envisioned, so they're entitled to sue anyway.
Fair, I actually misremembered and it wasn't my post they responded to with LLM slop but here is a HN user named "ranger_danger" in a thread with me in it, doing exactly what I described, LLM generated "citations" of US court cases that never really happened.
It's hard to know whether it's worse if "ranger_danger" did this on purpose and thought it's OK, or whether they didn't realise how the LLM works and thought this list was real.
While I agree that’s beyond the pale, I do not agree it necessarily means they’re wrong. It just means they are noise adding no value, and a lot of irritation.
As annoying as misinformed people and hallucinating LLMs are, it is a mistake to believe they are always the exact opposite of the truth.
Of course you can't enforce your rights if you don't enforce them.
That isn't what people mean by "losing" the rights.
For example somewhere on the planet somebody is running a pirated copy of Windows 10. But it would be misleading to post a headline saying "Microsoft LOSES copyright over Windows 10!!!".
Another way copyright has worked for decades is qBittorrent for instance, is not responsible for infringements by users. Along with massive carve-outs for Microsoft and the gang to avoid that responsibility too, on GitHub and YouTube and many other websites.
I don't care. I was just surprised at them doing that because I thought MS/VSCode did not allow it.
It would impact users if things escalate and gets more hostile between the two and starts impacting features (like regressions in extension availability)
I don't like the AI startups either. My main concern is this behavior being normalized and the non-AI startups (or open source projects) getting shafted.
The Cursor founders (technically the company is called Anysphere, Inc) are all young MIT grads. What they needed is a 40-year-old with a degree from Fitchburg State who could say "Woah, don't do that! It's not worth the long-term risk!"
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's the play when your adversary is regulation--the government moves slowly, court cases move even slower, and you can grease the wheels politically.
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.
It's possible but I think this is a bit of a non-issue for cursor. Microsoft extensions are pretty good but are not irreplacable, and in the meantime cursor has grown astronomically fast and has grabbed a ton of "AI Coding" mindshare. I think the gamble has already paid off for them: if they have to play nice with licensing and develop their own solutions to replace MS proprietary extensions, they now have the scale to do that. GH Copilot was first in the game but now has the reputation of the poor man's cursor.
This would only be a major issue if most development tooling was controlled by Microsoft. There's a huge market for Cursor even without microsoft's C/C++ intellisense plugins and the open source community will adapt quickly if it's gone.
The risks around proxying to the marketplace are real but that doesnt seem to be an issue yet. It also continues lock-in to VSCode which benefits Microsoft so they might not care.
Agent mode in Copilot. It all went down on April 4th: the rollout of agent mode to all users, and the sudden enforcement of the license in their C++ extension.
> 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.
What will happen in this situation depends a lot on the "reputation" of Microsoft vs Anysphere (Cursor) and their "marketing":
If Anysphere's "marketing" wins, they mass of users will be very disgusted by Microsoft's moves that they will avoid it like the plague to touch basically any avoidable product of Microsoft (including in particular Github Copilot) again.
Or, hear me out, Microsoft decides you’d make excellent additions its House of Faces For IDE/Compiler Competitors and your face is on the wall before you know what happened.
exactly! laws are for old geezers who went to State, not young superstars with fancy degrees. MIT negotiated diplomatic immunity for its graduates, after all. that's why Sam Bankman-Fried got acquitted when FTX went under.
It's what is motivating Microsoft to prevent what Cursor is doing.
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.
Microsoft spends dev time to make a C++ extension for VSCode, gives it for free to VSCode users. I feel like Microsoft has the right to say don't use our proprietary application out of "official" VSCode. Microsoft however can't claim that 3rd party extensions can only be used in "official" VSCode.
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.
This is it in a nutshell, with a lot of corps; IBM, Microsoft, etc. Be careful who you lie in bed with. Seemslike newer companies like Facebook and Google have a much much better track record. They may end a project but they don't suck you in and then say "nah, it's proprietary now"
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.
AOSP is still fully open source and allows you to build a complete Android system on it though. Theirs open source GrapheneOS, LineageOS, /e/OS, and the closed source onset on Chinese domestic phones that have their own proprietary versions on play services.
Here's a pretty good Linus Tech Tips video where he installs stock AOSP on a Pixel phone and goes over how it's virtually unusable. Just like you say, while the Pixel UI may be Google's vision for how the Android platform should work, they've moved to keeping their UI development private just like every other Android vendor. Meanwhile, stock AOSP has basically been left to rot. https://www.youtube.com/watch?v=-hlRB2izres
The track record of Facebook and Google may be better because their open-source strategy is to never open things that are core to their business. Projects like React will not give you a competitive advantage to build a Facebook competitor. What a project like React gives to Facebook is marketing and a carrot to bring promising talent to the company.
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.
Eh. Google may be better than Microsoft in this regard, but this is basically what they're doing with Android. AOSP is now lacking a lot of core functionality that comes with Google Pixel phones, such as RCS messaging, emoji reactions to text messages, camera features and photo editing, voicemail transcription, crash detection. Even the keyboard is worse in AOSP.
Microsoft couldn't have telegraphed their intentions more clearly if they tried, yet tons and tons of people and organizations fell for it (again!).
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.
Yeah, the main reason I never switched from emacs to VSCode is because I was worried about Microsoft's stewardship of it, particularly the fact that the extension ecosystem, which is so critical to a good editor, was burdened. There have been a lot of discussions about VSCodium's use of the manifest files from the original VS Code manifest without permission, and while that wasn't enforced, it was never really resolved.
> Lucky no-one is reliant on niche tools like NPM or GitHub, otherwise they'd be feeling mightily insecure right now.
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.
Now, I get why you made the quip, but I for one keep both of those out of the business I run for this exact reason: I do not trust MICROS~1 in the medium to long term.
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.
I don't like to be seen as defending Microsoft, they definitely have their share of faults, but as far as business goes, I think Microsoft is the least likely company to screw you over as a (business) customer.
Microsoft has kept old software working pretty much unchanged for the last 20 years. I know, I still have software built on early Windows 95/NT4 that works fine on Windows 11...and with some registry tweaks Windows 11 will run on a computer from 2005 without too many issues (sure, 3rd party security software and js-heavy web pages will be slow but that is not directly MS fault).
Windows 10 EOL in 2025 is only for consumer level stuff, you can get Windows 10 support for enterprise for another 2 years at least and some versions even up to 2029, so again, if you are a business, you are taken care of (if you are "cheaping" you way with Windows Home and Pro in business then you kind of get what you pay for, I am sure you as a business don't give away free products/services for years on end). And you can keep using your Windows 10 after EOL, not like they lock you out, they just don't support you...just like you don't repair stuff for free after warranty end.
Compare that to any other tech company that churns through HW and SW much faster and much more severely where old HW and SW no longer works or cannot connect to the internet or use the latest browser so you cannot connect to the latest HTTPS servers. Even open source software breaks compatibilty with older versions much more oftern than Microsoft, but since that is "free" people just shrug it off.
Microsoft's primary business is software running on Microsoft platforms. In the past that was Windows, nowadays it's also Azure.
That famous "developers developers developers" video with Steve Ballmer was a prime example of that corporate ethos.
For most other giant companies in tech, either the primary business is selling a product (and killing competitors) or giving products away as loss leaders and making bank on advertisement
We're building the business, i.e. setting the foundations we expect to stand on for decades to come. Enterprise license that might be possible to extend into the medium term isn't good enough for our long term commitments and the time to adapt to an alternative family of operating systems is now.
As for stability, if you learned GUI Ubuntu twenty years ago you'll be right at home in contemporary Debian systems, while someone hopping from XP or Server 2000 into 10 or 11 would be quite confused for quite some time. Xenial (2016), Bionic (2018) and Fossa (2020) will likely get twenty years of security updates each, into the beginning of the 2030s.
I think something similar holds for the SoftMaker office suite. If you learned TextMaker twenty years ago I believe you'll be less annoyed by their 2024 release than if you learned Office 2003 and get dropped into the 365 style applications. Personally I'd use something else entirely, likely doing a roundtrip through LaTeX or straight PostScript under the hood, but it will be interesting to evaluate some MICROS~1 Office alternatives in my organisation and see what, if anything, sticks.
Eh MS wasn’t going to just let VSCode derivatives soak up all the AI gold rush money, these companies knew the risks. I wonder what it’s going to mean for projects like Zig, a migration of VSCode refugees could crank things up to 11 pretty quick.
I've been shafted by Github under MS ownership in the past, after 7 years.
I'm using a gitea instance ever since.
The only thing Github is good for is visibility/discoverability.
Do not trust Microsoft ever.
They will fuck you.
Is it really a rug pull? It's a closed source extension with terms specific to use with vs code. Nothing has changed in that regard. All they did was close a workaround for a competing company's product.
Crates.io stopped relying on Github in June 2023. Now Cargo uses sparse HTTP-based index lookups rather than cloning the old git-based index repo (the old repo is still offered for users on older versions). And the crates themselves have never been served from Github. https://blog.rust-lang.org/2023/06/01/Rust-1.70.0/#sparse-by...
> Open source project hosted on GitHub, for the network effect.
> 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").
> it already became very fashionable to call GitHub "ShitHub"
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.
Indeed, however all of those have a license that most certainly was abied for, at least if we are speaking about doing the right thing.
Many of these "building castles in other people kingdoms" projects, tend to use free tier WebAPIs, forked projects, reversed engineered protocols, and then folks get entitled when the owners pull the carpet.
It took them five years to actually take action on enforcing their ToS. It's not as much of a rug pull as it's the result of their competitors blatantly ignoring the license on proprietary code from a proprietary code giant.
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.
Yep. Was a Microsoft dev from 1992 until 2017. Won’t touch them now because I spent my entire career rewriting rug pulls. It paid off a mortgage and fed me well but it was a bad outcome for my orgs and customers.
If anyone remembers WCF/AppFabric/WWF and Silverlight, that was the last stack I rewrote someone out of the shit on.
There was a lot of hype and momentum around Silverlight back in the day, until their wasn't. You got a cross-platform (Mac/Windows) WPF-like UI and C# programming environment, which was powerful.
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.
By chance, do you happen to know if the Mindstorms NXT (the old one, before EV3) software was based on the same toolkit? I always wondered what UI framework it used, it had an unusual look.
It was not... it actually was, IIRC, a LabVIEW program with some tweaks here and there. The UI was basically a LabVIEW VI front panel with a LabVIEW 2D Picture Control. Most of the program logic and the compiler to the NXT was LabVIEW G code.
I started my career rewriting a product using Microsoft's DNA business server with Java and never looked back. I'm shocked this keeps happening, honestly. I guess I'm a "never again" sort but surprised there's not more companies refusing to deal with Microsoft.
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.
I think he refers to Microsoft auditing a business' licence compliance. Have you aquired the correct amount of licenses for all the instances you are running and accessing. Microsoft licensing is so insanely complex that even if you ask 2 MS sales reps what licenses you need to cover a certain scenario, you will get a different answer each time. This is also why an audit almost 100% results in finding non-compliance.
An Enterprise customer of Microsoft agrees to be audited by MS. In exchange they pay a certain amount for effectively “unlimited use” of the appropriate software. In the past this meant volume license keys that would always activate; wouldn’t count how many devices, etc.
And MS audit would check that what you reported was what you had. And could result in big increases in contract pricing.
Now that everything is cloud this and 365 that I don’t know how much it applies anymore - everything is dynamic and traceable.
Famously in the early 2000s it was a huge issue for “medium” businesses who had used enterprise-style licensing. Tiny and small businesses just bought normal computers and software and would often escape notice.
That was one aspect of the auditing, but they also sent audit notices to random small and medium businesses who were not volume license customers. Basically fishing for license violations, which obviously were very common (and usually unintentional) back in the 90s and early 2000s. Things like installing windows XP or Office on multiple machines without buying extra licenses.
AFAIK it was mainly a scare tactic to pressure companies into compliance and mostly just involved scary looking letters from a Microsoft-hired law firm.
This was what happened to us, we were a small company and were just buying Dells with Windows already installed. We had valid license keys from the factory on everything, so it didn't make sense to me that we needed some volume key for more Windows. So we didn't buy a volume license but still got the audit demand.
Microsoft was double-dipping for a long time, selling volume licensing deals to companies that were often buying preinstalled Windows anyhow, just out of fear of non-compliance. Then once you have the volume deal, Microsoft products become easier to use and dominate the company's tech and reaching new deals with Microsoft becomes a nice-business-you-got-there-shame-if-something-happened-to-it kind of conversation.
Microsoft hasn't changed a bit, just smarter about tactics.
It was a scare tactic, and it only really worked because there were a large percentage of illicit installs going around.
Business would have an "IT guy" who "saved money" - and they'd get a letter saying "let us audit you or we're taking you to court for copyright violations" and they'd scramble and agree to the audit.
Of course, the proper response was the legal version of "bite me" but since many of them were in violation, they acquiesced.
I never had it happen to anyone I was involved with or knew, but the stories were certainly flying around Slashdot (it was going to be the proximate trigger of the Year of Linux on the Desktop, don't you know).
Funnily enough, those ancient WPF, WinForms, and even MFC apps still compile and work fine. The rug pull only became the standard operating procedure at a certain point.
if there's an escape hatch you should probably use it. In my experience companies never support you during rewrites "well why don't you just convert the code to X language" almost never works on a huge project, it takes a ground up approach, and relying on the old stuff as "more like guidelines than the actual law"
Anything that’s not gpl-licensed is going to pull the rug from under your feet, people should have learned this by now.
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.
The intellisense from clangd is much better and faster than the Microsoft C++ extension, if you can set up a compile_commands.json. Although debugging still relies on the Microsoft extension. Although I don't think it's going to be hard to create an extension just for debugging (if it does not already exist?)
Is there a ‘right’ (or simple/direct) way to generate this using various buildchains? I remember setting this up so I could use Sublime with intellisense a while ago, and finding that I could only get it to generate with a specific compiler chain on windows (ninja I think?)
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.
I've had the opposite experience with weird C++ projects from some customers that use external toolchains. For some reason even creating the compile_commands.json file with Bear doesn't work, while the proprietary Intellisense extension works out of the box without any configuration.
And this is why I'm using Zed today. I'm deadly serious. I was a huge proponent of VSCode at first but I've soured on it, and now I don't want my workflow to depend on it in any way.
Awesome software, but I don't trust the upstream org further than I must.
I actually worked on VSCode (Python support specifically) at Microsoft in the past, and seeing this kind of thing frustrates me to no end.
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.
There's a special place in hell for orgs that do this. Google has been doing the same thing with Android.
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.)
I’ve just installed Zed based on your recommendation and I’m already impressed.
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.
Glad you like it! It’s a proper native app (no Electron) and super responsive. I truly enjoy using it. And yes, the language support (via Treesitter and LSPs) is fantastic.
Zed uses tree-sitter and LSP; most popular languages do not require extensions, and extensions for niche languages are shockingly easy to write. Literally 100-300 lines of Rust boilerplate and around 300 lines of config boilerplate, with minimal maintenance/upkeep.
Zed is nice but I still prefer vs codes configuration scheme. Was working on a web/frontend project a while ago and had honestly a very hard time to set up Zed to do everything from formatting to linting and syntax highlighting correctly. Meanwhile in vscode I had to install 3 extensions, enable them for the workspace and they were already aware of each other and seamlessly worked together.
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.
zed is veerrrry good. i really appreciate the clean ui compared to vscode and its ilk. don’t love the pricing they just announced though. i don’t mind paying for my tools, but it not being unlimited scares me off slightly.
Just installed it, but it put a terrible taste in my mouth where the IDE has a hamburger menu instead of showing the file menu. This is meant to be a professional, technical application used on a desktop. Glad some designer made 150 pixels look clean instead of busy, but now I am reduced to an extra click any time I need to do something.
Minor grievance, sure, but it it not an encouraging sign for their priorities.
I think it's totally fair for them to charge for an optional feature that requires a cloud service. And if you don't like their pricing you can use a different provider, including self-hosted ones.
Agreed, but at least that's an optional feature you can choose to pay for if you want to. And if that changes, I'll drop it and head back to a Free editor.
Yeah I've just tried Theia. Vscodium is still the way to go. I just wish they had answers for issues like running extensions that depend on cpptools. I managed to work around it by installing an old version of cpptools from before the nag prompt that checks you're running it in vscode was added.
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.
That first link doesn’t really explain anything about syntax/autocomplete. It’s just about config options per language (formatted, linter, lsp) but I guess I was expecting something else?
Zed's language support is built on two main technologies:
Tree-sitter: This handles syntax highlighting and structure-based features like the outline panel.
Language Server Protocol (LSP): This provides semantic features such as code completion and diagnostics.
These components work together to provide Zed's language capabilities.
"""
Note this is _not_ how VSC's C++ Intellisense works. The VSC C++ plugin uses proprietary features of MSVC, it doesn't use LSP.
That’s not really a description of anything, just a list of libraries zed uses, let alone a great doc. Just expected more than “its tree sitter and lsp”.
Reminds when I excited to see Azure Data Studio adding Postgres support, but it was actually a binary extension with no ability to fix or change anything and no way for other useful databases to extend and use the functionality; they had spent all the time and effort to make sure nobody could do something like it but them.
Weird, ADS is dead and nobody spent any time on it, I wonder why.
I think a lot of people don't have a problem with commercial software, but rather with the disingenuous behavior that some companies display.
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 second all this. I'm using Zed today, but I was using Emacs for 20 years, then Sublime/VSCode/etc. for a few, and now Zed. If it disappears, I'm going right back to Emacs without a moment's hesitation.
It’s gotten way more ergonomic, BTW. Even if you treat it as a toolkit to build your own editor, the building blocks are much nicer than they were back then.
Thing is, I don't want to build my editor, I want to live the dream of Xerox PARC workstations, and that is what IDEs are for.
I had to make Emacs my go to editor in UNIX, because in those days there were hardly any alternatives, IDEs only started to be taken seriously on UNIX around 2000.
Even James Gosling, one of influencial people in the Emacs history says its time is now passed and he rather use Netbeans,
Speaking of old obsolete versions of Gosling Emacs, Lars Brinkhoff just posted this source code for UniPress Emacs 2.20 he got from from Hans Hübner! That's the version we called NeMACS, with support for NeWS (Gosling's PostScript based window system), tabbed windows and pie menus, etc:
DonHopkins on June 2, 2023 | parent | context | favorite | on: Brave Browser introduces vertical tabs
UniPress Emacs for NeWS in 1988: Scriptable GUI, tabbed windows, pie menus, hypermedia authoring tool for HyperTIES browser.
Emacs served as an IDE with tabbed window and pie menus, for interactively editing, viewing, and navigating HyperTIES markup language documents, graphics, and interactive PostScript "applets".
HyperTIES browser and Gosling Emacs authoring tool with pie menus on the NeWS window system
>HyperTIES is an early hypermedia browser developed under the direction of Dr. Ben Shneiderman at the University of Maryland Human Computer Interaction Lab. This screen snapshot shows the HyperTIES authoring tool (built with UniPress's Gosling Emacs text editor, written in MockLisp) and browser (built with the NeWS window system, written in PostScript, C and Forth). The tabbed windows and pie menu reusable components were developed by Don Hopkins, who also developed the NeWS Emacs (NeMACS) and HyperTIES user interfaces. (Sorry about the quality -- this is a scan of an old screen dump printed by a laser printer.)
Emacs provides the pie menus you see popped up in the illustration (Articulate, Edit, New (Storyboard, Link, Picture, Target), Define) that control the HyperTIES browser from the custom text editing mode of HyperTIES storyboards (like web pages), which the HyperTIES browser (in the background, which emacs controls in a sub-process) formats and displays. HyperTIES also uses pie menus for navigation and in interactive "applets" programmed in PostScript.
DVRC on June 3, 2023 [–]
Do any version of UniPress Emacs (that support the NeWS driver) or NeMacs survive?
I wrote the following description of how NeWS relates to modern web browsers and "AJAX" in the NeWS article on Wikipedia, and I also worked on TNT (The NeWS Toolkit) at Sun:
https://en.wikipedia.org/wiki/NeWS
>NeWS was architecturally similar to what is now called AJAX, except that NeWS coherently:
>- used PostScript code instead of JavaScript for programming.
>- used PostScript graphics instead of DHTML and CSS for rendering.
>- used PostScript data instead of XML and JSON for data representation.
[...]
HyperTIES Emacs Authoring Tool MockLisp code (Yet Another HyperTIES Implementation, This Time In Emacs):
I'm something of a vim fanatic because Emacs was sluggish, but these days have to admit that the multicore support turned out fine and the difference isn't that big anymore.
Uh, not only that. I recently updated from emacs 29 to emacs 30 where native compilation is enabled by default and it’s much much faster. Like, noticeably faster.
Ah, nice. Definitely time for me to carve out a few hours and try it out again, then.
Who knows, maybe I'll have closed the circle in a year and gone back to Emacs full time, where I started off in the editor wars a quarter of a century ago.
I spent 25 years using emacs before vscode (1997 to 2022-ish). I didn't go deep, I mostly just enjoyed the core parts of emacs + ccmode. I don't enjoy LISP but I still enjoy emacs, if that makes any sense.
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.
vscode does three things extremely well: defaults, defaults and defaults. The most important ‘you just need M-x do-whatever after installing the whatever-doer package’ is supported out of the box (no details on purpose, try running emacs or vim without any config and compare to a clean fresh install of vscode).
I love Cursor deeply but choosing to be a VSCode fork instead of a VSCode extension was a fatal choice. In the long term I think they either have to retool as an extension or they will go out of business. You can only publicly flout Microsoft's licenses for so long while making a competitor to one of their AAA products.
They are reselling an editor they did not make with a small extension that uses AI models they do not make.
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.
They wouldn’t take off if they weren’t a vscode fork. They may die a heroic death now having kickstarted the proper AI IDE. (Copilot was first and it was… nice? then it sucked so bad everyone jumped ship, remember? MS needed that kick in the balls.)
Eh, I mean it's a fork. They can keep updating their fork forever. Reality is they want complete control over the product, and VS Code doesn't expose everything in the extension API.
Sure, but they depend on a bunch of Microsoft proprietary extensions (that they can't fork) that ban usage in VSCode forks, and they knew this when they made the choice. This was an inevitable outcome from Microsoft's side. I'm sure they want to remain in business more than they want complete control over the product.
> they depend on a bunch of Microsoft proprietary extensions
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).
Do you guys ever feel tired of 'sounding the alarm'?
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?
What's the problem for people who just use VSCode, exactly? The software still does what people want for free, which is what 99% of VS Code users use the software for anyway. People who care about open source-ness have their own extensions to replace their proprietary C++ tooling, or they can use an open source alternative like Eclipse.
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 see VS Code as just a decent gratis text editor, there's no problem.
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".
Then people should stop caring about open source, care about free software instead, and do not forget that it is free-as-in-freedom, so they should still pay for their tools.
Otherwise keep hoping that your corporate or VC funded SaaS "disruptor" master will continue to be nice to you
I feel like comments lately have become full of false statements.
VSCode is MIT licensed.
But the extensions aren't, which locks you into the Microsoft distribution of VSCode.
And that's how they turned an open source product into a monopoly-enhancing tool.
I agree, lots of false statements here. "Code - OSS" is open source, and released under the MIT license. Visual Studio Code is built by combining "Code - OSS" with proprietary code, and is released under the following non-open-source license: https://code.visualstudio.com/license
From their github repo:
Visual Studio Code is a distribution of the
Code - OSS repository with Microsoft-specific
customizations released under a traditional
Microsoft product license.
"Visual Studio Code" is to "Code - OSS" what Google Chrome is to Chromium. Microsoft has just been successful at tricking people into thinking that Visual Studio Code is itself open source through misleading marketing on their website and things like naming the github repository for "microsoft/vscode".
Bruh, you can write your own extension, or use an extension created by another individual or company which is open source. They’re simply enforcing the policy that their extension can only be used with their VScode.
I'm at that tired stage right now as well. The way I read the title: "Company did company thing". Absolutely no surprise. The question is always a when, and similarly, I don't expect this current thing to last forever either: maybe they rethink their decision.
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.
It's tradeoffs all the way down. VSCode remains one of the best intro editors, because it's free, has next to zero learning curve, and a robust extension ecosystem. I mean, what even is the argument here? That it's not completely open in every possible way? Do we feel so strongly about the heaps of paid IDEs that are completely closed source?
> Do we feel so strongly about the heaps of paid IDEs that are completely closed source?
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.
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".
I just use the OSS vs code builds at home. (Work uses vscode).
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?
I think the problem with "sounding the alarm" is that it's not a tsunami that will immediately wipe out everything, it's more of a slow flood. The business strategy is boiling the frog.
Meh. If it does eventually go away, it wouldn't be the first time I've switched editors. Which turns out to not actually be all that hard to do.
> 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?
I think ultimately we're mostly just not as clever as we think we are, which I think unfortunately we must accept.
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.
Indeed! "No one saw it coming" is the most ridiculous thing I've been hearing for the last couple of months regarding global politics. They've literally been predicting and warning against the rise of these (political) issues for 20 years.
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.
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.
Why? If I listed an app on the google play store but intentionally limited it from working when installed by alternative means (eg someone relisting it on an alternative app store without my permission) would that be problematic? Why is this different?
People want to be given everything for free, to be able to put the absolute least amount of effort into the code they write, in the name of “open source.”
True! Open source = free stuff for a lot of people. This is why corporations like Microsoft encourage open source - so they can profit off of other programmer's hard work, without giving anything in return in most cases, and in rare cases giving a small donation. So, it goes both ways.
But open source nevertheless contributes to the commons when done well.
I don't like MS, either. BUT, let's be clear. No one is to obligated to work for free on OSS, not even big companies like MS. They have the right to constraint them to work on their own platforms. If you don't like it, you should fork the previous unconstrained versions or develop your own C/C++ add-on rather than complaining that MS stopped supporting your favorite extension.
"It's not illegal for them to do this bad thing" is such a common defense of companies doing bad things, as if it was the legality and not the ethics that was being discussed. I don't get it.
If Microsoft is gonna keep trying to enshitty their apps with unmasked for AI pop-ups that will always come back and even go so far to throw ads in at an OS level: yes, I will feel at least a bit entitled to some "free work" for taking hours of my time.
I sure do wish my industry didn't need windows. I'd happily go to Linux and never look back.
Am I the only person using tmux+vim+cscope+bash+gcc as a development environment? I do not see the need for these GUIs. I also can develop software from just about anywhere as I only need to SSH into a machine with these things (+git) installed. There are no hostile license terms either.
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.
My dev environment is very similar (no cscope but ctags yes)! tmux + vim + bash + gcc
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.
I use helix editor, but I wouldn't say my editor needs are that great, I don't "write software at scale". I mostly write infrastructure automation in , terraform, Nix, python and YAML pretty much.
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.
While I use emacs these days for my embedded and "simple" web gui work, I quite miss visual studio, especially the debugger. I'm not sure why everyone acts like Microsoft tools are so bad. I dislike microsoft for their crappy corporate attitude but I quite liked their dev and debug tools, thought they did seem stuck in c89 for far far too long. I was doing c++ gui work along with signal processing backend and it was always a good experience.
At least I know one alternative that is on bar (even better according to some people) for the C++ MS extension. What I am worried more about is the Jupyter Notebook MS extensions. I cannot find a suitable alternative and sometimes I am not being able to use it on windsurf/VSCodium (manually installing vsix). I am surprised by that taking into consideration how Jupyter notebooks relevance in data science and ML.
"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.
Good to see some of these neural network people actually pay for their real infractions. Granted, this time it was a banal competitor action, but still nice. Just because a license isn't enforced, doesn't make it safe to violate.
I don't understand the problem. It sounds like the C/C++ extension was proprietary. This sort of thing can always happen when you rely on proprietary software. Make an open source C/C++ extension and you wouldn't have this problem.
>It sounds like the C/C++ extension was proprietary
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.
Yes, that is what I thought, too. (It would be a good idea to have a open source C/C++ extension anyways, whether or not the proprietary extension stops working with non-Microsoft code.) (Maybe there is such extension; I don't know; I don't use VS Code and VS Codium etc.)
This is one of the reasons why I switched to CLion for C++ work, and the fact that VS Code and its derivatives was a pain to configure for C++.
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.
I did give CLion a try when looking for an editor, but last I checked CLion required you to use CMake. Also, JetBrains has it all split up between different IDEs. I need on e that supports C, C++, Python, Cython, Makefile, TypeScript, SCSS, XHTML, Shellscript, JSON and XML in the same program. I also need a program that can do CMake and C, and a program that can do C# (including project management, building, tests etc), Batch script, PowerShell, Shellscript, Cake and YAML, preferably with the same UI. And it needs to work on Linux. VSCode is the only one I've found that can handle that.
That makes perfect sense. I used VS Code extensively for many years, and it kept on frustrating me over and over. I still use it on the odd occasion to edit a small script, but for larger projects, I prefer a dedicated IDE.
A company simply starts enforcing the terms of use that were being openly violated… what’s the issue here? The article claims it could stifle competition — HUh?! Cursor and others were relying on an extension created by Microsoft, now that they can’t do that, they will have to use an extension created by either themselves or another third party, increasing the use of that alternate extension. This will literally help competition. There was no competition beforehand, ppl just accepted the Microsoft extension with open arms. I really don’t know why everybody’s freaking out. You can always use a different editor, or make your own extension.
I've been thinking of that but nvim + lazyvim is so nice and easy as a text editor. I just need to figure out how to keep the shell plugin from thinking it's smarter than me and linting every single time
neovim is a truly beautiful piece of software that is impossible to undersell. It has made vim into a full feature complete IDE for every language finally with a good editor :P
100%. I switched to it to get true color themes support in the terminal which vim didn't have at the time, but I stayed with it because of all the extensibility for features like above.
The hilarious part is that old fart C++ programmers (like me) have been the ones most leery of VS Code. Microsoft’s gonna Microsoft, ‘specially with compilers.
Well, VisualStudio for one. If you’re targeting Windows, you should consider it. VS Code feels slow to me in a way VS doesn’t.
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.
I have almost the exact same opinion. In that I hate distracting widgets and things that eat vertical space. I spent about a week getting nvim setup. I write code all day. I still have VSCode day to day because I'm so used to it/fast with it (I use vim motions within it).
But to me the appeal of nvim is being able to fully remove everything I dislike.
I use cursor primarily because of the great tab autocomplete model, but I've always thought it was a bit scummy they blatantly violate the VS Code licensing. Windsurf ships a special version of the pyright extension for this reason. Why doesn't cursor have to play by the rules too?
No VS Codium is just a alternative build of Visual Studio Code.
> This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.
I thought it was similar to the Chromium/Chrome situation. The naming implied that. But I don't use it and don't follow it that closely. Thanks for the clarification.
This is why it would be better for more effort and time spent in developing open source software such as neovim. Then we can always be sure tooling is free.
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
Why anyone uses anything from Microsoft is beyond me... It's always been clear that VSCode is a trojan horse for MS' EEE strategy. So just don't use MS stuff. Neovim is great, it has great C++ tools. What's the saying? Fool me once...
People on this site will never ever learn that if a company (especially a profitable one) invests into something and then gives it away for free, there must be some kind of strings attached.
Imagine Debian banning Debian forks downloading from their repos…
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!
I don't see why they'd need to make the marketplace fully open for their client to be open source. Fedora packages a Flatpak client that downloads proprietary software, but that doesn't make Fedora 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.
Shitty move (as expected from Microsoft) but I don't see the bigger issue. The beauty of open source is that you can always roll back to a version that did work. Of course continued developement and support from there on is your problem, but Microsoft never owed that to you anyways. Cursor, Codium and all the other VS Code forks have unlimited VC funding and are worth tens of billions of dollars combined. They can afford to contribute back to the ecosystem.
The C/C++ extension isn't open source though, and that's where the "doesn't work on forks" DRM is implemented. At least the clangd extension is open source and is a viable alternative.
But what happens when you anger the wizards? Some guy gets 4 two liter bottles of Mt Dew, and in a weekend comes up with a better plugin, and open sources it. Look it up on Monday. I just went from VSCode 1.52 to 1.99, and it's not pretty, but... Can someone convince copilot to rat out it's owners and write out a extension that runs cLisp? And all the emacs code runs in VSCode? ( I am saying this so facietously... ).
To be clear, I'm don't like the Microsoft has a proprietary Marketplace, but a company openly violating the terms of use for their own profit is a bit much in my opinion.
> 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.
Terms of service often contain illegal provisions. I teach kids to flout them too. One of the biggest sins in school is kids learn to follow rules uncritically.
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.
I think your analogies are wrong.
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.
I am quite confident that the bandwidth cost is absolutely not a concern for Microsoft, and that the obvious goal is for them to capture the market.
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...
I am glad you have insider knowledge to be so confident. I would rather those costs go towards furthering VS Code than helping out Cursor. This comes from someone who uses Cursor and not the biggest fan of MSFT.
Pure speculation but I would see the more logical argument being Cursor is a for pay product, why should they have access to the marketplace?
> why should they have access to the marketplace
Because MS didn’t write most of the extensions yet engineered things conveniently such that you have to use their service to get them. Other text editors somehow manage to not lock people into similar dilemmas. They’re not profiting from running the marketplace or providing VS Code for free, it’s about locking people into a product. Cursor should be allowed access because interoperability is a societal net-benefit.
> those costs
…are likely minescule. I run similar services at my day job, just at a much larger scale than a text editor app marketplace, and know the precise cost to run everything. I am often disturbed that people might actually think cost:revenue is tight enough that they should defend a behemoth about callously gating access to it.
> I am often disturbed that people might actually think cost:revenue is tight enough that they should defend a behemoth about callously gating access to it.
I think it's more likely that they imagine themselves in Microsoft's shoes. After all, it's a very popular editor and the mechanism of vendor lock-in is clever - give away the editor under the noble banner of open source, while jealously gate access to the plugin ecosystem that makes the editor as useful as it is.
So no, I don't think they earnestly believe that the egress costs are anything more than pocket change. But it's almost certainly what they would argue if they were in Microsoft's position.
People on HN are conditioned by massively inflated cloud egress prices
Ehhh everything is purely speculation on everyone’s part. Again I don’t think your argument holds up to much.
Couldn’t it wind up being easy for Cursor and other variants of VS Code to be long run beneficial for VS Code itself? Seems like having a different third party team extending your stuff and testing it, could be hugely valuable, they take risks and move fast, the upstream project gradually learns from what works for the forks, people contribute various other new extensions.
In the age of LLMs, community is worth its weight in platinum, cutting off Cursor just incentivizes them to develop some new better thing with better technology (cough Zed, Ghostty) to compete with VS Code which won’t benefit Microsoft because it’ll be separate. What’s the use in not just open sourcing the C extension? With more people moving off C anyway, might as well get the free community contributions
MSFT want to build their own Cursor aka Copilot Agent.
They can build a better product with their resources effectively extinguishing Cursor, who will then need to find a way to differentiate.
If Cursor was smart, they would have decoupled from the beginning as they had first mover advantage. They will now have to adapt while fending off competition from MSFT and the other players.
MSFT meanwhile, have discovered that this market is too profitable to be left untouched. They have probably been building their agent for a while and have now decided to launch while simultaneously blocking direct competition. They already have an ecosystem with users who have switching inertia. It's a brilliant yet ruthless move.
Cursor is a small team, MS is a titanic enterprise. I highly doubt that Cursor could exceed MS when their entire product is built on VSCode in the first place and they can't even seem to describe their usage policies to their paying users.
Aren't you curious how 4MB of typescript can parse and understand C++ code? It doesn't. It downloads an additional 200MB binary language server that does all the work.
It is a public website and a public service - it's like saying "hey I got free lemonade here, but you can't have it unless I decide I like you first."
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?
> I'll never understand the cognitive dissonance of "conditionally free".
it's not a cognitive dissonance. Lots of places have conditionally free stuff - it's a form of price discrimination (coupons, special deals etc).
Microsoft is within their rights to make their servers conditionally free. What the community can respond with is to move to a different server, if such conditions are not within the bounds of the community's lines.
"Bathroom for customers only" is a completely reasonable ask from a business owner, and is what Microsoft is doing here.
That usually means bathroom access is included in the price of buying something. VS Code is free as in free beer.
Unless said beer contains numerous nanoprobes that phone home every measurement detail about your insides while they traverse your intestinal tract, the beer is a lot freer than vscode.
> I'll never understand the cognitive dissonance of "conditionally free"
I don't think I understand. You don't understand how something can only sometimes be free? Like, free parking only on weekends? Free entry for young children? And free software depending on who you are and what you are going to do with it?
>it's like saying "hey I got free lemonade here, but you can't have it unless I decide I like you first."
Which is completely reasonable, you may need a different analogy.
> There is a direct cost to Microsoft that these companies are pushing on them. Specifically around bandwidth.
If Microsoft were not be very willing to bear this cost, they would never have built a marketplace into VS Code.
I don’t understand this argument. So because MSFT is large and has healthy margins they should eat the cost?
> So because MSFT is large and has healthy margins they should eat the cost?
If MSFT weren't willing to bear the cost, they wouldn't use the "app store" concept (marketplace) for VS Code.
I don’t understand this line of thinking. Because they run a marketplace for Vs code they should also support paywalled forks?
> Because they run a marketplace for Vs code they should also support paywalled forks?
Since, because of the marketplace, MSFT (somewhat) "monopolized" the access to extensions, they should not block other applications (forks) that also attempt to access the marketplace.
Those quotes around monopolized are really doing some heavy lifting considering that it is utterly trivial to use alternative marketplaces on (edit: flavors of) VS Code.
Seems to me this is plainly the community wanting its cake and to eat it too.
Why does Microsoft have the right to cause users unrestricted bandwidth use through updates and ads and spying? That's a real cost Microsoft is forcing onto users.
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?
cursor also hijacks the 'code' alias to start vscode from the cli, which I use a lot. It's extremely annoying to have cursor start instead and unnncessarily difficult to get rid of. I removed cursor because of this.
I'm pretty sure that was an option when installing, I remember unchecking it and 'code' still launches vscode for me. Curious how it's difficult to remove, I'd expect something like rm `which code` to do it. Unless they add the alias to your shell or something?
maybe they changed some things last I used it, which was maybe six months ago. I've tried cursor twice and had the same issue each time. I saw the dialogue you were talking about and specifically selected to not override the code extension and it happened again anyway. Maybe there was something left over from the previous install, I don't know.
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.
Ouch, that does sound painful. I've only ever used it on Linux and Mac which work similar enough that if it did override it, it would be a mild annoyance at best.
I don't know windows + wsl enough that I'm sure I would've been caught out by that and pissed off as well.
"code" is way too generic for a single program to claim exclusive rights to it.
maybe, but their product is basically a reskinned version of that single program, it seems pretty clear they know what they are doing here.
if i remember correctly, on my first start of cursor, it explicitly asked if it was allowed to do this.
Yeah, I've noticed this using cursor. I was surprised that the extension marketplace seemed... identical to VS Code.
But why should we care? It's obvious Cursor's IDE is VSCode, I cannot think of a single reason why I should be against executing whatever the hell I want on my computer. It's not Cursor doing this, it's me doing this using Cursor.
That’s not how companies see it.
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.
> 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.
Generally only applies to trademarks, not copyrights. In most English speaking countries copyright is a proprietary right and you don't lose it if you don't actively enforce it. But there could be time limits to a plaintiff bringing a civil case to court (usually a couple years).
It doesn't apply to trademarks either but it's convenient to insist that trademark "enforcement" is required if you're either a trademark lawyer looking for more clients or you're an aggressive litigant and you want an excuse so people will forget you're a monster.
Oh the Disney corporation had to sue the village primary school because their play used a trademarked name for a folk tale everybody knows about... it's not that they are monsters who care only about money and power, they were forced to secure undisclosed damages and make children cry by some principle of law which definitely exists. Mmm sure.
The last time I pointed this out on HN somebody responded with LLM generated nonsense "citing" non-existent US legal cases which they argued somehow prove I'm wrong.
There is a huge spectrum between suing village kids for trademark infringement, and allowing everyone to misuse and abuse the trademark to the point it becomes a generic term.
I don't think I disagree with you generally, but it must be recognized that trademarks are different from copyrights in that there is a mechanism where if you don't assert your rights in the trademarks you could lose them.
And, like what the sibling comment said, I'm not going to engage with you on unnamed posts where unnamed people cited some LLM to argue against you...
> I don't think I disagree with you generally, but it must be recognized that trademarks are different from copyrights in that there is a mechanism where if you don't assert your rights in the trademarks you could lose them.
That sounds exactly like you disagree, and not just with me but with reality.
When this discussion topic arises, the most common thing people leap to is genericization - it is possible that if basically everybody calls this thing a Doodad when you one day sue some company to stop them using your Doodad trademark to describe their product, the judge says that's just what everybody calls these thing so you lose. But: One: This happens when you're a tremendous success! Most businesses would kill to have a product as widely known as Xerox copiers or the Hoover vacuum cleaner. Two: You can't fix this with lawsuits anyway, the judges are looking at what everybody calls the product, and you're not going to sue everybody and even if you sue movie stars and TV hosts you won't change what everybody else calls it.
Next most common are people's half memories of the 20th century trademark restitutions from World War I and World War II Germany. German industrial firms as "punishment" for their role in these conflicts had their marks invalidated in some cases. So you might well find that some mark which is protected in say, Venezuela or Japan is just generic in the United States or say France, because they won the war. In a fuzzy memory this somehow becomes the Germans "failing" to protect their marks, just conveniently in the immediate aftermath of a war, hmm, I wonder why it's only German companies, why they "failed" to do this and only in countries they'd just lost a war against...
Finally Estoppel. Estoppel isn't special to trademarks, it's a general principle in civil law about you can't tell people they can do X and then sue them for doing it. If Disney allowed primary schools to do a Little Mermaid play that's blatantly just the script of the original cartoon movie, and then one day they pick on the play at Little Nowhere Infant School and decide to sue, the lawyers for the school (if it can afford them and doesn't just settle) would argue that's Estopped, there's a long standing understanding that it's OK for schools to do this. Estoppel has practical limits so it's not a real threat and is often over-inflated by IP lawyers. So e.g. if Little Nowhere is selling a stream of the play that's not what Disney agreed to allow, or maybe the Little Nowhere "Infant" school somehow has adult actors and a huge live audience which makes $$$ on ticket sales, again a judge can see this is not what Disney envisioned, so they're entitled to sue anyway.
I think what you said makes a lot of sense.
Can we not argue whether I disagree with you please? :)
Well if you’re going to cite unnamed posts where unnamed people cited some LLM to argue against you, obviously you are 100% correct.
Fair, I actually misremembered and it wasn't my post they responded to with LLM slop but here is a HN user named "ranger_danger" in a thread with me in it, doing exactly what I described, LLM generated "citations" of US court cases that never really happened.
https://news.ycombinator.com/item?id=43509544
It's hard to know whether it's worse if "ranger_danger" did this on purpose and thought it's OK, or whether they didn't realise how the LLM works and thought this list was real.
While I agree that’s beyond the pale, I do not agree it necessarily means they’re wrong. It just means they are noise adding no value, and a lot of irritation.
As annoying as misinformed people and hallucinating LLMs are, it is a mistake to believe they are always the exact opposite of the truth.
No copyright alone afaik stops anyone from abusing said rights unless you tell them to stop.
Would be happy to have counterexamples.
Of course you can't enforce your rights if you don't enforce them.
That isn't what people mean by "losing" the rights.
For example somewhere on the planet somebody is running a pirated copy of Windows 10. But it would be misleading to post a headline saying "Microsoft LOSES copyright over Windows 10!!!".
Another way copyright has worked for decades is qBittorrent for instance, is not responsible for infringements by users. Along with massive carve-outs for Microsoft and the gang to avoid that responsibility too, on GitHub and YouTube and many other websites.
I don't care. I was just surprised at them doing that because I thought MS/VSCode did not allow it.
It would impact users if things escalate and gets more hostile between the two and starts impacting features (like regressions in extension availability)
Fun fact, adblockers are often a violation to ToS as well. Should we all uninstall them?
I have no problem with you violating TOS. But a corporation openly doing it is problematic.
I get Microsoft is a Megacorp, but I don't think too highly of all these ai startups either.
I don't like the AI startups either. My main concern is this behavior being normalized and the non-AI startups (or open source projects) getting shafted.
The Cursor founders (technically the company is called Anysphere, Inc) are all young MIT grads. What they needed is a 40-year-old with a degree from Fitchburg State who could say "Woah, don't do that! It's not worth the long-term risk!"
It is worth the long term risk.
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's the play when your adversary is regulation--the government moves slowly, court cases move even slower, and you can grease the wheels politically.
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.
It's possible but I think this is a bit of a non-issue for cursor. Microsoft extensions are pretty good but are not irreplacable, and in the meantime cursor has grown astronomically fast and has grabbed a ton of "AI Coding" mindshare. I think the gamble has already paid off for them: if they have to play nice with licensing and develop their own solutions to replace MS proprietary extensions, they now have the scale to do that. GH Copilot was first in the game but now has the reputation of the poor man's cursor.
I don't know anyone that even knows Cursor exists, outside HN readership bubble.
This would only be a major issue if most development tooling was controlled by Microsoft. There's a huge market for Cursor even without microsoft's C/C++ intellisense plugins and the open source community will adapt quickly if it's gone.
The risks around proxying to the marketplace are real but that doesnt seem to be an issue yet. It also continues lock-in to VSCode which benefits Microsoft so they might not care.
What cursor clone?
Agent mode in Copilot. It all went down on April 4th: the rollout of agent mode to all users, and the sudden enforcement of the license in their C++ extension.
> 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.
What will happen in this situation depends a lot on the "reputation" of Microsoft vs Anysphere (Cursor) and their "marketing":
If Anysphere's "marketing" wins, they mass of users will be very disgusted by Microsoft's moves that they will avoid it like the plague to touch basically any avoidable product of Microsoft (including in particular Github Copilot) again.
Or, hear me out, Microsoft decides you’d make excellent additions its House of Faces For IDE/Compiler Competitors and your face is on the wall before you know what happened.
Grow fast, raise a few billions, deal with the lawsuit in a few years.
Grow fast, raise a few billions, deal with the lawsuit in a few years when you're big enough to buy lobbyists in Washingon DC.
I have lost the hope. Money is always the measure of ethics.
The amount of Boston in this comment is amazing. And 100% true
Exactly. What were they expecting would happen? They are breaking the tos while competing with Microsoft.
exactly! laws are for old geezers who went to State, not young superstars with fancy degrees. MIT negotiated diplomatic immunity for its graduates, after all. that's why Sam Bankman-Fried got acquitted when FTX went under.
lol, Microsoft has been doing this kind of thing for a while...
https://en.wikipedia.org/wiki/Microsoft_litigation#Antitrust
While its fair to claim Microsoft has legal issues, I'm not sure what similarity you are drawing to what Cursor is doing.
It's what is motivating Microsoft to prevent what Cursor is doing.
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.
Microsoft spends dev time to make a C++ extension for VSCode, gives it for free to VSCode users. I feel like Microsoft has the right to say don't use our proprietary application out of "official" VSCode. Microsoft however can't claim that 3rd party extensions can only be used in "official" VSCode.
Embrace, Extend, Extinguish.
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.
This is it in a nutshell, with a lot of corps; IBM, Microsoft, etc. Be careful who you lie in bed with. Seemslike newer companies like Facebook and Google have a much much better track record. They may end a project but they don't suck you in and then say "nah, it's proprietary now"
Android slowly became that.
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.
AOSP is still fully open source and allows you to build a complete Android system on it though. Theirs open source GrapheneOS, LineageOS, /e/OS, and the closed source onset on Chinese domestic phones that have their own proprietary versions on play services.
Here's a pretty good Linus Tech Tips video where he installs stock AOSP on a Pixel phone and goes over how it's virtually unusable. Just like you say, while the Pixel UI may be Google's vision for how the Android platform should work, they've moved to keeping their UI development private just like every other Android vendor. Meanwhile, stock AOSP has basically been left to rot. https://www.youtube.com/watch?v=-hlRB2izres
However, GrapheneOS is thoroughly de-Googled and it regularly incorporates and benefits from new AOSP releases.
It's still a better experience than a pinephone.
The track record of Facebook and Google may be better because their open-source strategy is to never open things that are core to their business. Projects like React will not give you a competitive advantage to build a Facebook competitor. What a project like React gives to Facebook is marketing and a carrot to bring promising talent to the company.
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.
Eh. Google may be better than Microsoft in this regard, but this is basically what they're doing with Android. AOSP is now lacking a lot of core functionality that comes with Google Pixel phones, such as RCS messaging, emoji reactions to text messages, camera features and photo editing, voicemail transcription, crash detection. Even the keyboard is worse in AOSP.
Microsoft couldn't have telegraphed their intentions more clearly if they tried, yet tons and tons of people and organizations fell for it (again!).
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/
Yeah, the main reason I never switched from emacs to VSCode is because I was worried about Microsoft's stewardship of it, particularly the fact that the extension ecosystem, which is so critical to a good editor, was burdened. There have been a lot of discussions about VSCodium's use of the manifest files from the original VS Code manifest without permission, and while that wasn't enforced, it was never really resolved.
Sad to see it go in such a predictable direction.
Look, if you willingly have any piece of your stack relying on Microsoft you have to be ready for the rug pull. They WILL fuck you, it's guaranteed.
Lucky no-one is reliant on niche tools like NPM or GitHub, otherwise they'd be feeling mightily insecure right now.
> Lucky no-one is reliant on niche tools like NPM or GitHub, otherwise they'd be feeling mightily insecure right now.
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 think even Microsoft is in too deep to suddenly pull the carpet on NPM/Github. Talk about a public relations nightmare
You say that but they are going ahead with copilot crap despite the backlash.
Lucky I don't. It's my employer that takes the big risk. But I guess they take larger risks than their Microsoft-only strategy.
Or ChatGPT… maybe not their development but that is who runs it.
Now, I get why you made the quip, but I for one keep both of those out of the business I run for this exact reason: I do not trust MICROS~1 in the medium to long term.
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.
I don't like to be seen as defending Microsoft, they definitely have their share of faults, but as far as business goes, I think Microsoft is the least likely company to screw you over as a (business) customer. Microsoft has kept old software working pretty much unchanged for the last 20 years. I know, I still have software built on early Windows 95/NT4 that works fine on Windows 11...and with some registry tweaks Windows 11 will run on a computer from 2005 without too many issues (sure, 3rd party security software and js-heavy web pages will be slow but that is not directly MS fault). Windows 10 EOL in 2025 is only for consumer level stuff, you can get Windows 10 support for enterprise for another 2 years at least and some versions even up to 2029, so again, if you are a business, you are taken care of (if you are "cheaping" you way with Windows Home and Pro in business then you kind of get what you pay for, I am sure you as a business don't give away free products/services for years on end). And you can keep using your Windows 10 after EOL, not like they lock you out, they just don't support you...just like you don't repair stuff for free after warranty end. Compare that to any other tech company that churns through HW and SW much faster and much more severely where old HW and SW no longer works or cannot connect to the internet or use the latest browser so you cannot connect to the latest HTTPS servers. Even open source software breaks compatibilty with older versions much more oftern than Microsoft, but since that is "free" people just shrug it off.
Microsoft's primary business is software running on Microsoft platforms. In the past that was Windows, nowadays it's also Azure.
That famous "developers developers developers" video with Steve Ballmer was a prime example of that corporate ethos.
For most other giant companies in tech, either the primary business is selling a product (and killing competitors) or giving products away as loss leaders and making bank on advertisement
We're building the business, i.e. setting the foundations we expect to stand on for decades to come. Enterprise license that might be possible to extend into the medium term isn't good enough for our long term commitments and the time to adapt to an alternative family of operating systems is now.
As for stability, if you learned GUI Ubuntu twenty years ago you'll be right at home in contemporary Debian systems, while someone hopping from XP or Server 2000 into 10 or 11 would be quite confused for quite some time. Xenial (2016), Bionic (2018) and Fossa (2020) will likely get twenty years of security updates each, into the beginning of the 2030s.
I think something similar holds for the SoftMaker office suite. If you learned TextMaker twenty years ago I believe you'll be less annoyed by their 2024 release than if you learned Office 2003 and get dropped into the 365 style applications. Personally I'd use something else entirely, likely doing a roundtrip through LaTeX or straight PostScript under the hood, but it will be interesting to evaluate some MICROS~1 Office alternatives in my organisation and see what, if anything, sticks.
I don't see how it can be a rug pull when in this case it was clearly against the terms of use?
Not to quibble, but VSCode (and GitHub for that matter) are part of my tooling, not part of any of my stacks.
To me the former is tolerable, the latter is not.
I think they are talking about products like Cursor.
Ah, that’s a painful situation.
Eh MS wasn’t going to just let VSCode derivatives soak up all the AI gold rush money, these companies knew the risks. I wonder what it’s going to mean for projects like Zig, a migration of VSCode refugees could crank things up to 11 pretty quick.
How do VSCode refugees impact a project like Zig?
I would bet they meant the editor “Zed”.
Zed don't have many extensions like VSCode.
I've been shafted by Github under MS ownership in the past, after 7 years. I'm using a gitea instance ever since. The only thing Github is good for is visibility/discoverability. Do not trust Microsoft ever. They will fuck you.
At this point, GH is like Twitter, people are begrudgingly using it because it has the most visibility.
Is it really a rug pull? It's a closed source extension with terms specific to use with vs code. Nothing has changed in that regard. All they did was close a workaround for a competing company's product.
It's hard not to rely on Microsoft.
Open source project hosted on GitHub, for the network effect.
Use Rust which also rely on GitHub for crates.io
Crates.io stopped relying on Github in June 2023. Now Cargo uses sparse HTTP-based index lookups rather than cloning the old git-based index repo (the old repo is still offered for users on older versions). And the crates themselves have never been served from Github. https://blog.rust-lang.org/2023/06/01/Rust-1.70.0/#sparse-by...
> Open source project hosted on GitHub, for the network effect.
> 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").
> it already became very fashionable to call GitHub "ShitHub"
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.
> it already became very fashionable to call GitHub "ShitHub"
You’ve said this a few times, without stating which circles? I assume mostly among four-year-olds given the level of wit involved?
They are attributing it "in some circles", like when a news actor says, "some people say". They are only trying to making shithub catch on like M$.
Although, given how lax they have been at removing Golang infected malware, it might just have legs.
Wikipedia calls those "weasel words".
Don't build castles in other people's kingdoms, apparently a lesson that keeps being relearnt.
Then it's hard to build anything.
Why should it be easy to start with?
Hardly anything is given for free in this life, it has to be earned.
Let me clarify.
You need an OS, you need compiler, you need some libraries.
Unless you write all that by yourself you always build in somebodies kingdom.
Indeed, however all of those have a license that most certainly was abied for, at least if we are speaking about doing the right thing.
Many of these "building castles in other people kingdoms" projects, tend to use free tier WebAPIs, forked projects, reversed engineered protocols, and then folks get entitled when the owners pull the carpet.
Do not forget the hardware. And having the means of creating said hardware.
It took them five years to actually take action on enforcing their ToS. It's not as much of a rug pull as it's the result of their competitors blatantly ignoring the license on proprietary code from a proprietary code giant.
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.
Nah, obviously an AI read the ToS and wrote the code for Cursor!
After all MS is completely okay with their AI darling reading ToS-protected stuff.
Yep. Was a Microsoft dev from 1992 until 2017. Won’t touch them now because I spent my entire career rewriting rug pulls. It paid off a mortgage and fed me well but it was a bad outcome for my orgs and customers.
If anyone remembers WCF/AppFabric/WWF and Silverlight, that was the last stack I rewrote someone out of the shit on.
There was a lot of hype and momentum around Silverlight back in the day, until their wasn't. You got a cross-platform (Mac/Windows) WPF-like UI and C# programming environment, which was powerful.
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.
There was a hot minute (and it was about a minute!) where Silverlight was absolutely phenomenal.
Too bad “every app is just a website” took over because of the cross-platform issues.
By chance, do you happen to know if the Mindstorms NXT (the old one, before EV3) software was based on the same toolkit? I always wondered what UI framework it used, it had an unusual look.
It was not... it actually was, IIRC, a LabVIEW program with some tweaks here and there. The UI was basically a LabVIEW VI front panel with a LabVIEW 2D Picture Control. Most of the program logic and the compiler to the NXT was LabVIEW G code.
oof, :%s/their/there
I started my career rewriting a product using Microsoft's DNA business server with Java and never looked back. I'm shocked this keeps happening, honestly. I guess I'm a "never again" sort but surprised there's not more companies refusing to deal with Microsoft.
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."
Sorry if I'm being dense, but what is an "audit demand?" (Looked it up and couldn't find anything obviously relevant.)
I think he refers to Microsoft auditing a business' licence compliance. Have you aquired the correct amount of licenses for all the instances you are running and accessing. Microsoft licensing is so insanely complex that even if you ask 2 MS sales reps what licenses you need to cover a certain scenario, you will get a different answer each time. This is also why an audit almost 100% results in finding non-compliance.
https://www.npifinancial.com/smartspend-bulletins/the-anatom...
An Enterprise customer of Microsoft agrees to be audited by MS. In exchange they pay a certain amount for effectively “unlimited use” of the appropriate software. In the past this meant volume license keys that would always activate; wouldn’t count how many devices, etc.
And MS audit would check that what you reported was what you had. And could result in big increases in contract pricing.
Now that everything is cloud this and 365 that I don’t know how much it applies anymore - everything is dynamic and traceable.
Famously in the early 2000s it was a huge issue for “medium” businesses who had used enterprise-style licensing. Tiny and small businesses just bought normal computers and software and would often escape notice.
That was one aspect of the auditing, but they also sent audit notices to random small and medium businesses who were not volume license customers. Basically fishing for license violations, which obviously were very common (and usually unintentional) back in the 90s and early 2000s. Things like installing windows XP or Office on multiple machines without buying extra licenses.
AFAIK it was mainly a scare tactic to pressure companies into compliance and mostly just involved scary looking letters from a Microsoft-hired law firm.
This was what happened to us, we were a small company and were just buying Dells with Windows already installed. We had valid license keys from the factory on everything, so it didn't make sense to me that we needed some volume key for more Windows. So we didn't buy a volume license but still got the audit demand.
Microsoft was double-dipping for a long time, selling volume licensing deals to companies that were often buying preinstalled Windows anyhow, just out of fear of non-compliance. Then once you have the volume deal, Microsoft products become easier to use and dominate the company's tech and reaching new deals with Microsoft becomes a nice-business-you-got-there-shame-if-something-happened-to-it kind of conversation.
Microsoft hasn't changed a bit, just smarter about tactics.
It was a scare tactic, and it only really worked because there were a large percentage of illicit installs going around.
Business would have an "IT guy" who "saved money" - and they'd get a letter saying "let us audit you or we're taking you to court for copyright violations" and they'd scramble and agree to the audit.
Of course, the proper response was the legal version of "bite me" but since many of them were in violation, they acquiesced.
I never had it happen to anyone I was involved with or knew, but the stories were certainly flying around Slashdot (it was going to be the proximate trigger of the Year of Linux on the Desktop, don't you know).
I was working for a law firm when they did that to us. The letter they got sent back was hilarious.
Funnily enough, those ancient WPF, WinForms, and even MFC apps still compile and work fine. The rug pull only became the standard operating procedure at a certain point.
I’m still dealing with the long goodbye of a silverlight app which now must be somehow ported.
if there's an escape hatch you should probably use it. In my experience companies never support you during rewrites "well why don't you just convert the code to X language" almost never works on a huge project, it takes a ground up approach, and relying on the old stuff as "more like guidelines than the actual law"
The escape hatch is OpenSilver basically.
A clean rewrite isnt possible for a variety of business reasons.
> WCF/AppFabric/WWF
SharePoint Server Subscription Edition still uses those techs today.
meanwhile here i am using dot net 4.5 on windows server 2022 haven't changed the code in a decade
Anything that’s not gpl-licensed is going to pull the rug from under your feet, people should have learned this by now.
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.
FreeBSD must be pulling a very long con, then.
Yeah.
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.
Are there AGPL or BSL success stories? (Ie. projects that started as such and became/remained sustainable?)
Uh, yes?
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.
> Half of the initial mac os x kernel was ripped off freebsd, giving pretty much nothing back.
That is open source.
https://github.com/apple-oss-distributions/distribution-macO...
https://en.wikipedia.org/wiki/Darwin_(operating_system)
https://en.wikipedia.org/wiki/XNU
You'll notice the FreeBSD folks don't seem to be particularly bothered by this. FreeBSD loses nothing to Apple or NetAPP.
This attitude of "OMG you're being ripped off" any time a company incorporates code from a BSD/MIT/whatever licensed project baffles me.
Regarding apple: They support cups and clang, and stuff like swift and webkit. Also, the darwin kernel is open source.
I’d be shocked if netapp hard forked bsd and doesn’t upstream fixes.
They support the version of cups that nobody uses anymore, except themselves.
ONTAP is a fork of BSD (dunno if they upstream or not) and NetApp are far from the only ones in the storage sector who have done this.
Absolutely. I signed one copyright assignment, ever, with the FSF. I trust them enough to do that, but they're just about the only ones.
They don't require it anymore.
Better yet.
Then they will gaslight you.
The intellisense from clangd is much better and faster than the Microsoft C++ extension, if you can set up a compile_commands.json. Although debugging still relies on the Microsoft extension. Although I don't think it's going to be hard to create an extension just for debugging (if it does not already exist?)
Yes, even on medium sized code bases (few 100K lines), the Microsoft C++ extension gets extremely slow. Clangd is a much better option.
Is there a ‘right’ (or simple/direct) way to generate this using various buildchains? I remember setting this up so I could use Sublime with intellisense a while ago, and finding that I could only get it to generate with a specific compiler chain on windows (ninja I think?)
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.
Not just faster, I have never been able to get jump to declaration/definition/references to work reliably without clangd.
I've had the opposite experience with weird C++ projects from some customers that use external toolchains. For some reason even creating the compile_commands.json file with Bear doesn't work, while the proprietary Intellisense extension works out of the box without any configuration.
I agree. It's way better. You can use the CodeLLDB extension for debugging.
https://github.com/vadimcn/codelldb
Lldb and rr (midas) have vscode extensions
There are other third-party extensions which rely on the Microsoft C++ one. I have recently ran into this problem with my VSCodium setup.
And this is why I'm using Zed today. I'm deadly serious. I was a huge proponent of VSCode at first but I've soured on it, and now I don't want my workflow to depend on it in any way.
Awesome software, but I don't trust the upstream org further than I must.
I actually worked on VSCode (Python support specifically) at Microsoft in the past, and seeing this kind of thing frustrates me to no end.
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.
There's a special place in hell for orgs that do this. Google has been doing the same thing with Android.
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.)
I’ve just installed Zed based on your recommendation and I’m already impressed.
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
Glad you like it! It’s a proper native app (no Electron) and super responsive. I truly enjoy using it. And yes, the language support (via Treesitter and LSPs) is fantastic.
Does Zed have a comparable C++ extension?
Zed uses tree-sitter and LSP; most popular languages do not require extensions, and extensions for niche languages are shockingly easy to write. Literally 100-300 lines of Rust boilerplate and around 300 lines of config boilerplate, with minimal maintenance/upkeep.
https://zed.dev/docs/languages/cpp
Many words to state that it doesn't.
Many words to explain that it doesn't need one, as you can see by clicking that link.
No idea why they worded it the way they did. But the answer is: yes, Zed has something comparable, using clangd as a C and C++ LSP server.
Zed is nice but I still prefer vs codes configuration scheme. Was working on a web/frontend project a while ago and had honestly a very hard time to set up Zed to do everything from formatting to linting and syntax highlighting correctly. Meanwhile in vscode I had to install 3 extensions, enable them for the workspace and they were already aware of each other and seamlessly worked together.
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.
So, you hopped from one walled garden to another?
I don't mean that in a mean way, but have you considered another editor that is more open?
zed is veerrrry good. i really appreciate the clean ui compared to vscode and its ilk. don’t love the pricing they just announced though. i don’t mind paying for my tools, but it not being unlimited scares me off slightly.
Just installed it, but it put a terrible taste in my mouth where the IDE has a hamburger menu instead of showing the file menu. This is meant to be a professional, technical application used on a desktop. Glad some designer made 150 pixels look clean instead of busy, but now I am reduced to an extra click any time I need to do something.
Minor grievance, sure, but it it not an encouraging sign for their priorities.
I think it's totally fair for them to charge for an optional feature that requires a cloud service. And if you don't like their pricing you can use a different provider, including self-hosted ones.
absolutely agree
Agreed, but at least that's an optional feature you can choose to pay for if you want to. And if that changes, I'll drop it and head back to a Free editor.
Even better: Theia.
It supports most vscode extensions right out of the box.
https://theia-ide.org/
Supports without auto updating them and along with other annoyances: https://news.ycombinator.com/item?id=43793016 . VSCodium [1] has much better UX than Theia IDE, IMHO.
[1] https://vscodium.com/
Yeah I've just tried Theia. Vscodium is still the way to go. I just wish they had answers for issues like running extensions that depend on cpptools. I managed to work around it by installing an old version of cpptools from before the nag prompt that checks you're running it in vscode was added.
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.
* https://code.visualstudio.com/Docs/languages/markdown
Zed is a for profit company, aren't they just going to go down the same route?
So how do you get intellisense and debug C++ in Zed?
There's a great doc on exactly how Zed handles syntax and intellisense-style completions: https://zed.dev/docs/configuring-languages
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.
That first link doesn’t really explain anything about syntax/autocomplete. It’s just about config options per language (formatted, linter, lsp) but I guess I was expecting something else?
It explains it in clear terms:
"""
Zed's language support is built on two main technologies:
These components work together to provide Zed's language capabilities."""
Note this is _not_ how VSC's C++ Intellisense works. The VSC C++ plugin uses proprietary features of MSVC, it doesn't use LSP.
That’s not really a description of anything, just a list of libraries zed uses, let alone a great doc. Just expected more than “its tree sitter and lsp”.
Will they use DAP?
My understanding is that DAP support is merged into their internal builds and is being polished up for a public release.
clangd is an LSP. You can use it in any editor with LSP support https://clangd.llvm.org/
Why isn't Cursor using this by default then?
I don't think MSVC provides an LSP, so the VSC C++ extension uses proprietary Intellisense features instead. LLVM provides their own extension to use the clangd LSP: https://marketplace.visualstudio.com/items?itemName=llvm-vs-...
In short: Corporate politics and the Cursor team taking the path of least resistance.
Zed uses open-source language servers. It just doesn't rely on proprietary extensions.
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.
Reminds when I excited to see Azure Data Studio adding Postgres support, but it was actually a binary extension with no ability to fix or change anything and no way for other useful databases to extend and use the functionality; they had spent all the time and effort to make sure nobody could do something like it but them.
Weird, ADS is dead and nobody spent any time on it, I wonder why.
Still using VSCode, but you kind of know that's it's going to go sour eventually. It is Microsoft. :/
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.
> All I need is a Github Copilot clone
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.
> All I need is a Github Copilot clone
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?
Many of us are perfectly fine with commercial software, we have been into the other side and got tired of the religion.
I think a lot of people don't have a problem with commercial software, but rather with the disingenuous behavior that some companies display.
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.
You mean transparent like the way they added AI to their products?
I'm unaware of how they added it. Was there controversy around it?
Yes, initially it was a pain to disable, a big no-no for many customers.
https://devclass.com/2024/03/11/jetbrains-bows-to-user-press...
Emacs user here, have used vscode in the past.
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.
I second all this. I'm using Zed today, but I was using Emacs for 20 years, then Sublime/VSCode/etc. for a few, and now Zed. If it disappears, I'm going right back to Emacs without a moment's hesitation.
And "Mastering Emacs" is brilliant.
And with copilot.el you get access to all models, not just some. I'm using Claude
I dedicated my time between 1995 and 2005 as my main UNIX editor, and don't miss installing Emacs.
It’s gotten way more ergonomic, BTW. Even if you treat it as a toolkit to build your own editor, the building blocks are much nicer than they were back then.
Thing is, I don't want to build my editor, I want to live the dream of Xerox PARC workstations, and that is what IDEs are for.
I had to make Emacs my go to editor in UNIX, because in those days there were hardly any alternatives, IDEs only started to be taken seriously on UNIX around 2000.
Even James Gosling, one of influencial people in the Emacs history says its time is now passed and he rather use Netbeans,
https://www.youtube.com/watch?v=Mv5Q39MuTvk
Speaking of old obsolete versions of Gosling Emacs, Lars Brinkhoff just posted this source code for UniPress Emacs 2.20 he got from from Hans Hübner! That's the version we called NeMACS, with support for NeWS (Gosling's PostScript based window system), tabbed windows and pie menus, etc:
https://github.com/larsbrinkhoff/emacs-history/tree/sources/...
So the answer to DVRC's ("Adopter of orphaned technologies") question on June 3, 2023, is yes, finally!
HCIL Demo - HyperTIES Authoring with UniPress Emacs on NeWS
https://www.youtube.com/watch?v=hhmU2B79EDU
https://news.ycombinator.com/item?id=36166642
DonHopkins on June 2, 2023 | parent | context | favorite | on: Brave Browser introduces vertical tabs
UniPress Emacs for NeWS in 1988: Scriptable GUI, tabbed windows, pie menus, hypermedia authoring tool for HyperTIES browser.
Emacs served as an IDE with tabbed window and pie menus, for interactively editing, viewing, and navigating HyperTIES markup language documents, graphics, and interactive PostScript "applets".
HyperTIES browser and Gosling Emacs authoring tool with pie menus on the NeWS window system
https://en.wikipedia.org/wiki/Tab_(interface)#/media/File:Hy...
>HyperTIES is an early hypermedia browser developed under the direction of Dr. Ben Shneiderman at the University of Maryland Human Computer Interaction Lab. This screen snapshot shows the HyperTIES authoring tool (built with UniPress's Gosling Emacs text editor, written in MockLisp) and browser (built with the NeWS window system, written in PostScript, C and Forth). The tabbed windows and pie menu reusable components were developed by Don Hopkins, who also developed the NeWS Emacs (NeMACS) and HyperTIES user interfaces. (Sorry about the quality -- this is a scan of an old screen dump printed by a laser printer.)
Emacs provides the pie menus you see popped up in the illustration (Articulate, Edit, New (Storyboard, Link, Picture, Target), Define) that control the HyperTIES browser from the custom text editing mode of HyperTIES storyboards (like web pages), which the HyperTIES browser (in the background, which emacs controls in a sub-process) formats and displays. HyperTIES also uses pie menus for navigation and in interactive "applets" programmed in PostScript.
DVRC on June 3, 2023 [–]
Do any version of UniPress Emacs (that support the NeWS driver) or NeMacs survive?
https://news.ycombinator.com/item?id=31989423
I wrote the following description of how NeWS relates to modern web browsers and "AJAX" in the NeWS article on Wikipedia, and I also worked on TNT (The NeWS Toolkit) at Sun: https://en.wikipedia.org/wiki/NeWS
>NeWS was architecturally similar to what is now called AJAX, except that NeWS coherently:
>- used PostScript code instead of JavaScript for programming.
>- used PostScript graphics instead of DHTML and CSS for rendering.
>- used PostScript data instead of XML and JSON for data representation.
[...]
HyperTIES Emacs Authoring Tool MockLisp code (Yet Another HyperTIES Implementation, This Time In Emacs):
http://donhopkins.com/home/ties/yahtittie.ml
https://donhopkins.com/home/ties/
HyperTIES Discussions from Hacker News:
https://donhopkins.medium.com/hyperties-discussions-from-hac...
I'm something of a vim fanatic because Emacs was sluggish, but these days have to admit that the multicore support turned out fine and the difference isn't that big anymore.
Uh, not only that. I recently updated from emacs 29 to emacs 30 where native compilation is enabled by default and it’s much much faster. Like, noticeably faster.
Ah, nice. Definitely time for me to carve out a few hours and try it out again, then.
Who knows, maybe I'll have closed the circle in a year and gone back to Emacs full time, where I started off in the editor wars a quarter of a century ago.
I spent 25 years using emacs before vscode (1997 to 2022-ish). I didn't go deep, I mostly just enjoyed the core parts of emacs + ccmode. I don't enjoy LISP but I still enjoy emacs, if that makes any sense.
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.
What are the ways that VScode is better than Emacs?
vscode does three things extremely well: defaults, defaults and defaults. The most important ‘you just need M-x do-whatever after installing the whatever-doer package’ is supported out of the box (no details on purpose, try running emacs or vim without any config and compare to a clean fresh install of vscode).
I listed my favorites above.
Generalizing it: Having smart people who really understand UX helps a lot with minimizing those months of pain before the payoff.
You're almost describing Zed to a T.
Just played with it. You're right. Thanks!
vscode find in files is literally ripgrep FYI.
Warning, though: the older you get, the harder it will be to learn emacs. The best time to learn it is yesterday. The second best is today.
I love Cursor deeply but choosing to be a VSCode fork instead of a VSCode extension was a fatal choice. In the long term I think they either have to retool as an extension or they will go out of business. You can only publicly flout Microsoft's licenses for so long while making a competitor to one of their AAA products.
They are reselling an editor they did not make with a small extension that uses AI models they do not make.
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.
Apparently VSCode doesn't allow extensions to do the same amount of integration as the Cursor people want...
Extensions aren't sandboxed... You can literally do anything.
Maybe against the store rules tho, dunno.
Within the the APIs you realistically can access and use. Just because something is technically possible doesn't mean it's technically feasible
They wouldn’t take off if they weren’t a vscode fork. They may die a heroic death now having kickstarted the proper AI IDE. (Copilot was first and it was… nice? then it sucked so bad everyone jumped ship, remember? MS needed that kick in the balls.)
Eh, I mean it's a fork. They can keep updating their fork forever. Reality is they want complete control over the product, and VS Code doesn't expose everything in the extension API.
Sure, but they depend on a bunch of Microsoft proprietary extensions (that they can't fork) that ban usage in VSCode forks, and they knew this when they made the choice. This was an inevitable outcome from Microsoft's side. I'm sure they want to remain in business more than they want complete control over the product.
> they depend on a bunch of Microsoft proprietary extensions
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).
And hopefully Cursor can give some funding to the FOSS alternatives
People not using VSCode on purpose, based on forks, are surprised product owner isn't happy with their license violations.
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.
Do you guys ever feel tired of 'sounding the alarm'?
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?
What's the problem for people who just use VSCode, exactly? The software still does what people want for free, which is what 99% of VS Code users use the software for anyway. People who care about open source-ness have their own extensions to replace their proprietary C++ tooling, or they can use an open source alternative like Eclipse.
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 see VS Code as just a decent gratis text editor, there's no problem.
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".
Then people should stop caring about open source, care about free software instead, and do not forget that it is free-as-in-freedom, so they should still pay for their tools.
Otherwise keep hoping that your corporate or VC funded SaaS "disruptor" master will continue to be nice to you
But VS Code is not even open source, so even people who only care about open source should be worried about using VS Code.
I feel like comments lately have become full of false statements.
VSCode is MIT licensed. But the extensions aren't, which locks you into the Microsoft distribution of VSCode. And that's how they turned an open source product into a monopoly-enhancing tool.
I agree, lots of false statements here. "Code - OSS" is open source, and released under the MIT license. Visual Studio Code is built by combining "Code - OSS" with proprietary code, and is released under the following non-open-source license: https://code.visualstudio.com/license
From their github repo:
"Visual Studio Code" is to "Code - OSS" what Google Chrome is to Chromium. Microsoft has just been successful at tricking people into thinking that Visual Studio Code is itself open source through misleading marketing on their website and things like naming the github repository for "microsoft/vscode".Thanks for the clarification!
Bruh, you can write your own extension, or use an extension created by another individual or company which is open source. They’re simply enforcing the policy that their extension can only be used with their VScode.
I'm at that tired stage right now as well. The way I read the title: "Company did company thing". Absolutely no surprise. The question is always a when, and similarly, I don't expect this current thing to last forever either: maybe they rethink their decision.
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.
It's tradeoffs all the way down. VSCode remains one of the best intro editors, because it's free, has next to zero learning curve, and a robust extension ecosystem. I mean, what even is the argument here? That it's not completely open in every possible way? Do we feel so strongly about the heaps of paid IDEs that are completely closed source?
> Do we feel so strongly about the heaps of paid IDEs that are completely closed source?
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.
Man, it is just a code editor.
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".
That's what "word to the wise" means -- you can't tell most people __anything__.
The opening of Proverbs has:
1:5. Let the wise hear and increase in learning[...]
I just use the OSS vs code builds at home. (Work uses vscode).
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?
I think the problem with "sounding the alarm" is that it's not a tsunami that will immediately wipe out everything, it's more of a slow flood. The business strategy is boiling the frog.
I’ve just lost all hope and have rock bottom expectations. Probably not the healthiest coping mechanism.
find one/your community and contribute there?
Meh. If it does eventually go away, it wouldn't be the first time I've switched editors. Which turns out to not actually be all that hard to do.
> 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?
I think ultimately we're mostly just not as clever as we think we are, which I think unfortunately we must accept.
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.
And when it turns out you were right the whole time they will pretend no one saw it coming and blame you for the problem.
You just have to let go of things you have no real influence over.
Indeed! "No one saw it coming" is the most ridiculous thing I've been hearing for the last couple of months regarding global politics. They've literally been predicting and warning against the rise of these (political) issues for 20 years.
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.
The clangd extension is better anyway, and is open source.
The Microsoft C++ extension is not open source; not sure what people were expecting here.
It's one thing for it to not be open source.
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.
Why? If I listed an app on the google play store but intentionally limited it from working when installed by alternative means (eg someone relisting it on an alternative app store without my permission) would that be problematic? Why is this different?
People want to be given everything for free, to be able to put the absolute least amount of effort into the code they write, in the name of “open source.”
True! Open source = free stuff for a lot of people. This is why corporations like Microsoft encourage open source - so they can profit off of other programmer's hard work, without giving anything in return in most cases, and in rare cases giving a small donation. So, it goes both ways.
But open source nevertheless contributes to the commons when done well.
Compare and contrast: Free software.
I would be fine with it if Microsoft didn't constantly prattle about how VSCode is "open source" all the time without mentioning all those gotchas.
Because interoperability is good, and things that actively hamper it are therefore bad.
I don't like MS, either. BUT, let's be clear. No one is to obligated to work for free on OSS, not even big companies like MS. They have the right to constraint them to work on their own platforms. If you don't like it, you should fork the previous unconstrained versions or develop your own C/C++ add-on rather than complaining that MS stopped supporting your favorite extension.
"It's not illegal for them to do this bad thing" is such a common defense of companies doing bad things, as if it was the legality and not the ethics that was being discussed. I don't get it.
If Microsoft is gonna keep trying to enshitty their apps with unmasked for AI pop-ups that will always come back and even go so far to throw ads in at an OS level: yes, I will feel at least a bit entitled to some "free work" for taking hours of my time.
I sure do wish my industry didn't need windows. I'd happily go to Linux and never look back.
Am I the only person using tmux+vim+cscope+bash+gcc as a development environment? I do not see the need for these GUIs. I also can develop software from just about anywhere as I only need to SSH into a machine with these things (+git) installed. There are no hostile license terms either.
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.
My dev environment is very similar (no cscope but ctags yes)! tmux + vim + bash + gcc
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.
I use helix editor, but I wouldn't say my editor needs are that great, I don't "write software at scale". I mostly write infrastructure automation in , terraform, Nix, python and YAML pretty much.
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.
vim + tmux + tig for me
> I am not sure why anyone would use Microsoft’s tools for this.
Really?
While I use emacs these days for my embedded and "simple" web gui work, I quite miss visual studio, especially the debugger. I'm not sure why everyone acts like Microsoft tools are so bad. I dislike microsoft for their crappy corporate attitude but I quite liked their dev and debug tools, thought they did seem stuck in c89 for far far too long. I was doing c++ gui work along with signal processing backend and it was always a good experience.
At least I know one alternative that is on bar (even better according to some people) for the C++ MS extension. What I am worried more about is the Jupyter Notebook MS extensions. I cannot find a suitable alternative and sometimes I am not being able to use it on windsurf/VSCodium (manually installing vsix). I am surprised by that taking into consideration how Jupyter notebooks relevance in data science and ML.
This is just Microsoft being classic Microsoft.
https://en.wikipedia.org/wiki/AARD_code
Protesilaos in this piece https://protesilaos.com/codelog/2019-08-11-why-emacs-switch/ has the following closing paragraphs:
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.
Good to see some of these neural network people actually pay for their real infractions. Granted, this time it was a banal competitor action, but still nice. Just because a license isn't enforced, doesn't make it safe to violate.
Good news is that with Cursor AI, they can rewrite their own extension from the scratch in two hours! (:
The Microsoft Intellisense is really bad compared to the open-source one clangd, anyway.
I don't understand the problem. It sounds like the C/C++ extension was proprietary. This sort of thing can always happen when you rely on proprietary software. Make an open source C/C++ extension and you wouldn't have this problem.
>It sounds like the C/C++ extension was proprietary
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.
Yes, that is what I thought, too. (It would be a good idea to have a open source C/C++ extension anyways, whether or not the proprietary extension stops working with non-Microsoft code.) (Maybe there is such extension; I don't know; I don't use VS Code and VS Codium etc.)
clangd, that is the extension. a lot better than the prioprietary trash microsoft pulls onto the store. open source, too.
This is one of the reasons why I switched to CLion for C++ work, and the fact that VS Code and its derivatives was a pain to configure for C++.
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.
I did give CLion a try when looking for an editor, but last I checked CLion required you to use CMake. Also, JetBrains has it all split up between different IDEs. I need on e that supports C, C++, Python, Cython, Makefile, TypeScript, SCSS, XHTML, Shellscript, JSON and XML in the same program. I also need a program that can do CMake and C, and a program that can do C# (including project management, building, tests etc), Batch script, PowerShell, Shellscript, Cake and YAML, preferably with the same UI. And it needs to work on Linux. VSCode is the only one I've found that can handle that.
That makes perfect sense. I used VS Code extensively for many years, and it kept on frustrating me over and over. I still use it on the odd occasion to edit a small script, but for larger projects, I prefer a dedicated IDE.
I can also second the usage PHPStorm over VSCode for PHP work. On a team of 10 PHP devs we have just one that prefers VSCode.
> This is one of the reasons why I switched to CLion
You switched to CLion because MS does not allow forks of their editor to run MS-developed extensions?
No, I said ONE of the reasons. I didn't list every single reason, just some that relates to Microsoft.
> This is one of the reasons why I switched to CLion for C++ work
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?
For both questions, I don't know, probably not. Sorry, I do not understand why you ask this question. Jetbrains' IDEs aren't open source.
they never gave us the impression that they were going to. No rug pulling is the name of the game here.
Abandon VSCodium, Return to Emacs
A company simply starts enforcing the terms of use that were being openly violated… what’s the issue here? The article claims it could stifle competition — HUh?! Cursor and others were relying on an extension created by Microsoft, now that they can’t do that, they will have to use an extension created by either themselves or another third party, increasing the use of that alternate extension. This will literally help competition. There was no competition beforehand, ppl just accepted the Microsoft extension with open arms. I really don’t know why everybody’s freaking out. You can always use a different editor, or make your own extension.
A summary:
> Embrace
Yay, MS loves open source!
> Extend
Wow, VS Code is so useful!
> Extinguish
shocked Pikachu meme
Glad I'm using Sublime Text.
FYI, neovim has LSP and DAP support, as well as a bunch of other editors.
Neovim is a godsend, I would be in despair without it.
I learned a bunch of Lua because of it :)
I've been thinking of that but nvim + lazyvim is so nice and easy as a text editor. I just need to figure out how to keep the shell plugin from thinking it's smarter than me and linting every single time
Knowing Lua helps making your neovim config too. I prefer it to vimscript.
neovim is a truly beautiful piece of software that is impossible to undersell. It has made vim into a full feature complete IDE for every language finally with a good editor :P
100%. I switched to it to get true color themes support in the terminal which vim didn't have at the time, but I stayed with it because of all the extensibility for features like above.
After Pylance, Liveshare, and remote development (which among the others also includes dev containers support) I’m not really that surprised.
Reminder: https://ghuntley.com/fracture/
The hilarious part is that old fart C++ programmers (like me) have been the ones most leery of VS Code. Microsoft’s gonna Microsoft, ‘specially with compilers.
"Don't be paranoid", they said.
"That's ancient history", they said.
"Lucy will hold the football this time for sure", they said.
What do you prefer to VSCode? Just started a job where I’ll be working in C++ and looking for alternatives
CLion or Visual Studio.
Not the parent, but for C++ I like QtCreator.
Well, VisualStudio for one. If you’re targeting Windows, you should consider it. VS Code feels slow to me in a way VS doesn’t.
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.
I have almost the exact same opinion. In that I hate distracting widgets and things that eat vertical space. I spent about a week getting nvim setup. I write code all day. I still have VSCode day to day because I'm so used to it/fast with it (I use vim motions within it).
But to me the appeal of nvim is being able to fully remove everything I dislike.
I use cursor primarily because of the great tab autocomplete model, but I've always thought it was a bit scummy they blatantly violate the VS Code licensing. Windsurf ships a special version of the pyright extension for this reason. Why doesn't cursor have to play by the rules too?
> Visual Studio Code (VS Code) no longer works with derivative products such as VS Codium [..]
They seem to have this backward. Visual Studio Code is a derivative product of VS Codium.
No VS Codium is just a alternative build of Visual Studio Code.
> This is a repository of scripts to automatically build Microsoft's vscode repository into freely-licensed binaries with a community-driven default configuration.
https://github.com/VSCodium/vscodium
I thought it was similar to the Chromium/Chrome situation. The naming implied that. But I don't use it and don't follow it that closely. Thanks for the clarification.
Didn’t this affect Windsurf also ?
This is why it would be better for more effort and time spent in developing open source software such as neovim. Then we can always be sure tooling is free.
This was foreseen 3 years ago: https://ghuntley.com/fracture/
How is it not open-source?
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?
You missed that the ‚binary‘ vsix file has a different license: https://marketplace.visualstudio.com/items/ms-vscode.cpptool...
(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
Also Python.
I guess it's the "additional binaries" which are not included.. but that's a guess, we need someone to confirm.
Good. Now it's time to learn from this important lesson.
Why anyone uses anything from Microsoft is beyond me... It's always been clear that VSCode is a trojan horse for MS' EEE strategy. So just don't use MS stuff. Neovim is great, it has great C++ tools. What's the saying? Fool me once...
People on this site will never ever learn that if a company (especially a profitable one) invests into something and then gives it away for free, there must be some kind of strings attached.
Imagine Debian banning Debian forks downloading from their repos…
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!
I don't see why they'd need to make the marketplace fully open for their client to be open source. Fedora packages a Flatpak client that downloads proprietary software, but that doesn't make Fedora 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.
lol
Is this big deal? Surely with help of AI tools you can implement these extensions in matter of days if not hours. And they will be better.
Shitty move (as expected from Microsoft) but I don't see the bigger issue. The beauty of open source is that you can always roll back to a version that did work. Of course continued developement and support from there on is your problem, but Microsoft never owed that to you anyways. Cursor, Codium and all the other VS Code forks have unlimited VC funding and are worth tens of billions of dollars combined. They can afford to contribute back to the ecosystem.
The C/C++ extension isn't open source though, and that's where the "doesn't work on forks" DRM is implemented. At least the clangd extension is open source and is a viable alternative.
Well if it isn't open source then they should never have been using it in the first place.
But what happens when you anger the wizards? Some guy gets 4 two liter bottles of Mt Dew, and in a weekend comes up with a better plugin, and open sources it. Look it up on Monday. I just went from VSCode 1.52 to 1.99, and it's not pretty, but... Can someone convince copilot to rat out it's owners and write out a extension that runs cLisp? And all the emacs code runs in VSCode? ( I am saying this so facietously... ).