The MIT license doesn't say anything about headers. The attribution requirement is:
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The license is saying you have to retain the license itself; it doesn't say anything about any other attribution notices that exists in the source files or anywhere else. It doesn't specify where you have to put the license; it could be in a comment in the code, or it could be in a file next to the code, and that doesn't change anything about the terms of the license.
If the original author put the license in comments, you can keep it in comments, but you could also move it to a standalone file. If the original author put it in a standalone file, you can keep it there or you can move it to a comment, but you can't remove it. If you distribute a compiled binary, you need to be sure you're including the license alongside the binary as well.
If Microsoft distributes a "substantial portion" of the software, and they do not include a copy of the original license (including the copyright statement at the top attributing the original author), they're in violation.
Ok, but then why not just opening a PR in the repo asking for that? Sounds like a very minor change. Yes, they have to do it and they should. But I feel like insulting them because they gave credit in the README but not exactly in the proper way is a bit aggressive.
Engineers in big companies are quick to criticise how the legal department is a pain in the ass, but when I see the reactions here, I completely understand why it is.
It definitely seems like this whole thing is known by maybe 5 individuals at Microsoft. It's not some big affront on open source software, they didn't relicense the code under a less permissive license or anything, they just updated the copyright notice improperly. And that part I wouldn't be shocked was a single individual dev's doing.
I agree, op should make a PR, state their case, and then complain if it's not merged.
License is a license. It doesn't provide legal advice for how to properly mark documents or source code. You should always mark every file and put it under configuration management. A single LICENSE file is step 1 for how the code can be treated/forked/etc. But all of spegel's files lacked any sort of copyright headers.
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The license is saying you have to retain the license itself; it doesn't say anything about any other attribution notices that exists in the source files or anywhere else. It doesn't specify where you have to put the license; it could be in a comment in the code, or it could be in a file next to the code, and that doesn't change anything about the terms of the license.
If the original author put the license in comments, you can keep it in comments, but you could also move it to a standalone file. If the original author put it in a standalone file, you can keep it there or you can move it to a comment, but you can't remove it. If you distribute a compiled binary, you need to be sure you're including the license alongside the binary as well.
If Microsoft distributes a "substantial portion" of the software, and they do not include a copy of the original license (including the copyright statement at the top attributing the original author), they're in violation.