So other people have to do a bit of work (copypasting the license into the source) to exercise the permission you've granted to them (because that's what these licenses are). That doesn't invalidate your giving of said permission.
That's not the problem here. The original release must include the license, otherwise the code is not following the terms of the license (in the case of MIT). And as for GPL and Apache, a link to the license must be furnished.
This isn't about subsequent redistribution (and if it were, I'd agree with your skepticism). The primary distribution must also follow the terms.
You can't cherrypick which parts of the license you wish to follow.
>That's not the problem here. The original release must include the license, otherwise the code is not following the terms of the license (in the case of MIT). And as for GPL and Apache, a link to the license must be furnished.
Why's that a problem? If you own the copyright, you have the right to distribute your code, and you have the right to grant other people permission to redistribute your code under the MIT license or any other license, whether or not you yourself are complying with the terms of said license.
Permission to use, copy, modify, and/or 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.*
A reference to a license is acceptable if and only if the license being referenced recognizes them. Some licenses (like GPL) do recognize certain types of references while others (like MIT) do not.
If you want a C analogy, saying "LICENSE: GPL" or "LICENSE: MIT" is like dealing with a void *.