On Sat, May 2, 2015 at 7:31 PM, David Golden <x...@xdg.me> wrote:

> On Sat, May 2, 2015 at 11:11 AM, Kent Fredric <kentfred...@gmail.com>
> wrote:
>
>>
>> That is, conceptually, its possible that a misguided author of a
>> distribution at the same level as say, Test::Differences, thinks it wise to
>> simply rewrite their existing code in the new framework.
>>
>
> We've seen that horror show in Dancer/Dancer2 around plugins.
>
> I think that if we ship a Test::More2, then such a release should
> encourage people to leave Test::Foo alone and fork it to Test::Foo2
> instead.  Then a new ecosystem can build up around it without sacrificing
> the existing one.
>

That has its down-sides too, though, as we've seen in the Dancer/Dancer2
issue.

Effectively what happened/happens is that, while plugins are now able to
provide two different implementations without worrying about backwards
compatibility (we originally wanted ןא to be seamless but turned out to be
very hard), most plugins had a shared core. This was odd to maintain. You
either fork it or you put it in a common "::Core" module, or you ship both
in the same distribution.

We're now rewriting the plugins architecture, but a situation of two
classes provides both clear separation benefit and a headache of its own.

Reply via email to