[Dbix-class] Traffic pattern changes ahead

Peter Rabbitson rabbit+dbic at rabbit.us
Wed May 25 14:29:05 GMT 2016

On 01/30/2016 06:50 AM, Peter Rabbitson wrote:
> Given January is almost over, another update is in order. Back in [1]
> several pieces were identified as "walking away without these is
> near-criminal". Below is their state of readiness after several weeks of
> false starts:

And another belated update 4(!) months later. There is a tunnel at the 
end of the light \o/ Unfortunately I am not yet ready to start my last 
dev-release cycle, but the wait is certainly going to be worth it. Work 
has not stopped since the last announcement[2], despite the 
purse-string-holders of my userbase voting for no further work. As I 
said earlier: there is a certain responsibility attached to what we do, 
and I intend to honor it, be it fashionable or not.

What prompted me to write this interim update, without having anything 
to show yet, are some private rumblings from various contributors that I 
am taking the codebase away from the "community" (whatever this might 
mean). Dealing with this demoralizes me, and my productivity goes to shit.

Thus to whom it may concern: please leave me alone, and let me work *for 
free* on *my code*, in peace. I want to leave something behind which 
will be more resilient towards the wave of incompetent maintainership 
that in the recent years made CPAN unworkable for me and others. This is 
done for the benefit of thousands of install bases, which have never 
heard of the IRC echo-chamber, nor do they ever need to. Not for the 
0.1% of the elite YAPC-attending portion of our community.

I have very little time left (it looks like 1~3 weeks at most, depends 
on how fast a difficult negotiation goes through), and having to deal 
with various whispers is decidedly not something I need to be doing 
right now, when the codebase is not fit for a safe release. Please 
respect the interests of the other 99.9% of your peers, or explain in 
public your grievances so that the wider user-community can decide 
whether your complaints have merit. Thank you for not continuing being a 

Follows the current state of the outlined work:

> - Review, fixups, and final API-fication of the transaction subsystem
>         70% (hand in hand with the next item)
> - Review, fixups, and final API-fication of the exception handling
> subsystem
>      70% (turned out to be a massive yak, isn't it always the case)

These inched up to 90%, almost there.

> - Final API-fication of the relationship resolution system
>      85%

No changes there yet.

> - Final review and fixups of the metadata (ResultSource) subsystem
>      10% (may be dropped entirely, things are taking too long)

Now at 90%

Turned out that without doing this work it is not possible to resolve a 
number of regressions. This is what took most of the past couple months, 
I will add a more extensive writeup when the final pieces land.

> - Stabilize the (unique across CPAN) CI setup in light of recent service
> changes
>      95% (main part completed, possibly will add more parallelism if
> time permits)

No changes since last announcement.

> - Overhaul of the distbuild system, making it more approachable for
> future maints
>      20%

Inched up to 70%, need another pass to remove Module::Install and add 
the code walkthrough (this is a surprise, stay tuned).

> - Several new deprecation warnings, serving to set direction/provide
> interlocks for future architects
>      5% (might also get dropped altogether... sigh)

Now at 85% goes together with the ResultSource overhaul.

> - Minor overhauls of SQL::Abstract and SQL::Translators, to be lock-step
> released with DBIC
>      70%

No changes since, only preliminary planning.

> Annotation of all existing branches/issues/tickets/PRs
>      50%

No changes since, preliminary planning.

There was a number of detours for problems not listed above, as people 
have reported unrelated bugs. Notable a round of fixups to the result 
parser pipeline, which likely would have been impossible to approach for 
anyone else (too much implicit context in very esoteric code).

Really not long now.

Another update in a week!

[1] http://blogs.perl.org/users/peter_rabbitson/2015/12/riba2016-ends.html
[2] https://gist.github.com/ribasushi/a5bf63b1dc00777a44eaf5468f98d85c

More information about the DBIx-Class mailing list