#riba2016 ends - now what?
Several hours ago my unorthodox campaign came to an unsuccessful end. There has been a lot of feedback to my previous post, some of it so surprisingly off the mark that I still have not wrapped my head around it enough for a proper response. I plan to publish a much more in-depth analysis and "lessons learned", but I need to gain much more distance from the current hot mess of CPAN, to better express the crux of what went right and what went wrong (spoiler - while the campaign itself failed, I consider the chain of events an incredible, way-beyond-what-I-expected success)
Couple weeks before the "I give up" announcement I compiled and started working in parallel on the following list, in order to shape up a "final ribasushi-approved" DBIC release:
- Review, fixups, and final API-fication of the transaction subsystem
- Review, fixups, and final API-fication of the exception handling subsystem
- Final API-fication of the relationship resolution system
- Final review and fixups of the metadata (ResultSource) subsystem
- Stabilize the (unique across CPAN) CI setup in light of recent service changes
- Overhaul of the distbuild system, making it more approachable for future maints
- Several new deprecation warnings, serving to set direction/provide interlocks for future architects
- Minor overhauls of SQL::Abstract and SQL::Translators, to be lock-step released with DBIC
- Annotation of all existing branches/issues/tickets/PRs
Unfortunately around the same time I got sucked into a (sorely needed) paying contract, helping deliver tens of thousands of fire-hazards to the homes of unsuspecting hipsters. This burned a huge amount of my physically available time, resulting in massive slippage of my OSS schedule.
The worst thing that can happen to a project with a previously established "ready when it is ready" release dynamic, is to force it into an artificial timeframe at any and all costs. Being bound by the mantra of "no work at all is decidedly better than half-assed work", I am left with two practical choices:
- Walk away from everything as-is, leaving things to whoever comes next
- Take extra time (approximately another ~50 hours) to burn down the action list, and ship something I can honestly put my name on
I won't deny that I was really looking forward to the first option. A number of events and comments that took place after I announced I am stepping away from CPAN, have only confirmed that I made the right call, and strengthened my resolve to reevaluate the entirety of my relationship with Perl. But in the end my "moral side" wins out for a bit longer. It would be downright criminally irresponsible to not donate these extra 50-odd hours to the existing DBIC userbase, especially in light of the sheer amount of stumbling blocks for anyone else without the (sadly non-transferable) overview of the larger system.
Thus, for the sake of continuity, and in light of the holiday spirit, I am postponing my long-deserved exit until the second half of January. After all... a delayed Christmas present is still a present. Stay tuned, it shouldn't be long now.
Your outgoing janitor
Best of luck with how-ever this works for you, and glad a solid paying contract was in the mix there as well. Ultimately most of us doing community work are doing so out of a mix of the feeling of responsibility as well as improving the ecosystem related to the work we get paid to do. IMHO you could just go ahead and keep whatever you got of that kickstarter for all the effort you are putting it.
Take it slow, jnap
On behalf of the entire community, I extend the deepest thanks for your ongoing ethical integrity and generosity in cutting one final January release.
If there's anything the web and crowdfunding have taught us, it is that nothing ever really dies, so I suspect this saga is far from over.
Happy Holidays! :-)
~ Will the Chill
Perhaps you can convince a patron https://news.ycombinator.com/item?id=10819961