Wednesday, September 05, 2012

nobody will do it for you (and therefore they will)

There's an interesting paradox in many social cooperations that is readily observable in open, participation-driven creative projects (for which open source software is often held up as the poster child): nobody will do it for you. In F/OSS, that assumption translates to things like "nobody will write the patch for you" or "nobody will fix that bug for you". It turns out that this is the only safe assumption to hold.

But that idea flies in the face of reality: tens of thousands of bugs are fixed in Free software code bases around the world every year; huge numbers of features are added to free software code bases on a regular basis. Yet most of the people who use Free software did not perform any of the work that went into it, and those of us who do put effort into it are never responsible for more than a tiny, tiny fraction of the global result. So obviously people will and do make things for us. I have DVDs full of the stuff; I use it on all the computing devices I own every single day. You probably do as well.

This is where the paradox kicks in: the people who do the work specifically did not assume that someone else will do it for them. They assumed that they ought to do the work so that it actually, you know, gets done. For the person writing a patch in the quiet of their office, dorm room, house, local coffee shop .. (you get the picture) .. nobody did it for them. In fact, if everyone who adds to the body of Free software simply assumed someone else would do it, there wouldn't be much Free software out there at all.

Interestingly, some of the early Free software nay-sayers used to boggle at this concept of "making stuff for others" and would present it as a "logical" proof that Free software was obviously not happening because it was not realistic: "Why would anyone do it for you? Of course they won't!", they'd say, "Therefore Free software won't happen."

Indeed, in spite of the disbelief, people do realize that it is up to them to make things happen, that it is unrealistic to wait for it to magically occur at the hands of others and so they dig in and get it done, thankfully often with great joy. (Most of us working on Free software love what we do.)

By assuming that it is up to us and therefore taking on the responsibility of doing it ourselves, we prove ourselves wrong in way because we have just, indeed, done it so the majority doesn't have to. If everyone  suddenly grew complacent and decided that someone else somewhere would do it all for us and therefore we don't have to anything, then we'd be wrong all over again because nobody would do the work and nothing would get done.

What can appear as a delicious paradox is the triumph of self-motivated participation: it is people accepting that it is possible it could never happen if we all wait on each other, rejecting that as an acceptable result and so doing what needs to get done to make it happen. Put another way: stuff happens because people realize that it won't. Maybe it's just me, but I see a certain kind of heroism in these acts of self-motivation that end up benefiting others.

"Patches welcome," indeed.

Caveats

Yes, there are caveats to the above discussion, such as:
  • many participants do things for "selfish" reasons, such as "scratching their own itch"; however, that does not change the fact that by making the result available as Free software, that act can (and usually does) benefit others who didn't have to do anything to receive that benefit, and that the person who did the work took it upon themselves to do it rather than wait for someone else to do so.
  • some people write software out of enjoyment of the act itself: even if there are a thousand other text editors out there, there are people who will write another one just for fun. While true, in my experience most participants are not entirely free of practical motivation, so while this is an interesting phenomenon it is not enough to explain the amount of Free software (and the output from other participation-based communities).
  • not everyone involved is self-motivating. This is true: some people are doing it because it's a job or require regular guidance and external motivation. I would assert that behind those people are individuals (usually large numbers of them) who are.
  • there are many ways to make "code get written for me" that doesn't involve actually "writing the code"; for instance translating text, doing promotional work or providing project support services has a direct positive correlation to the rate of participation. So does hiring a developer with money. I would classify those acts as examples of "doing it because nobody else will" which are of equal import and primacy to the act of writing the code that forms the body of software itself (or whatever the end product of the project is intended to be).
I do not believe that the above caveats significantly alter the basic point, however. :)

Motivation

What made me think about this today of all days? Well, I was on IRC again for the first time in quite a while and I saw a number of people discussing patches, improvements and bugs as if someone else might suddenly appear and make it happen. That got me to thinking about the paradox outlined above .. and I love a good mind tease like this one.

22 comments:

CSousa said...

A paradox indeed.

It deserves a Wikipedia article.

Unknown said...

oh ! He's alive :)
What were you doing ? What about PA3 ?

Unknown said...

What happened to Vivaldi?

nowardev said...

"stuff happens because people realize that it won't"

and it's true!

i realized that i wanted to print some pictures in a fast way and it should be printed in A4 format
and i wanted to print 10 pictures and maybe rotated to not waste some photo paper

