Geoffrey Young wrote:

Adam Kennedy wrote:
Schwern made one small change in the STDERR format, and the recursive
cascade of failing test-testing modules hit something like 3000 CPAN
distributions.

While I agree that this caused problems, those modules were relying on a
format that was not spec'ed out or documented.

That is irrelevant. You put something into CPAN, get massive numbers of
people using it, and leave it alone and have it remain stable for 4
years, it becomes an API whether you wanted it to be or not :)

really?  so I use an age old (but undocumented) feature of Config, then
Config changes and it's _not_ my fault?[1]  of course it is - perl is great
because you can go mucking around with stuff you shouldn't, but everyone
knows it's your own fault if it bites you later on.

At one level of abstraction, I think the blame is absolutely clear.

The trouble is when you introduce recursion.

The aformentioned change to Test::Builder broke 3 different Test-Testing modules that relied on it.

That broke 28 Test modules which used them.

That broke 115 various CPAN modules.

That broken 880 other CPAN modules.

And so on and so forth, until the end number ended up somewhere between 2000 and 3000 distributions.

So 30% of all CPAN modules broke.

This included things like almost ALL of WWW::, because Mechanize got sucked into it. God knows how many darkpan Mech modules got hurt as well.

Do we blame ALL of those 100s of developers?

Does blame even matter at that point?

This is what I mean by becoming an API even though you didn't want to be.

Adam K

Reply via email to