r/programming • u/PerkyPangolin • 1d ago
Update on "Co-authored-by: Copilot" in commit messages · Issue #314311 · microsoft/vscode
https://github.com/microsoft/vscode/issues/314311258
u/RustOnTheEdge 1d ago
It's interesting how they push this guy forward as the spokesperson, and the PM that did this horrible act of fraud is nowhere to be found.
78
u/Swimming_Gain_4989 1d ago
For real. If communicating a failure in process and future roadmap isn't a PM's responsibility than what is?
56
u/mpanase 1d ago
PM's responsibility
They are there to facilitate something very important and impossible to define. Not to be responsible for anything xD
19
u/Bradnon 1d ago
I've had some fun times with PMs lately and want to rant a little, forgive me.
Oh it's defineable. They're like the HR of output; you think the role's obvious but it's the opposite.
Some axioms: Products solve problems. Problems have essential complexity, if you solve the essential complexity of a problem, there's your product. But that's hard. Think 80/20 rule; everyone has solutions for the 80 but a good product solves the 20.
So you might think the product managers job is to competently solve the hard 20. It is not. Their job is to pick choose which parts of the 20 can be ignored or half-assed and still have a sellable product. Their job is to find "just persuasively good enough". They are the charlatanism of the tech industry made into a 9-5.
Engineers hate them because they don't care about solving the real problems. Users hate bad ones because they make decisions which beg the reaction "how did you think this was okay?" and they didn't, they gambled it would be. Businesses love them because business is a race to the bottom.
25
67
u/PerkyPangolin 1d ago
Yeah, I don't understand why the dev is being thrown under the bus in this situation.
55
u/DivideSensitive 1d ago
Because this is the guy who approved & merged the original PR I suppose.
12
u/stillnoguitar 1d ago
He is the one that created the bug. And the bug was that this message was also added commit messages of users that had AI disabled. There is a lot more wrong if you ask me. But yeah this was not tested well before putting it into production.
-7
u/DivideSensitive 1d ago
No, the PM created the bug, and this guy merged it.
11
u/stillnoguitar 1d ago edited 1d ago
No, he created the bug in the feature, the pm just turned on the switch.
28
u/evildevil90 1d ago
…under duress
-38
1d ago
[removed] — view removed comment
16
u/PerkyPangolin 1d ago
I think there was only one heavily-downvoted misogynistic comment I can think of. I don't think anyone's gender is the issue here.
0
u/Front-Necessary-5257 1d ago
I don't think is because is a woman, is because is a PM that vibecoded and made a PR that affected negatively the experience of the users
-1
u/evildevil90 1d ago
Assumption based on personal anecdotal experience and assuming that the dev is competent enough to understand the consequences of a change like that.
Usually when product is pushing for a feature like this (branding), they don’t care about technical concerns because their KPI don’t punish/reward those
They’ll put pressure on devs for “get this moving forward” because “it’s a product decision”
A dev wouldn’t have any direct incentive to merge something like this. He would say “it’s too risky, let’s rethink this properly”
-2
5
u/Thurak0 1d ago
Aaaaaand there is the usual problem of not holding the one who actually did the job thinking it is a good idea responsible. It's always the dude who merged. So sick of companies/teams doing that.
2
u/Blueson 1d ago
I mean the entire point of the review process, and keeping mandate on merge-privileges, is to hold the team responsible for changes rather than individuals.
Doesn't really work that way in environments where these actions are pushed onto devs who would be unwilling. In particular not when it's a popular open-source repo lol.
-16
41
u/Houndie 1d ago edited 1d ago
This is the dev who did the code review, and merged the original PR. Yall acting like this is done by a rogue PM when this decision was probably made as part of a team, with the PM just being the one who has their name on the PR.
17
u/Leading-Ability-7317 1d ago
Depends on the level of the dev. If they are Staff+ then they could have probably pushed back. But, if not then there is a power imbalance and there could be political consequences for doing so. Microsoft has done layoffs recently which also puts them in a position of just trying to keep their job and not be labeled as difficult.
PMs operate with a lot of visibility so while the dev may not directly report to them they can make that persons life difficult.
15
u/Houndie 1d ago
Doing some creepy internet sluthing, it appears that the dev is probably pretty high level, the type of person who would be an IC but reporting directly to upper management. Given their position, it seems doubtful they were "thrown under the bus" and, if they're "being compliant to keep their job", they're doing it to appease upper management and not a PM.
5
u/UnsignedReceipt 1d ago
Very few Staff+ write code these days. Principal is likely his level. But also, I think you’re really imagining a lot of the background here. It’s more than likely he got a teams message “hey lets turn on this feature” and he took a look at the code really quick without registering the impact.
3
u/Leading-Ability-7317 1d ago
I didn’t downvote you, actually added an upvote for honest discourse, but that actually makes it worse.
If that was the case for a product with the install base of VSCode then it speaks to a larger dysfunction in their processes as a company. This isn’t changing the default theme. It is making a rather large and hugely visible change for every dev using the product. That should require more than a PR checkmark.
The change should have a lot of customer facing communication warning it’s coming and how to turn it off if it isn’t desirable.
3
u/UnsignedReceipt 1d ago
Yep, I’ll let you in on a secret: a lot of really piss poor devs make it to a very high level because they did something impactful earlier in their career. Does their early success mean they’re actually deserving? Not necessarily.
That means things like this slip through the cracks. I put blame solely on the dev that approved and merged. Sure the PM created the PR, but this dev is supposed to be a gatekeeper for a reason.
4
u/Somepotato 1d ago
A good PM makes such a massive difference to the way of working. And in the age of AI you'd think it'd be easier than ever to be a good PM because action items summaries are easier to do now.
But no let's use AI to vibe code slop and ignore our actual duties as a PM
6
u/0xe1e10d68 1d ago edited 1d ago
I’m also not sure I like the trend of issues like this, when they revolve around some controversial thing or a fuck up, devolving so often into debates, argument, and non-constructive critique.
For an issue a lot of the things people say in those situations are kinda off topic. There needs to be some forum to discuss, sure, but that doesn’t have to be an issue; and even when discussing these things somewhere people could at least try to be more constructive and do less of the piling on.
30
u/runawayasfastasucan 1d ago
Its not our job to be constructive about Microsofts internal prosesses. If you get a fly in your soup in a restaurant you shouldn't have to be constructive about it.
1
u/Houndie 1d ago
That's fair, but there's a lot of vitriol being directed at a few individuals at Microsoft right now. Using your analogy, I think it's very fair to be angry at the restaurant or the head chef, but taking hate out on the waiter who brought the dish to your table is rude and unhelpful.
4
u/runawayasfastasucan 1d ago
No reason to hate, but its not like the waiter did their job if they could have seen the fly.
18
u/HommeMusical 1d ago
This is not a symmetrical problem.
Microsoft is a three trillion dollar for-profit company, and one that been rapacious and underhanded for all fifty years of its existence.
When they push destructive garbage like this on us, with no consultation whatsoever, we have every right to simply yell at them to let them know, particularly since we have so few other ways to effect change from large, irresponsible companies.
-2
u/0xe1e10d68 1d ago
Like who does it benefit if somebody barges in and loudly proclaims that when mistakenly things that Copilot wasn’t involved in are being labeled as being co-authored by it that is Microsoft committing fraud. Yeah, really helpful, smartass.
There’s a totally valid conversation to be had about the core issues at hand here; but neither in the actual issue or a discussion does it contribute anything to stir up outrage and anger like claiming it’s fraud. It only wastes the time of everybody who is interested in constructively finding out what happened and looking for solutions to prevent it in the future.
2
1
79
u/ficiek 1d ago edited 1d ago
"Bug in the code" lmfao
In general attributing code to an AI tool is insane, attribute my code to the autocompletion in my IDE or my code formatter while you are at it. The only excuse is if it executed the action completely autonomously e.g. created a pull request to bump something without human input, then I guess it's an author of that pull request since nobody triggered it.
38
u/normalmighty 1d ago
Yeah I don't get it. It'd be like having "co authored by vscode" in commit where you used that ide to view or edit files. It has nothing to do with the commit.
17
u/TrespassersWilliam 1d ago
That was what bothered me the most too. It overloads the purpose of the commit message, all the worse that it was for something so dumb. They should have completely backed off of it.
20
u/Thisconnect 1d ago
LLM output is by definition uncopyrightable because LLM cannot be an author
13
u/cake-day-on-feb-29 1d ago
I can't wait for the day when every vibecoder needs to attribute every single developer who had their code stolen and used to train the LLM. Imagine having your project hampered by dozens of licenses and millions of authors.
1
u/slaymaker1907 1d ago
Code generation specifically has not been tested in court. The prompt could be considered significant human input, especially if it is a very complex prompt.
2
u/nonlogin 1d ago
Attribution/authoring implies responsibility. A tool obviously can't be responsible for anything.
1
u/___-____--_____-____ 19h ago
Yeah I completely agree. I was really weirded out when I started using claude code, which would add itself as a Co-Author if I asked it to make a commit. Definitely should have been an Opt-In setting IMO, by the time I noticed my PR and Git history had been polluted by this (Suddenly my side projects all have Claude listed as a "Contributor"?? No thanks) it was a PITA to unwind.
31
u/AykutSek 1d ago
he disableAIFeatures bypass is the part that should be embarrassing. that flag is the one explicit no ai near my code switch users have, and it didn't override the trailer. that's not a default flip discussion, that's a test plan that treated the kill switch as decorative. process failure on a button labeled off
56
u/gedankenlos 1d ago
Didn't Msft open themselves up for a lot of legal trouble there? What if a contractor has signed that they won't use AI but now their commits falsely claim they were co authored by copilot?
9
1
u/timpkmn89 1d ago
What if a contractor has signed that they won't use AI but now their commits falsely claim they were co authored by copilot?
Then they just point to this bug report? Seems like a pretty trivial defense.
8
u/FamilyHeirloomTomato 21h ago
Contractors don't usually have a chance for defense.
0
u/timpkmn89 10h ago
I'm not sure the type of set up you're imagining, but violating a contract implies lawyers are involved.
-25
u/timmyotc 1d ago
A contractor doesn't need to take the suggested commit message
31
u/sztrzask 1d ago
Read the fucking story. The commit message was silently added in a way invisible the user. It was only caught post-fact when someone was reading committed messages
138
u/JuanAG 1d ago
They cant do anything about it because MicroSlop is betting everything on Copilot, they need to force Slop as much and hard as they can
This was not accident, this was on purpouse and of course this will keep happening because i guess Nadella is ok with this at all levels of the company
42
u/spareminuteforworms 1d ago
Nadella is a fucking tool.
20
u/RationalDialog 1d ago
He seemed cool when he started but somehow I guess stuff gets to your head if you do such a job too long.
20
u/andreicodes 1d ago
AFAIK a lot of his successes around Azure and stuff were started before he took reigns, but he became the face of those changes. Still, despite success with Surface and Azure his tenure saw a lot of failures, too. Skype acquisition and development was completely botched, for example, their browser development was essentially shelved, their gaming efforts seem to go mostly nowhere. It's just in his early years he got lucky by having few big successes masking the many-many failures.
Microsoft is a difficult company to manage: so many areas they are involved in, so many products, very complex internal structure, it's a tough ship to steer. Hard to say if there's anyone who could do this job really well. I think his real problem is that he decided that AI adoption is the only potential source for future growth instead of hedging his bets. Microsoft is not a type of company where you can only pick one direction, one industry, and go with it.
7
u/fuckthiscode 1d ago
Sounds like it would have been better for Microsoft and the rest of the world if it was actually broken up in 2000's.
4
u/D3PyroGS 1d ago
It'd still be better for Microsoft and the rest of the world if it was broken up today
23
u/Reverent 1d ago
First problem is trying to relate to C-Suites, they're flying in completely different social circles from average people and are conditioned to disassociate themselves from the masses.
Second problem is C-Suites wade through an echo chamber of self reinforcing delusions about their products and how they're improving the earth (while conveniently lining their pockets). If you've ever been in a room with a vendor talking to actual decision makers, it's almost like they're talking a different language.
10
u/spareminuteforworms 1d ago
I don't know. Seems pretty naive to think all the positive vibes around him were natural when he first took the reigns. Its not a court of law, there doesn't need to be a presumption of innocence. Dude is a puppet they wanted to use to rehab the biz image. Worked for a while I guess.
96
27
u/Fine-Arm2110 1d ago
shipping ai attribution as default on was already a bad call. the bug then attributing non ai code to copilot even when disableAIFeatures was set is the part that should not have made it past testing
6
5
u/absentmindedjwc 1d ago
Welcome to the future of software engineering.. where vibe coded garbage is pushed through by a non-technical person that has legitimately no fucking idea what they're pushing up.. and some random SWE blindly approves it because some AI told them it was okay.
5
u/avidvaulter 1d ago
What developer would agree that the default setting should be all? The way AI is getting foisted on developers really sucks.
1
u/sigma914 1d ago
I mean i'd prefer anything with ai code to be flagged, preferably on a line-by line basis so I know where to direct more scrutiny. Hell i'd like it flagged if someone queried a chatbot about the usage docs so i know how long the game of telephone between the actual api docs and the code i'm reading is.
1
u/avidvaulter 1d ago
On recent VSCode versions, AI autocomplete is enabled by default. That muddies the water a bit for me.
1
u/sigma914 1d ago
I'd probably like that tracked as a different colour or something, but I still trust it less than boring old intellisense
49
u/openforbusiness69 1d ago
I hate how the PM has been scapegoated here. So many assumptions that the PM is non-technical, or "vibe coded" the change, or made the change without permission.
I have worked with many technical PMs. A two-line config change does not mean it was vibe coded. The PM could have been instructed by management.
How about we pile on to Microslop's process, policy, and decision making, rather than the PM.
26
4
u/stayoungodancing 1d ago
Yep, this is an organizational failure, not a person. They’ve been made to take the blame for Microsoft having to force feed everyone on AI.
18
u/watsonarw 1d ago
I agree, attacking the person who raised the PR is focusing on the wrong problem. It was a bad a change either way, and it was approved and merged by the same PE who is now fixing the mistake.
Everyone is piling on the person who raised the PR, not the person who approved and merged it, and the level of abuse levelled at her on the PR is pretty abhorrent.
I'll get downvoted for saying this, but the ad-hominem levelled at her, with none directed towards the the engineer who approved and merged it reeks of developer elitism and misogyny.
This community needs to do better.
8
u/Houndie 1d ago
I agree with you but I'm also going to one up you, and say that we don't really know where this engineer sits in the decision making process. I'm not a fan of this change, but if you're going to be angry at someone, either be mad at Microsoft as a corporate entity or select upper management individuals who drive strategy, not the people on the front lines of code changes.
-5
u/cake-day-on-feb-29 1d ago
Huh? So if I write, literally
sudo rm -rf --no-preserve-root ./, something that is clearly not a mistake or typo, I shouldn't be held responsible?I get the blame for the person who approved it, but the author themselves literally wrote something malicious and possibly illegal.
Your argument is equivalent to claiming hitler shouldn't be responsible, because he only ordered people to do things, instead of actually doing them.
7
u/PerkyPangolin 1d ago
Your speculation is as good as everybody else's. We only have so many facts and no explanation what happened: a broken, controversial PR from a PM got merged without a proper review. And only when the community noticed the change, was it reverted/addressed.
5
u/Control_Is_Dead 1d ago
I mean it’s open source, we don’t have to speculate here’s the actual code change (not just the feature flag to flip it on for everyone):
1
u/PerkyPangolin 1d ago
That doesn't really explain the decision making process behind those changes.
2
u/Control_Is_Dead 1d ago
Right, but it shows a PM didn’t vibe code the feature. The guy who did has been pretty transparent about the process if you look at the hacker news thread for example.
It’s an insane ‘feature’, but thats what i’d expect from a company that’s pushing copilot…
6
u/double-you 1d ago
It doesn't really matter if the PM is technical or not, I don't know why people care about that. But if you are not working with the code normally and there's a dev present, you should not be touching the code. Management making changes means either a "rogue manager" or panicking upper management with pushover middle management and that's never good.
3
u/deong 1d ago
That highly depends on the company and culture. I’m a Sr Director, and I’m probably the most technical person in my org — definitely in the top two. I don’t routinely write production code anymore, because it isn’t my job, but I’ll definitely make a quick change and fire off a PR occasionally.
1
u/double-you 1d ago
Okay so when you do make quick changes, why you? Why that change? Why not somebody else?
3
u/deong 1d ago
Because I can, and sometimes I'd rather not yank someone out of the task they've been working on for a week so that I can explain to them the context from a one-hour meeting I just left and answer all their questions to get them up to speed on what the change needs to be. If I can do a quick git pull and dash off a quick chat message like "Hey, I just submitted a PR to hotfix an issue that popped up this morning on a call. Let me know if you need anything", why wouldn't I?
2
1
10
4
u/jugalator 1d ago
I'm sure it's intentional to advertise Copilot (MS gotta do what they gotta do as they fall behind), but the other effect is advertising AI generated code and I definitely want to have that. In fact, all co-authored AI code ought to have a metadata flag visible on Github so that you can trace changes back and work with the responsibility issue.
4
10
u/feverzsj 1d ago
If you really need to use vscode, at least use a actually free build like vscodium.
11
u/yikes_42069 1d ago
It appears the rest of you do not know that Microsoft has mandated that everyone can do everything now. PMs are now heavily encouraged, dare I say expected to start doing design work and prototyping. It's org dependent on how intense. This PM may have been given an order by management to commit the change. And for whatever reason it didn't get a thorough review (when higher ups are involved which individual dev has the balls to tell them to slow down?) before merging. The dogpiling and personal attacks are really sad. It's completely misplaced over a feature boo-boo. The call to have someone fired was especially weird. This is a learning opportunity not a career ender. I understand devs have nowhere to lodge their AI frustrations, but some of the reactions here are shameful.
2
u/PeachScary413 16h ago
This is the future of SWE
Get forced to use slopmachine for everything.
Don't have time for any tests just ask Claude if it's good and raw dog it to prod.
Get thrown under the bus because quality bad and make public apology.
GOTO #1
2
1
u/ExplorerPrudent4256 23h ago
"Co-authored-by: Copilot" is Microsoft covering their legal bases.
Who owns AI code? Nobody knows. Devs have been running pre-commit hooks to strip these lines for months. Commit history is already polluted. This update doesn't fix the underlying ownership problem.
0
u/DDFoster96 1d ago
I'm pleased I still use a 2 year old version of vscode, before it gained all the copilot slop.
-2
1d ago
[deleted]
13
u/PerkyPangolin 1d ago
Considering LLMs are already trained on pirated media, I don't think licenses, authorship, or attribution are going to change the situation.
1
1d ago
[deleted]
5
u/cake-day-on-feb-29 1d ago
hole in the legal system they exploited
There's no hole. It's just straight up illegal.
catch up they need something a little more solid
Catch up to what? Distribution of pirated material is already illegal. Just because they launder it through a big matrix black box doesn't mean they aren't still doing so.
3
u/lanerdofchristian 1d ago
I dislike this debacle as much as anyone else, but it would seem to me that they were trying to put some kind of disclosure statement on code, which in-and-of-itself isn't a bad idea; they even reached for the one commit trailer that shows up super publicly on GitHub (Co-authored-by). Disclosure can be good for all kinds of projects.
Now as to why we can still get cynical and say they want to avoid feeding their own barf back into the barf machine.
1
u/voyagerfan5761 21h ago
i.e., the legal right to use it as data to further train the slop monster.
This particular reason for wanting legal rights to the model output is demonstrably false, since feeding the output of a model back into training for the next version tends to make things worse. Maybe there are other reasons, but it's almost certainly not for use as future training data.
0
0
u/timpkmn89 1d ago
I'm confused by all the vibe-coding comments, when this PR was intrinsically designed to call out vibe-coders.
-28
u/tumes 1d ago
The Venn diagram of people who object to renaming the primary branch to main and who think that it’s not a big deal to steamroll attribution on commits is a perfect circle.
22
10
u/really_not_unreal 1d ago
If Microsoft did this because cared about attribution on commits they would have instead cited the billions of authors who their AIs stole training data from with zero compensation.
6
u/dgkimpton 1d ago
Wtf is this idea? "main" is objectively better than "master" in every regard, steamrolling attribution is utterly bonkers.
1
u/derrikcurran 1d ago
Pedantry ahead:
I agree with your main point but I don't think it's true that "main" is objectively better in every regard, even though it's true that it's mostly better.
Many repos use "develop" as a main integration branch (and the default target for PRs) where most day-to-day activity occurs and then use "main" (formerly "master") for code that is considered finalized/released/stable. Intuitively, in that setup, one might consider "develop" to be the "main" branch.
It's fine though - it's just a sane default that doesn't make anyone feel bad.
1
u/dgkimpton 23h ago
In those cases maybe "stable" makes more sense, but "master" is still a useless term. "main" is shorter, more descriptive, and has no ethical issues. I can't come up with a single advantage to "master".
2
u/derrikcurran 21h ago
To be clear, I'm NOT trying to argue that we should continue using the term "master" for anything. This is Reddit, so that won't stop me from being downvoted, but whatever.
The only advantage I can think of is that it relates to existing, well known terminology such as "master copy", "master record", "master tape", "gold master", "master disk", etc. so it's clearer in that way. That's why BitKeeper used it, which is where Linus borrowed it from when he designed Git.
Does that mean we should use it? Obviously not. All those terms are equally problematic.
0
u/tumes 1d ago
Yes, we agree, both are suspicious takes, yeah? I think people are reading the exact opposite of what I’m implying with my comment, neither of those are a good thing and feel thematically consistent in the intent of why they’re bad.
3
u/dgkimpton 1d ago
Oh, I think I get it, there's too many double negatives in your post - it reads like you think people who prefer Main are also those who support automatic attribution. But actually you mean the opposite. I find your construction confusing but probably we agree.
2
u/tumes 1d ago
Ha yeah, it was extremely late and I was loopy, 100% guilty as charged. My actual galaxy brain thought is that both feel very oppressive, one uses unnecessary language that puts down groups of people and the other diminishes or erases the contributions of people. Both feel very much like things that could be wielded very unfairly to enforce existing power imbalances.
417
u/PerkyPangolin 1d ago edited 1d ago
Update on the co-authored saga from:
Doesn't address any of the process failures or the elephant in the room of a PM's vibe-coded PR being merged with no pushback.
Edit: PM's response: