Perl community motivation survey - results

Perl community motivation survey is over. Thanks to all those who participated in it!

Here are the results:

The results contain various aggregated statistics, as well as the link to the raw data, so I'll spend the rest of this blog post talking about my interpretations and my overall experience from organizing this survey.


Overall, mastery (learning and creativity) and practical non-monetary goals ("improving the software I use") are the most important reasons for participating.
Altruistic ideals ("moral satisfaction", "making world the better place") come second, and feedback comes third.
Almost nobody cares about money, comparatively, as you could guess :)
Of course, this order is not a general consesus, it's just different groups of people with different personalities.
(And, of course, this is what people *say*, not necessarily what *really* drives them...)

"Comparing different groups of participants" section is fun.
Note that confidence levels are not that high, though. Real scientific studies usualy require values much higher than 90%, and in real scientific studies you should decide on a hypothesis you're checking in advance.
The only confidence level that goes higher than 99% is difference in "Getting praise" motivation for those who contribute often and not so often. Of course, it doesn't prove that people who like being praised become more regular contributors! Correlation doesn't imply casuation, and maybe they just receive praise more often.
The results in this section are highly dependant on a chosen confidence level, on numerical estimates of motivation levels, and on how we break the data into subgroups. If you want to do it differently, you can hack script yourself.

Several people added in "other reasons" section and in comments that they're motivated by fun.
To be honest, I forgot to add "fun" as one of the reasons. But I'm not sure I would add it if I didn't forget.
Fun is a complex concept, and I've been looking for the *underlying reasons* for it in this survey.

What else...
Everybody wants to contribute more, and most people are limited not just by the amount of free time. This is good news for my Play Perl project :)
Community is old, almost half of the people have been involved for more than 10 years. Not so good, but we already know that.

The script I used to process the data is able to look for correlations between various reasons. I didn't include them in html report, because they're somewhat obvious and somewhat unreliable. You can see them in the plain-text report.


This survey took much more of my time than I expected. I underestimated the amount of work required to process the data, to put it all together in html report, and a power of being constantly interrupted by new responses.
With that being said, running surveys can be addicting and fun. If you, like me, like a feedback and can get frustrated by the lack of response to your blog posts, run a survey.
Or maybe don't... I'm still fighting the desire to run a survey on the experiences of participants in the previous survey :) I have to get back to hacking on Play Perl!

I tried to make the data and the script that processes the data open and readable. If you're unhappy with the amount of information I extracted from the responses, feel free to contribute to the report and play with the raw data yourself.

Wufoo's forms are well designed and well protected from spam, but Wufoo's reports suck. I had to do all the work manually. At least they allowed me to export all entries in a tab-separated format.

Finding a good JS charting library turned out to be more challenging than I thought.
gRaphaël's docs are too out of date.
D3.js is too complicated for me and not really a charting library at all.
In the end, I chose to use Highcharts.

R was a good choice for calculating Student's t-test, but invoking it via qx(...) several hundred times is a bit slow. There's probably a CPAN module for that, but I forgot to check.

I'm still in doubts about whether I should publish CPAN ids. Better safe than sorry, I guess, so I'm keeping them hidden so far.
I published almost all textarea comments, except those which looked like being personally adressed to me.

Leave a comment

About Vyacheslav Matyukhin

user-pic I wrote Ubic. I worked at Yandex for many years, and now i'm building my own startup (formerly PlayPerl). I'm also working on Flux, streaming data processing framework. CPAN ID: MMCLERIC.