I am the person who approved this PR and would like to acknowledge and apologize for the mistake of turning this feature on by default without sufficient upfront validation.
There was no ill intent by evil corporation, but rather a desire to support functionality that some customers expect of VS Code w.r.t. AI-generated code. As folks mentioned here - many similar tools do this as well.
Obviously, it should not be on when disableAIFeatures is on and it should not be reporting changes that were not done by AI. I'll work on fixing those and meanwhile revert default to off in 1.119 update.
I am open to any (constructive) comments/suggestions - please feel free to reach me directly (my alias @microsoft.com) or open an issue on GitHub. Happy to answer anything here as well.
I think the constructive criticism is best directed at whatever process you are following. That process allowed a very visible user facing change in a widely used piece of software. How did this change make it to production without some process catching the impact of this change? Was there really no internal discussion from a code review at least? This seems hard for me to believe. I expect more from Microsoft.
> There was no ill intent by evil corporation, but rather a desire to support functionality that some customers expect of VS Code w.r.t. AI-generated code.
What metric did Microsoft use to assess that VS Code users "expect" their commits to have unsolicited messages added to them?
> Obviously, it should not be on when disableAIFeatures is on and it should not be reporting changes that were not done by AI.
Did you discuss adding these messages with your legal department?
What is Microsoft's position on adding such authorship statements to the code Microsoft did not author?
Or is Microsoft stating that using LLM assistants makes Microsoft a co-author of the code?
Does Microsoft have copyright claims on the code if LLM assistants are used at any time during its creation?
I think there’s a few of us who appreciate you being up front. I’d question the intent and why it was a mistake, especially when the commit[0] message reverting said functionality states “widespread criticism” citing this very HN article makes it look seemingly like the revert is due to negative PR opposed to a mistake.
[0]https://github.com/microsoft/vscode/pull/313725/commits/1e70...
My issue with this: if my intention is to never have these "co authored by <tool>" trailers in my commits, this is a sudden breaking change. What's worse, it is not immediately visible to the user. Now I could look like I use a not-company-approved AI. That's absolutely unacceptable, this could cost people their jobs. The "bug" (or "metrics boosting feature", as PMs call it?) that it claims all commits including ones never touched by Copilot are just icing on cake.
Interesting case:
- a project manager vibe-coded the change without thinking it through at all
- the PR was reviewed by an LLM
- an actual engineer gave LGTM without really reviewing the changes, trusting the LLM
Did I get this right?
Don't you understand that the default shouldn't be changed at all in this case? It improves nothing and affects every single user. If an org/project wants this behavior then it can enforce this flag for its contributions. The only valid reason for this change is someone's performance somewhere in Microsoft is dependent on VS Copilot usage metric.
Why does the commit editor hide the coauthored message? Why not pre-populate the text field and users take or leave it when committing?
I just wanted to say, while I think this feature was a bad idea, I sincerely applaud your willingness to post here, knowing you'll get roasted. Seriously brave and commendable.
Just for any future mea culpa, I'd recommend not hedging with comments like this one:
> As folks mentioned here - many similar tools do this as well.
It's really doubtful they have the same behavior people are complaining about here: namely including the authored by Copilot statement when it wasn't used (or even enabled).
What is the use-case where you expect users would be happy that you modify their commit messages with MS marketing? Do you think it would be ok to edit every commit to append “written with VS Code”?
Absolute clown car of an operation. Just abdicated responsibility even when it comes to very basic testing. This is bonzi buddy scam software bad, intended or not. Have fun Microsoft, but this is where we part ways.
> There was no ill intent
Only callous disregard for your users
> many similar tools do this as well
But since we have normalised that, it’s okay?
thank you for doing this, it gave me the push I needed to finally switch to zed. vscode has really been going downhill for a while now. it's sad to watch, it used to be a really nice editor
> I am open to any (constructive) comments/suggestions
Here's one:
I think a senior sysadmin needs to sit you down in their office and have a very serious talk with you about the responsibility that comes with writing code other people run. I am serious. We used to have these talks with everyone who got sudo access. You shouldn't be shipping code if you don't understand the trust that is required of people in your position.
This isn't just about this "feature" being active when AI features are disabled, the way you mis-implemented this has resulted in it modifying the commit message with the user even seeing it! That is malicious behavior, not an innocent little feature "to make life easier".
I've fully switched off of VS Code to Kate now, which is faster and better behaved in most cases anyway. Bye.
Why are you taking the fall and not the PM who authored the change (and submitted a PR with an uninformative title and no comment) and, I'm assuming, plays a role in managing the project?
Considering the size (and significance) of the VSCode user base, it feels like someone should be in charge of ensuring that default behavior doesn't change without good reason.
Does anyone (or any team) have ownership of the extensions/git/package.json file?
> a desire to support functionality that some customers expect of VS Code w.r.t. AI-generated code
Literally who?
> There was no ill intent by evil corporation
I simply do not believe you
Thanks for facing this head-on here; mistakes happen.
I think the default to on should also be reconsidered regardless. The assessment (co-authored by AI) may be valid but the assumption the user wants that advertising is exactly that, an assumption, and a dubious one at that.
> There was no ill intent by evil corporation, but rather a desire to support functionality that some customers expect of VS Code w.r.t. AI-generated code. As folks mentioned here - many similar tools do this as well.
Then make it an extension, not a IDE-behaviour thing. Is that so complicated, so difficult?
> There was no ill intent by evil corporation, but rather a desire to support functionality that some customers expect of VS Code w.r.t. AI-generated code.
Can you expand on this? Who "expects" their code editor to lie about using Copilot?
> There was no ill intent by evil corporation, but rather a desire to support functionality that some customers expect of VS Code w.r.t. AI-generated code. As folks mentioned here - many similar tools do this as well.
Please elaborate on what "similar tools" claim that commits are co-authored by AI when the AI features are all turned off. You're trying to defend the theoretically correct version of this that you didn't make, not the actual version you did make.
> I am open to any (constructive) comments/suggestions
It's hard to take this seriously; you know exactly what you did wrong here and what you should have done instead. Testing that this doesn't happen when Copilot was not used is extremely trivial; if you're not lying about it being unintentional, the fact that it didn't occur to anyone to do it still says more than enough about what the priorities are here. At absolute best, the priorities of you and your team are so fundamentally wrong that it's impossible to trust any of you going forward.
I appreciate you acknowledging that this was a mistake, but as you surely know from your own experience with other people’s mistakes, some mistakes are so egregious that they cast doubt on the intentions of the people involved even if they are corrected later.
To me, “let’s add false attribution to every commit by default without informing the user” falls squarely into that category. I don’t think I’ve ever worked in an environment where something like that wouldn’t have been red-flagged in three seconds by anyone who took even a casual glance. I’d honestly be embarrassed if such a proposal even made it into a public pull request for my organization, nevermind that pull request getting merged.
Have it as an add-on said customers can add. Opt-in, not opt-out. No AI without consent.
- A qualified sorry for one particular aspect of this
- It wasn't our intention
- Our users asked for it [you'll have to take our word for it]
- Everyone else is doing it anyway
- Statement that I am reasonable and will be co-operative with the community but with conditions
That's a bingo!
Changing a global default this way is hugely disrespectful to users.
As a result I’ll be uninstalling vscode from all my machines, I’m tired of disabling things in vscode I didn’t ask for especially in regards to AI.
There are open source tools that clearly respect users more and have a track record of not doing these kinds of stupid things.
Be better.
You're an idiot.
But I'm an idiot every day too, so I can relate. We can only learn from these mistakes, keep it up!
Rule of thumb, such features should always be Opt-In
Nobody wants this shit. There is no timeline where developers want junk inserted into their commit messages.
Just disable everything AI by default bro.
[dead]
Changing the default behavior for all of your users with no notification is pretty unforgivable. Even if this feature worked correctly, it obviously doesn’t, this should at minimum be a prompt after upgrade to let the user confirm that this is what they want. But honestly should be opt in for those that want it.
To have it silently just start adding marketing copy to git commit messages is pretty bad. To have that added text not be visible to the user in the UI so they can remove it before commit is just much worse.
This kind of thing being released speaks to a greater disfunction over there. Not a good look at all and I am not a Microsoft or AI hater. But my commit messages are not where you move fast and break things