Re: Are devs who work on or use open source happier in their employment?

Sylvain Wallez <[email protected]> Thu, 23 Sep 2010 18:27:47 +0200
Newsgroups gmane.comp.apache.community
Message-ID <[email protected]>
  Le 23/09/10 17:37, Grant Ingersoll a écrit :
> One of the things I've noticed in my day job, which is admittedly self-selecting since I work for a company that engages with people deploying open source, is that I routinely hear, how shall I say it, more enjoyment from the developers in their work as compared to the old days when they worked on a proprietary equivalent, and I think it even holds true when working on "troubleshooting" engagements where something is broken.  Since, most of us here likely work on open source, I'm curious as to what others think?  Are devs who work on or use open source happier in their day jobs?  And I don't just mean committers/contributors here, I mean people who are using the software to solve some bigger problem for their company and who may never do anything more than ask a question on a mailing list from time to time.  Has anyone seen _independent_ studies that say one way or the other?  (References please.)  I do think, that some of the answer depends on the quality of the software they are working on (just as it likely does when working on proprietary software), so perhaps I should separate out what could be called hobbyist open source versus open source that has a large community of followers (regardless of license) like Linux, ASF projects, Eclipse, etc.  Therefore, assuming two different pieces of software, one being proprietary and one being open, both of which will solve the problem, are developers who solve the problem with open source happier in their job?
>
> At any rate, my motivation for asking is that I'm writing an article on some thoughts in this area spurred by something a client told me (at a very old, established company, mind you) about why they wanted to get the word out that they were using open source:  they felt it would help them attract and retain developers b/c they would be more satisfied in their jobs b/c they got to work on innovative open source technologies.

Can't point you to any formal research, but give some thougths based on 
personal experience. May look like boring evidence for the many 
opensource old-timers here, but it could be that with time we forgot 
what brought us here.

A large part of it is related to community. This word means quite 
different things depending on the point of view (company or employee) or 
the kind of involvement you have with the open source software.

As an employee and a simple user, participating at any level to the 
community of an opensource product you're using in your day job means 
you "meet" people using the same product, possibly on similar projects, 
and can ask questions, share experiences, etc. Seems quite natural for 
us but it's a life-changer for people that can suddenly escape their 
cubicle and discuss about subjects that are closely related to their 
work, but for which they probably can't find anybody in their physical 
environment they can talk to about.

So you basically find like-minded people you can share things with. And 
this like-minded thing is even more important when you become an active 
contributor, since you're most probably -- at first -- the only 
contributor in your company. Other committers become your co-workers for 
something that you can't share with any of your real physical 
co-workers. This helps finding a lot of excitement and energy for 
something that could well otherwise be just a boring job fighting with a 
"stubborn" proprietary product for which you only have well organized 
but inefficient support.

Opening your cubicle to the outside world also forces you to consider 
all the things you don't know and have to learn. Can be frightening for 
some, but also a way to greatly improve their skills for many, and 
directly impact their project's quality. The developer improves, and the 
company wins. This reminds me a blog post of mine 7 years ago (eek!) -- 
see [1]

Another important point is the availability of source code. In modern 
IDEs like Eclipse, you just have to ctrl-click to open a class/module's 
source code. As a developer, it's incredibly frustrating to hit the "no 
source code available" barrier when using a proprietary product and just 
make assumptions on how a given module works when things don't behave as 
expected (first thing I do is to decompile it :-) but it doesn't always 
give good results). It makes you more confident since you're building on 
something you can dive into and understand, if not fix yourself.

I won't go into the benefits for a company, that you certainly know 
well: no lock-in to a single provider, reduced acquisition costs, 
long-time maintainance/availability because the product is not tied to a 
company's life/strategy, etc, etc.

Hope this helps,
Sylvain

[1] http://bluxte.net/musings/2003/02/05/are-we-three-eyed

-- 
Sylvain Wallez - http://bluxte.net