|We don't bite newbies here... much|
Exactly. Your claim that there's something special about the project root is completely false.
It's a necessary thing, not just in .t, but in all scripts that use uninstalled modules. If you don't, Perl won't find them. If the module isn't somewhere where Perl would normally look (e.g. the directory in which the script resides), you need to tell Perl where it is.
No idea why you bring up CPAN and legal protections.
No, just the scripts.
Straw man. If Perl can find your libraries, they don't need to tell Perl where to find your libraries.
Secondly, if you have a module that used by multiple projects, it's silly to copy it into each project and adjusting @INC to find that copy. Install the module.
So you're proudly claiming that one needs to use a giant harness to get your test script to work properly, ignoring that it fails the rest of the time.
I didn't even address your proposal. I just corrected the false claim that only 3% of testers try to run Makefile.PL.
To address the proposal: It's a lot of work and you claim introduces problems, while you can get the desired effect by simply adding inc/ to the harness command. And your test script still won't run outside the harness.
Before you reply that you don't expect your test scripts outside of Module::Build, realise there's no problem if that's true.