On Mon, Oct 30, 2017 at 3:11 AM, Aristotle Pagaltzis <pagalt...@gmx.de>
wrote:

> >    - Per the "explicit user confirmation", I think an explicit opt-in
> >      must be present, not merely checking for overwriting via hashing.
>
> I don’t think so, and think it’s fine to not require it. But you didn’t
> state a reason why you think that so I don’t know whether I disagree
> with you.
>

Even if Peter's mechanism is in the spirit of the operating model, I would
prefer the higher standard of "explicit confirmation" as the operating
model call for.

If you need a rationale -- practically speaking -- consider this scenario:

1. User without DBIC or DBIC::Boring installs some module Foo that depends
on DBIC::Boring; DBIC::Boring gets silently installed.
2. User installs some module Bar that depends on DBIC; because DBIC doesn't
check for conflicts with DBIC::Boring, it silently overwrites it.
3. Foo is now broken.  User doesn't know why.

Whereas if in #1, the user had to opt into DBIC::Boring, then they would be
accepting the risk of future breakage from DBIC conflicts.

Further, while I trust Peter to be sufficiently clever and user-considerate
in his Alt-style design, I don't want the lead-off precedent to depend on
cleverness because I don't trust anyone modeling their work on Peter's will
exercise the same level of care and diligence.


> Such
> a requirement would therefore mean that users who intend to stay on
> the DBIx::Class::Boring fork, or who use a downstream project that has
> chosen the DBIx::Class::Boring fork, will forever be needing to shim the
> setting of this environment variable into their toolchain or deploy
> machinery.
>
>
I believe that is a feature, not a bug.  Among other things, such an
environment variable will show up in "perl -V" output, CPAN Testers reports
and analytics, etc. which might help diagnose any unexpected complications
from using Alt-style modules.

David


-- 
David Golden <x...@xdg.me> Twitter/IRC/GitHub: @xdg

Reply via email to