Microsoft is breaking its open and extension-friendly ethos with VSCode in order to cripple GitHub Copilot competitors with restricted APIs.
I think the title is a bit misleading… vscode was made as a light weight script text editor, and it wasn’t even used that much internally at microsoft when it first came out. most people were using something like notepad++ / sublime for config file edits and stuff… it wasn’t until like 2018/2019 that it started to see wide usage internally. Most of this was due to C# being the language of choice, and the fat visual studio had a lot better integration for C# and azure development… though as teams started to use other languages, and the C# dev tools improved, you saw gradual shifts to people using vscode (mostly due to its much faster startup times)
the funny thing is, the vscode team released their github integrations internally to dogfood before the acquisition of github was announced, and due to regulatory stuff, the team behind the project wasn’t even aware of the acquisition until it went public.
While it makes sense that msft integrated co-pilot into vscode due to its popularity, its a far stretch to assume that it was planned out in some long road map. It was most likely a small team that implemented it, and it gained traction, then fell onto a roadmap for vscode (though, thats a guess, i havent worked at msft for quite a few years). I say this due to the workplace interoperability and the anecdotal things i saw while there (like the github bit above)
Yeah what the hell is this title.
Why did Microsoft make VSCode? Well who knows, you can theorycraft about EEE all you want, and some of that may be true. The hard fact though is that VS Code replaced Atom with the sheer power of being way fucking better in every way and frankly good riddance. I am extremely glad to have a tool as good as VS Code at my disposal nowadays, something we didn’t have 5 years ago.
long ago i shifted to vscodium, a packaged version of only the open-source base of vscode that provides most but not all of the available extensions. for two reasons: so that i didn’t leak telemetry to m$, and so that i wouldn’t get used to features that aren’t open source. it’s available in a lot of package managers, mac/windows as well as linux
Ahh I should have figured there’s a “-ium” version of VSCode too. I’ll have to check it out and see if the Julia extension works with it
I wouldn’t touch AI tooling with a ten-foot pole. Sooner or later, someone’s gonna get sued for copyright infringement because they plagiarized someone else’s code via Copilot, and I don’t wanna be that someone.
I already copy boilerplate code verbatim from docs or stackoverflow. Also how would that work in closed source programs?
I already copy boilerplate code verbatim from docs or stackoverflow.
That code has predictable license terms. You have no idea what the license terms are for some random code that an AI plagiarized for you, because you have no idea where it even came from.
Also how would that work in closed source programs?
I don’t know, but Stac Electronics somehow figured out that Microsoft plagiarized their code, so it seems best to assume that I will also be caught.
At least the way I use AI tooling, it would be very difficult to accidentally plagiarize code outside of boilerplate I guess. The way tools like GitHub Copilot are really useful is when using your existing code as “reference”, so if you use it to write a simple method, it’s only going to be restructuring your existing code.
In other words, Copilot is basically just meant to be used as really smart copy-paste.
Plagiarizing boilerplate is still plagiarism.
If it only used my own code, I’d be less reluctant to use it, but I was under the impression that it’s trained on numerous projects, not just mine.
Also, if it only used my own code, would it be useful? I very rarely have to write the same code twice.
Might be cool to actually have a pattern copy pasting for those 10 main use cases, I feel like using a LLM just to repeat some boilerplate is such a waste.
One case where the LLM is really useful is when generating some basic comments, but to be fair 50% of the time my comments explain why I’m doing something, and Copilot isn’t smart enough to understand that.
Eh idk if it’s for copilot, but the play is pretty standard for Microsoft lately. Give the base away for free and charge for the cream on top.
Windows is free now because they know now you’re in the ecosystem, you’ll pay for office, one drive, SharePoint, etc. Vscode is the same.
He’ll look at halo infinite. Free to play, but once you’re in they want you to buy the thousand add ons.
Nothing is ever free, everything has a catch
Wait, Windows is free now?
Generally they don’t care, they want you in the ecosystem. I don’t know if they explicitely label it as free, but you can download an ISO, install it, and log in and I believe you’re good to go now. Or if you have any Windows 7-10 key I believe they are honored. (Someone call me out if I’m wrong, it’s been a while since I installed Windows). But I don’t think they care at all anymore, I think it’s been more about bringing people into their platform.
What’s better for Windows? a 1 time purchase of $99 or give that away for free then charge $150/year for Office?
Buried at the bottom of the article is a link to this github issue that explains VS Code’s policy, which is apparently to make beta-quality APIs available to one or two extensions first to get feedback, then make it publicly available later. The extension author gets access to the API early but accepts that it’s non-final and subject to changes or breakages. This appears to be what happened with InlineCompletionProvider which is one of the APIs Codeium complains about.
Sure, it’s very convenient for Microsoft to give early access to another Microsoft product but it’s not the worst policy ever to get feedback before everyone in the world starts developing against API and it becomes harder to fix design problems.
I wonder if Codeium has requested their extension to be selected for this status.
I’m a JetBrains person. I like vim, but I also heavily use IDE features and VSCode just never scratched the right itches. I’ve worked with many people who use VC but when I pair with them and watch their workflows, they simply aren’t as efficient, as if they’re unaware of what a proper IDE can actually do. They also complain when VC extensions get mature and become paid extensions, which hasn’t been a problem with JB.
I use Copilot with JetBrains, but it’s only “cool”, not “awesome”. When I really need help with some code Copilot rarely does the right thing, and JB’s code completion already works really well. I know Copilot for VC is better than for JB and they claim they’re going to bring parity to JB at some point, but this article makes me suspect they’re lying. If they don’t I’m going to start shopping for competitors.
I just use ChatGPT with JetBrains tools, it works pretty well. Make sure you go for the paid model, though. It really is better than the free one, and I often use it to lay groundwork that I flesh out in the free model.