First off, I want emphasize that the below blog post is my opinion and personal feelings as someone who has spent the past year building the Webform 8.x-5.x module for the Drupal community. Now I want to see it continue to grow and flourish. There are many thought leaders, including Dries, that have contemplated and publicly discussed the concept and benefits of crowdfunding and have used this approach to fund Drupal 8 core and module development.
Drupal 8 was, and still is, a monolithic accomplishment - one that continues to be an ambitious undertaking to maintain and improve. The Drupal community might still be waiting for Drupal 8 to be released if organizations did not crowdfund and accelerate D8. It is our togetherness, our pooling of our resources, that allows us to accomplish great things, like Drupal. At the same time, the Drupal community is made up of a network of relationships and collaborations. Drupal and Open-source’s success depends on its collaborative community, which is driven by relationships. Crowdfunding solves a big problem, pooling resources to fund open source, but it does not build relationships. Drupal's strength lies in its community, bonded together by healthy and productive relationships.
"Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime."
I feel that crowdfunding, especially within the Drupal contributed project space, is just handing out fish without teaching project maintainers how to fish or even companies how to properly hand out fish. Crowdfunding Drupal projects does not build relationships between project maintainers and organizations/companies. The most obvious issue is that crowdfunding typically has a limited number of fish. Conversely, dozens of companies are throwing fish, aka money, into a pool that is drained by project maintainers, who don't even know the origin of this particular fish. Finally, the most significant word in the above quote is "teach." Teaching involves the interaction and relationship between a teacher and student. Crowdfunding provides no such interaction. Basically, crowdfunding is providing funds to just try and complete the job. Hopefully, I’ve illustrated that although crowdfunding has obvious benefits, it can inherently diminish the potential to build relationships within the Drupal community.
Relationships and mentoring is vital to the Drupal community. Drupal.org user profiles highlight mentors and every core sprint includes a mentoring track. Drupal.org business profiles highlight employees and supported projects. Prioritizing the value and importance of strong and lasting relationships in the Drupal community needs to continue. And in order to grow and evolve, those strong and lasting relationships require consistent and constant care. Connecting developers with the companies that use their product should become a primary goal. I strongly feel an evolution in this direction will undoubtedly serve to strengthen everyone and every project.
Attending the business summit at DrupalCon Baltimore, one of the most common pain points I observed is that companies have difficulty finding talent. One of the most concrete solutions was growing it; by hiring a smart junior developer and growing them into a senior developer. The Drupal community has tens of thousands eager active developers looking to be appreciated, mentored, and compensated. Maybe the best way for a company to find talent in the Drupal community is to directly engage and grow the talent that currently exists.
Picture this: you’re a college student who created a Drupal project that caught the attention of a talented software architect who works for respected Drupal company. S/he contacts you and say "Hey, we really like what you did with module X, but our client needs this specific accessibility issue fixed ASAP. We can give you $600 to fix the problem, and I’ll also look over your patch and see if I can help you out. BTW, we sponsor drinks at the local Drupal meetup. You should feel to stop by and say hi."
The potential benefits of this interaction are beyond positive for a student - it exhibits a sense of appreciation and value. Maybe you’re too busy with your studies to do some side work. But let’s say you’re not. You do the work, you actually get some money to pay for school and you have a new bullet point to add to your resume under ‘Experience’. Not to mention, during this process you get to be mentored by an experienced software architect.
The software architect, who is the teacher, feels the sense of accomplishment that comes from helping someone learn and complete a task. The company who provided the $600, may have just vetted and recruited their next junior developer. At the very least, the college student now has a story to relate (there’s that crucial word again) about when they worked for X company during their college studies. A win-win? An invaluable exchange for all concerned? No question.
My goal is to ponder this: Is crowdfunding within the Drupal contributed project space potentially limiting important relationships within our community? I strongly feel that building healthy relationships is extremely worthwhile, yet I also understand the task of doing so is rife with challenges
I’d like to close with this notion - paying someone to do Drupal work is just another type of relationship that benefits the Drupal community. And it’s one that could lead you to discovering your company's next Drupal rockstar.