Jrockowitz's recent blog post on crowd sourcing, found here, sparked so many ideas for me. I wanted to discuss the most prominent idea in this blog post, the idea for a company that nurtures community contributions. Such a topic has often been on my mind and Jrockowitz post might have helped me to connect enough dots around this idea. Community members (especially maintainers) often volunteer their time and energy to community projects with little incentive aside from their will to do good.
Before elaborating further, I think there are some key motivations to align.
The first is people. There is a tremendous opportunity for more established community members to help more junior members outside of the traditional Drupal paradigms (IRC, issue queues) and in much more human-friendly relationship building ways. This mirrors that of the Google Summer of Code program, where mentors are paired with students who are paid to do a project. In the projects, we always start by planning an architecture and roadmap and then build out a set of corresponding issues before actually coding. We meet routinely over Google Hangouts with our cameras on to connect as people. By the end of the summer program, not only does Drupal have more commits, it has new contributors that already have a network of community members they know and trust.
The second is money. Companies have money. Even passionate community members are often willing to donate funds to see an initiative they may not have time or energy for, but they want or need. Most companies don't have enough money to hire people permanently to work only within the community. They may give employees time between projects or smaller amounts of work-sponsored periodic community contribution time. But, I see real opportunity in that many companies are likely to contribute some amount of funds towards a cause they believe to be important. I don't think they have a convenient means of doing so right now.
The third is opportunity. Companies and community members often have real needs aligned with their client work. Junior community members are often striving for the right chance to learn and to prove themselves. Throw in the chance to get paid and this becomes really appealing for people desiring some side work or junior people with spare time and some drive to do more. The community has many fantasic mentors available and ready to help the community grow. Drupal 8 is not fully feature complete (core or contrib). At the intersection of all of these factors is a real opportunity to help all of these factors simultaneously.
A New Non-Profit Company
Imagine a non-profit company that helps nurture this concept. Sites like GoFundMe allow for one or more people to contribute any amount to a cause, small or large, which aggregates into a significant amount. I have a vision to enhancing such a tool in a way that aligns a network of Drupal community opportunities with corresponding mentors and contributors. All opportunities could be captured within open issues in core, ports of contributed modules, updates to documentation, and much more. The company could help promote both the networks and the opportunities.
A concept for such a company is not that far out. With a little bit of governance and some established tools, this could be a reality. Our community already provides ways to work in the open and collaborate through issues. Imagine roadmap items and requests for work, ripe with feedback from the entire community, being sponsored by one or more community entities. Such issues could be submitted as the opportunities for this sponsorship tool. Mentor(s) can volunteer to help guide the effort by opportunity. The tool would furnish the ability to collect donations toward the opportunities. The company can offer some best practices to help nurture these opportunities, have the system drive the governance and status of the opportunities, and furnish the infrastructure needed for collaboration (e.g. a Slack account). And, it would be amazing for the company to curate and promote these opportunities through Twitter and other channels.
It is clear that the primary goal of the company needs to be governance, e.g. establishing a workflow and management of the initiatives, to ensure individuals delivered on their commitment, ensure mentors are experts in the subject matter, ensuring there is no conflict of interest, etc. This whole model can break down if the system is gamed or if the work is not delivered. Both mentors and contributors should understand there is no guarantees unless they finish. Governance of opportunities may be a combination of a mentor and possibly a member of the non-profit to verify the deliverable in a way that the community approved the work and/or released it. Verifiers may need to be vetted contributors capable of reviewing both the background and deliverables.
Most importantly, this is a not-for-profit business. The main objective is to foster community growth, not pad someone's pocket. That doesn't mean that there will not be any overhead associated with the company. For instance, there will be infrastructure costs (e.g. a payment gateway, hosting, maintenance/enhancement of the tool, etc) and I would believe it to be reasonable to pay those participating in governance-related activities. It would be wonderful if community companies helped sponsor some of this infrastructure.
I would love to spearhead this effort as I see the potential such a company could have. This idea needs nurtured both from those that have business experience and from those that may have ideas on how to get this moving. There is a need for a more formal business plan and a follow-on pilot with some friendly participants to help work out the kinks within a small scale. If you can help contibute in any form, please ping me on Twitter so we can connect.