Suspending efforts on my #riba2016 crowdfunding campaign, looking forward to my own Xmas
On the 1st of October I launched a daring crowdfunding campaign. I asked over thirty companies directly relying on my open source work to split a rather modest bill, allowing me to exclusively focus for at least a year on several key parts of the Perl5 library repository (CPAN). Two months later, after a really promising start, the campaign is effectively dead.
I made multiple mistakes in the early stages, but on reflection there was one overriding problem - the narrative was severely out of focus. I tried so hard to put myself in the shoes of a potential sponsor, and focused so much on justifications and individual deliverables, that I omitted the very reason for my actions, the very mission so to speak for which I gathered the courage to seek funding. Nor did I make it explicitly clear that presently I am one of the very few if not the only "heavyweight maintainer" pushing for serious cultural change within Perl5's inner circle.
You see, for quite some time the main "Export of the Republic of Perl" has not been the rather clunky language itself, or its promise of TIMTOWTDI and "whipuptitude", nor its aging libraries, nor heaven forbid its community culture. In today's actual real world Perl5's only advantages, placing it light-years ahead of the alternatives, are its stability and ubiquity.
Over the past year or so it became painfully clear to me that the current course collectively taken by many central stakeholders threatens the ecosystem unlike anything I have seen before. It became painfully clear that without confronting and reversing this trend, any and all work I do within Perl5 is a waste of what little skill and talent I possess. It became clear that the stream of compromises and half measures is no longer sustainable.
Earlier this year I dedicated a scary amount of time getting the most prominent technical contributors to address some of the most pressing issues. My efforts fell embarrassingly short. At present the only remaining thing to try is "eradication by example". By gathering everything I know about inefficiencies during installation, compilation and runtime, and putting together a secondary, minimalistic dependency chain for a major project. By painstakingly measuring and documenting every point where current CPAN offerings fall short. And in the end by doing the thankless soul-crushing legwork of engaging with often outright malicious maintainers. Forcing their hand to incorporate the sorely needed fixes to our fundamentals. I believe that such a targeted effort has a small but tangible chance of reversing the "change at any cost" mentality currently raging at the lowest levels of CPAN.
This is a massive undertaking, with a time to a "minimal viable product" of at least 4 to 6 months. I lack this time, or more precisely the funds to survive while working on this. But more importantly I lack the "userbase mandate". A mandate to steer the core Perl5 technical community even more forcefully toward solving problems it explicitly marginalized. I tried to secure both missing pieces via this campaign, by targeting who I believed will benefit most: lead engineers at large companies. I gambled that their frustration with our ridiculously over-engineered library commons, combined with a hefty list of promised new features would make the tilt a dead-easy sell within a company.
So far only 2 such large enterprises answered this call to arms, accounting for just $8,000 of the nearly $30,000 pledged to date. The rest was contributed by two relatively small consultancies (Henry, Andrew, a special THANK YOU!), and by over 40 individual developers - my friends and peers. These numbers are really troubling, most notably the surprisingly small portion of corporate pledges. By now it is clear that the campaign completely missed its target audience.
I can not blame my peers for not recognizing the dire situation we are in. Similar to the sorry state of the web as a whole: things went downhill so far and so fast, that the mere memories of better experiences as recent as 3 or 4 years ago, seem like science fiction. If anything, the fault is mine for acting too late.
With all of the above in mind, it is time to move on. I am suspending all future effort on this crowdfund, and instead will use the very little remaining free time on one last set of releases of DBIx::Class and the underlying SQL::Abstract and SQL::Translator. The tilt campaign itself will remain open, in case there is an unlikely appearance of an "angel donor". I am, however, changing the deadline to the 25th of December, so that all refunds take place in the same calendar year.
In 3 weeks, on Christmas Morning, I will effectively leave CPAN. I will transfer my FIRSTCOME permissions to perl developers of my choosing, and will relinquish all COMAINTs I hold across PAUSE. Partially I want to do this for the psychological comfort of a "clean break", but an equally important practical aspect is protecting the quality of the libraries from any conflict of interest with future employers. Of course this only serves to remove me personally as a "quality attack vector", and does nothing to protect the userbase from my successor. Sadly the ecosystem does not yet offer a mechanism to mitigate this.
I sincerely thank everyone who supported me, even before I got my own thoughts straight. I really wish I were a better bet.