I understand that this tread is about the proposed feature and not about the licenses themselves. So I'll try and be brief and you're of course free to ignore this if you like. However, I still hope my perspective can be interesting, especially if people starts building infrastructure for dealing with licenses into the language itself.
When I read about licenses and attribution requirements around the web, there seems to be a cargo-cult with people arguing "give credit where credit's due" and "it's the right thing to do". While I love the feel-good ideas behind that, I question if the MIT license actually requires it. Since the MIT license is widely used in the Rust ecosystem, I think this should be considered.
Do people still remember the original 4-clause BSD license which its dreaded advertisement clause? The problematic clause said:
All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the organization.
My understanding is that it was highly problematic because it meant that programs had to display larger and larger amounts of attributions in their manuals.
The BSD license was updated in 1999 to take away this clause and people were happy since they could again ship (proprietary) programs containing BSD licensed code without having to deal with page after page of attributions.
It's been 20 years — have we somehow managed to back ourselves into the same corner again?
For comparison, the 3-clause BSD license says
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
but the MIT license simply says
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
I read this is a more lax version of what the BSD license requires and I always thought that it simply means that I must keep the existing copyright notices intact (in the source code).
To my eyes, the MIT license doesn't say that I must add an "About box" to my program where I show the notice. Simply having the notice in the source files seems to be enough. If the compiler doesn't preserve the notice in the resulting binary, well then that's fine according to the license.
As an example of a license that isn't fine with having the compiler swallow the attributions, see the Apache 2.0 license. It has a section specifically about this, spelling out that you must show attribution notices from a
NOTICE file, if one is present. It gives examples of where you can display the notices to satisfy this requirement:
within a display generated by the Derivative Works, if and wherever such third-party notices normally appear
I would encourage people to use that license (exclusively) if that's the effect they really want.
Regardless of the above, having robust infrastructure for this is helpful for licenses that unambiguously require attributions. So thanks for reading and have fun building this