Someone can't make a "GPL fork" of your MIT-licensed project. The new code they add can be GPL-licensed, but they cannot simply change the licensing of the existing code from MIT to GPL.
You are correct that pulling their GPL-licensed feature/additions into your code would require you to adhere to the GPL and re-license the code. The best you could do would be to ask the author of the changes to release them under the same license (MIT) as your original project so the changes could be incorporated without modifying the license.
>they cannot simply change the licensing of the existing code from MIT to GPL.
That is an issue of contention. GPL advocates believe that they are permitted to do that, and have done so in the past. The Software Freedom Law Centre (the legal arm of the FSF) advices developers that they are permitted to do it[1], as do GPL advocates on HN[2].
The only one who is talking about changing existing code from MIT to GPL is Theo de Raadt, and he has never provided any evidence to support that anyone did it or suggested it.
People can create derivative work from BSD licensed software and have any license they want to added with it. Theo has argued that some peoples bug fixing patches did not qualify for copyright, and he is perfectly free to think so. I doubt however that he would ever put money where his mouth is and test it in court. When silence can qualify for copyright, it is a hard argument to make.
> Permission is hereby granted... to deal in the Software without restriction, including without limitation the rights to... sublicense
Because you have the right to "sublicense", you can take MIT code and license it under another license (GPL) even though you are not the copyright holder.
The BSD license is less clear on this point (in fact this is one of the important differences) and whether the BSD's grant includes the right of sublicense is more debatable, but in my view the answer is "probably".
I am not a lawyer; I am not your lawyer; this is not legal advice.
The BSD license does not grant any sublicensing rights. It clearly says that the notice and disclaimers must be preserved.
The original license required copyright notices in binary code. A newer form does not, but this is for pragmatic reasons. The binary code is still copyrighted. If you decompile it into a source language, then you probably have to restore the copyright notice and disclaimers.
When a proprietary, binary-only program with a highly restrictive EULA contains BSD code, those sections of the machine language which correspond to the BSD code are not actually under the EULA. They are not sublicensed, but only used with permission, as granted by the original license.
> he has never provided any evidence to support that anyone did it or suggested it.
Which part of the patch[0] that removed the BSD license and made the file GPLv2 isn't evidence?
You'll note that the patch removed the lines that say "Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies."
In other words they removed the notice that specifically says you're not allowed to remove the notice.
Okey, someone apparently thought they could do it, but then realized better and fixed it. The source today includes the original copyright notice. That they fixed it afterward should point towards what their current believes are, and if they thought their past patch was correct.
Was that version ever distributed to anyone?
I also notice in that thread that the author of Ath5K .c code give explicit permission to "Alternatively, this software may be distributed under the terms of the GNU General Public License". Removing the old license text of the header file and replacing it with GPL might be incorrect, and people are free to argue what a judge would say about it. It just seems very far from an actually issue, any proof of current believes, or what advices FSF gives.
They only fixed it after Theo posted angry messages on the OpenBSD mailing lists about it, the story got posted to Slashdot, it became a huge controversy and the SFLC got involved.
You are correct that pulling their GPL-licensed feature/additions into your code would require you to adhere to the GPL and re-license the code. The best you could do would be to ask the author of the changes to release them under the same license (MIT) as your original project so the changes could be incorporated without modifying the license.
For an example of this situation, see the link in btilly's post: https://news.ycombinator.com/item?id=9711716