One of the biggest weaknesses in the development and maintenance of the D programming language and its ecosystem is a lack of human resources. Volunteers contribute a signficant amount of time and effort, but those resources tend to be directed toward areas of personal interest. Companies using D in production have also contributed, and continue to contribute, in myriad ways that are beneficial to the D community at large. However, any human resources they direct toward bugfixes or code contributions is motivated by the company's interests, and understandably so.
The D Language Foundation does not have the financial resources to pay market value for the human resources required to effectively cover all of the areas lying beyond the realm of personal and commercial interests. A very small number of programmers receive a regular stipend, but the quantity of tasks awaiting attention is too large for those programmers alone to tackle. Donation campaigns aimed at motivating the community to put a little money where they don't have the time can help in raising money to pay for the completion of specific tasks, but such campaigns are not a compherensive solution to the problem.
Another potential remedy was raised in the quarterly D Language Foundation meeting last December. What if companies using D donated human resources now and again toward tasks that are a priority to the Foundation or some portion of the community? Company representatives present at the meeting were asked to take the idea back to their employers, but no details were discussed at the time. This document proposes two possible approaches. Common to both approaches is the Foundation's task list.
The D Language Foundation will maintain a task list. Bugzilla issues reported on the core D projects will certainly feature on the list, but they will not be its exclusive content. Tasks derived from other important projects in the D ecosystem may appear as well. No task should be added to the list that requires an exorbitant amount of human resources, but the tasks are unlikely to be trivial else they would have already been completed by a volunteer in the community. The companies will choose which tasks to complete, so they will be the final arbiters of what constitutes "exorbitant".
Each month, the responsibility for providing human resources will fall to the next in the sequence of participating companies. The designated company should select at least one item from the task list and devote enough human resources to complete the task.
At the quarterly D Language Foundation meetings, representatives from each company choose at least one item from the task list. Each company commits to completing their chosen task prior to the next quarterly meeting.
The next D Language Foundation quarterly meeting is tentatively scheduled for March 15, 1400 UTC. We ask that each representative bring us their company's response to this proposal. Is this a workable solution to our human resource problem? Are there any alternatives we should consider?
The sharing of human resources can be one of several effective tools aimed at furthering the development of the D programming language.