Central question: Has there been any push behind making developer compensation more central to the drupal community, and not an afterthought incorporated on an individual basis (usually with ad-hoc solutions or embedded "Donate" buttons, if at all)?
Forum topic: Selling Drupal Mods? Can I?
I was reading through the above thread, and GPL licenses came up in regards to what they allow, and what they don't, and how Joomla is/was friendlier to developers by not being as "hardcore" GPL. Basically, people were saying that it was more in the Joomla culture to charge for modules, and so it was easier to be a Joomla developer. Eventually, people were talking about how it's difficult to honour the license (and true open-source spirit) and still make a living doing development.
I've dropped in on a few local Drupal Developer meetups in Toronto, and as great as the community is, there does seem to be a quasi-cynical undercurrent that says "Drupal is GREAT! Buuuuut... don't count on being able to live off of it."
It seems that there's this sort of tacit acceptance that you can't make money as a drupal developer and that it certainly doesn't show great returns on time investment. And that's probably correct. As someone who works as a casual drupaler for a good chunk of his day-job, it's easy to get into a take-take-take, look-how-wonderful-and-free-open-source-is mentality. This will become particularly important as Drupal becomes even more end-user friendly, and it becomes even simpler to work with drupal as an end-user without the open-source-community point of reference. And by that, I'm referring to the fact that with the way things are going, end-users will likely be able to update modules completely from their own UI. This will decrease the points of contact between the general user and developer, hurting their prospects of donations.
I believe that, if a system of donating to maintainers were integrated into drupal.org and drupal core itself, it would be a lot harder for maintainer contributions to be ignored. And it's not only that it would make it simper for even casual drupal and drupal.org members to donate -- it could also help make these contributions more transparent (if the maintainer/donor allowed the records to be shown). I think would help people see when maintainers or modules are under-served by donors. There's a lot to be said for clarity and unity, particularly when dealing with online payment. Frankly, these donate buttons and behind-the-scenes paypal exchanges are no way to financially support the people you depend on.
So long-story short, I think some sort of concerted effort is in order.
Here are my thoughts on a potential solution:
Drupal.org integration
The best solution would likely be integrated with drupal.org, in the same way that the Update status module and usage statistics are. If this would involve storing information on donations (as I think it should), there'd be trust issues with any other setup.
Location of information
- Each project page should have a donation block, or a current block should be repurposed to serve as one. This feature could easily go into the profile as well, but having it right on the project page is important. After all, you're donating to a contributor's efforts for a specific project, so that's intuitively where this info should be displayed. We use project pages all the time, but how often do we browse to maintainers' profiles? The most fitting place would be to make changes to the Maintainers for < module > block.
- Given that D7 seems to be heading toward having updates occur totally through the UI of each drupal install, it's entirely possible that site builders/maintainers of the future might not visit drupal.org nearly as regularly. For this reason, it might make sense to integrate any central donation system with the Update status module itself. After all, it's on this page that we are about to reap the fruits of a developer's labour, so it makes sense that this is the place where users will be most inclined to donate.
Sure, a "Donate" button would technically suffice, but giving the request some depth and context would increase the likelihood of donation (Think kiva.org). Something as simple as basic contributor information beside a donate button might help to give the faceless "module maintainer" this depth.
Since multiple maintainers will work on one module, I suggest having donations work on a per-maintainer basis. On the Update status module, display of a single maintainer would be used so as not to overwhelm the end-user who's updating. After all, no one wants to see a list of 8 module maintainers pleading for donations when all they wanted to do was update their module. Perhaps this display could rotate between maintainers in a way that's proportional to their module activity/commits. More commits means that their name comes up more often as the suggested donor.
Relevant information
Various pieces of this information could be displayed in the module maintainer block of the profile page, on the maintainers profile page itself, and as part of the Update status module.
Key pieces of information that might be relevant to potential donors are:
- Total donations - Total quantity and amount of donations for each project maintainer. ($500 [45 donations])
- Average donation amount - To give people an idea of the "going rate". There might be something better than a simple average (like mode/median?), so that exceptionally large donations (Ha?) don't give skewed expectations of donation amounts.
- Number of commits - Already present in block.
- Last commit - Already present in block.
- Simple issue queue statistics - To give an idea of how active they are in support.
- Simple usage statistics - Per project (not per maintainer). It's important for everyone visiting the project page (or status update module) to easily see how prolific a module is. This could influence things both ways, either "Hey, this is really high-use, but no one is donating," or "Hey, this is a great concept, but the contributor doesn't have much support yet." You could easily judge when current donations don't match usage.
Information privacy
Contributors and donors would need to be able to have veto power over whether their donations we publicly visible. There could be different options to anonymize individual donations.
Transferring donations to maintainers
Ubercart's Marketplace module makes use of Paypal's MassPay API, and this would be perfect for this situation as well. This API allows a central site to send paypal transfers to the individual paypal accounts of users (the information for which they've inputted themselves). The going rate at the moment is $1 per transfer, which would be paid by the sender, drupal.org. Module maintainers could pay a yearly fee to enroll in the integrated donation framework. This might sound like alot, but if donations were sent to maintainers on a monthly basis, then only $12 a year to cover transfer costs. Given the opportunity to increase donation frequency, this seems like a great deal.
---------------------------------------------
I realize this is no small task, but if anyone else interested in pursuing a project like this, I'd be open to starting a group. So what do you say?
Keep in mind, I'm not a top-notch developer (nor a maintainer at all, to be honest), so I absolutely can't handle development on my own, but I'm totally willing to take on a role in information gathering within the drupal community. The intention is that this would help maintainers turn a buck, and it would be stupid not to consult on potential features and needs before jumping in :)
TO DO
- Look into Project module to see how this could fit
- Look into modules that could provide dependencies (and reduce module redundancy)
- Sketch some UI ideas and wireframes
Anyone have any thoughts or (perhaps more importantly) criticisms?
Cheers all! Sorry for the length!
Comments
.
It sounds like a nice idea, though I disagree completely that there's no money to be made in Drupal. Drupal's economy just revolves around service rather than product.
At any rate, if you want this to get any traction, you'd be better off posting it in the webmaster's queue than the forum. The people who can do anything with this don't usually read the forums.
Michelle
Right on! Thanks Michelle.
Right on! Thanks Michelle.
For the record:
For the record: #719648: SUGGESTION: Integrating contributor recognition/donation framework (Flattr?) into Drupal.org
:)