so i could use gwenview yeah... but i have to do all those clicks ?

wtf it's boring for me

=> i did lprinter-qt service menu for dolphin and
because i am a kind person(hahahah) i released in kde apps

swedmann said...

You shouldn't discount the effect of copyleft and dual licensing bringing in the corporations. By many metrics the majority of free software is written by corporations.

grok-mctanys said...

Can I second Unknown's question? Despite signing up, I've not heard anything about Vivaldi in months. Is it still progressing? Is work being done?

Is there a development blog, mailing list, or news feed I could subscribe to just to keep abreast of new developments? Or even to keep abreast of new setbacks? Knowing there's a new problem would be better than not knowing anything at all.

I'd not normally ask here, but I've no idea where else to ask. No-one else has been announced as being attached to the project, no news has been released, there's nothing. The MakePlayLive website has a "Comments, questions and inquiries: vivaldi@makeplaylive.com" line, but I emailed them something similar to this comment about two weeks ago, and haven't had any response at all.

Just one glimmer of hope that something is happening with Vivaldi, somewhere, is all I want.

Wren said...

I too am curious to know how Vivaldi is doing... :(

Ramsees said...

The last commit to Plasma Active was more than a month ago.

https://projects.kde.org/search?q=plasma-mobile&all_words=1&issues=1&news=1&documents=1&changesets=1&wiki_pages=1&messages=1&projects=1&submit=Submit

Unleast they switched repositories, it looks pretty dead to me.

Ramsees said...

After a second search, the last commit was 6 days ago:

https://projects.kde.org/search?q=vivaldi&all_words=1&issues=1&news=1&documents=1&changesets=1&wiki_pages=1&messages=1&projects=1&submit=Submit

S

Kjetil Kilhavn said...

Glad to see your return, and hoping the troubles are (soon) over for the Vivaldi. Could become a nice Christmas present :-)

Aaron J. Seigo said...

re:vivaldi .. i will be giving some updates on the status of it. after our experience with manufacturing in china the first time around, we're being a bit more cautious this time around (we've had to rework the entire hardware manu side ... this was in my presentation at akademy this year, not sure if i blogged about it in detail?)

as for Plasma Active being dead, that's far, far from the truth.

PA3 is being released this month. i pushed changes yesterday, Marco pushed a huge number of changes yesterday.

one of the big changes is that it isn't all in plasma-mobile anymore.

for example, the ebook reader work was all done in the okular repository (as one would hope :), the underlying components which have seen huge amounts of work nearly all moved to kde-runtime, activities handling is in the kactivities and SLC repositories, etc, etc.

a few days ago a first cut of the PA3 video was posted and is on youtube .. we have some small edits to make to it, but then we'll have the traditional video overview that accompanies Plasma Active releases.

what is a little disappointing for me personally, though i completely accept and understand it (and blame no one :), is that if i'm gone for a stretch of time (i had some serious health problems recently) that the sky appears to fall ;) it really ought not do so, particularly as the sky is right where it always was and we are perhaps even a bit closer to touching it. ah well :) i'm back, communication is flowing again, i'm sure it will sort itself out.

Kofi said...

Here is something you have to consider: "participation barriers". Do you remember the old Super Mario video games? It is exactly like that, you try, you fail, you try again, you get across the monster. That is fun, there is always a challenge and a reward. But no one wants to play a game where his avatar gets suddenly killed for random reasons, and where the application crashes after the big boss is defeated. And that is exactly the problem of Free Software today, you set up a development environment as described, out of experience you even fix the undocumented shortcomings in the (severely outdated) description, download the source, then you build and after 3 hours it fails for completely uncomprehensible reasons or the application built does not start. Fine, you fire up a mail to a mailing list, which does not get answered at all. No one can fix it for you, worksforme. Learning from the Super Mario experience you may fail from time to time to become a challenge and fun, but it should not fail all the time, and you have to be in a position to fix it. If in a game the boss of the first level cannot be defeated by you, all the wonderful levels 2-6 are obsolete. You may try again and try harder, but at a certain point you simply give it up. A good game rewards you with success, and challenges you with tricky but achievable objectives. KDE has insufficient developers, and core contributors generally do not care too much about the long tail contributors because their contributions are mostly insignificant. Still convenience to contribute matters. Make it fun to contribute with only moderate challenges and people will. Make contribution a pain and you only attract masochists or insensitive wizards.

You see patches of contributors but you don't have a trace of those who gave up to become contributors.

Asmodeus said...

@Aaron:
Get well soon!

Aaron J. Seigo said...

@Kofi: i agree with what you write about participation barriers. every stumbling block trips someone who would otherwise contribute up.

i don't think anyone really denies that, and we've worked hard in Plasma in particular to make it easier to contribute.

there are limits: patches with errors will be rejected, though with comments and help to get it to "correct". but those limits are pretty low, probably lower than the barriers are right now.

so i ask you: how can you help improve that? remember .. nobody will fix it for you ;)

@Asmodeus: thanks :)

Tuukka said...

"what is a little disappointing for me personally, though i completely accept and understand it (and blame no one :), is that if i'm gone for a stretch of time (i had some serious health problems recently) that the sky appears to fall"

Someone actually wrote a very interesting and thoughtful post about this some time ago:

http://aseigo.blogspot.com/2009/09/continuous-communication.html

I hope you are getting better!

Aaron J. Seigo said...

@Tuukka: lol.. touche!

what i wish is that others would also be able to communicate effectively (and do some of the other things i do in the community).

i really dislike being the bottleneck there. it's not healthy for the community, for our projects or my stress levels ;)

it is better than it was in years past, so i have hope we will continue to improve, but it is undeniable imho that we have more ground to cover in this area.

make me irrelevant already! :P

Shmerl said...

Welcome back Aaron, I hope you'll get better soon!

what i wish is that others would also be able to communicate effectively (and do some of the other things i do in the community).

That would be great. Just some (semi)weekly status updates (including progress on hardware drivers and etc.) would be really helpful. Mozilla does that making their development efforts pretty transparent:

https://wiki.mozilla.org/Firefox/DeliveryMeetings
https://wiki.mozilla.org/Platform#Meeting_Notes

Something like that published for Plasma Active would be really wonderful.

Notmart said...

about the rumors of death of Plasma Active:
there are 40 commits just in those first days of September, 129 in August, and as Aaron notes, the plasma-mobile repo is just a small part of the whole.

the fact that the Vivaldi branch has just a couple of commits months old is normal, we try to keep the adaption for each device as small as possible.. ideally zero ;)

Waleed Addictioneer said...

Welcome back Aaron
I discovered your blog when I read the new about spark tablet and I really liked it.

I watched your video podcast about the state of vivaldi project and how you struggle with hardwre. I also watched what supposed to be a demo for plasma active :D

Thanks a lot for sharing latest news about plasma active. I really can't wait to get vivaldi tab. I don't mind paying extra money for the tablet to support PA

Regards from Kuwait

Peace

shevy said...

"many participants do things for "selfish" reasons, such as "scratching their own itch"; however, that does not change the fact that by making the result available as Free software, that act can (and usually does) benefit others who didn't have to do anything to receive that benefit, and that the person who did the work took it upon themselves to do it rather than wait for someone else to do so."

Except that you forgot to mention that sometimes these selfish reasons are done in PURELY the way how a developer wants to have it and ignores a substantial part of the user base.

This is how GNOME killed itself.

I got tired of listening to opinionated Devs making changes, then rage-quitting and working for companies.

Unfortunately I also no longer use KDE, either. In the transition from KDE 3 to KDE 4, I got lost. KDE 4 got so incredibly more complex than it used to be.

These days, I am happy with XFCE and Fluxbox. As long as the DE or WM does not get into my way, and as long as I can stay away from such opinionated developers, I am really much happier.

lupovia said...

Good to know the reason for the long silence. Get well realy soon.

I wonder, why peoble don't know about basycom or slx. basycom delivers new versions of plasma-active for meego and mer once a week. So I try them once a week. Also ther is mailing list, where one can see what's going on.

The huge problem seems to be the hardware. WIch would be smaler, if there was a stable version of PA 3 for the WeTab and maybe an archos-tablet. That could be a start for the infrastructure around PA3.

Wolfgang

cassano-jay said...

Interestingly enough you've basically outlined Kant's universal maxim for moral action. ( http://en.wikipedia.org/wiki/Immanuel_Kant#The_first_formulation )

Basically the idea being that before you do any action you should mentally test it against a hypothetical world in which everyone in the same conditions does the same action as you.