Today is a special day to me: it's been exactly two years I am working for
XWiki, the company - my first real job -, and by extension, two years I've been involved in
XWiki, the Open Source project. I'm taking advantage of this event to write down my thoughts about a subject I've been playing with for 2 years now:
why, from a personal, selfish point-of-view (so I won't talk about passion here, that's a different topic)
one would work in the open ?. By work I mean full-time job bringing food on the table, and by Open Source I mean
real Open Source (even when backed by a company).
There are couple of good reasons I had in mind right from the beginning (the Open Source argument was a very strong incentive for me to take the job, I was not addicted to Web technologies at that time, as I probably am now). I still think they are good, valid reasons. Though I think they are arguable and in the end do not make the big difference:
- "You get to work with the best developers out there". My take on this is that you'll find the same talented, maven, developers in the open and in the proprietary world, but it's probably easier and faster to get to work with them in the open. And never forget Peter Norvig's advice:
"be the best programmer on some projects; be the worst on some others"
- "You are one of the happy few that work on sexy, cutting-edge, software". Well, same argument, I don't think proprietary software programming sucks by essence, there are a lot of sexy software there too ; but might be easier to find this in the open.
- "You get more exposure and recognition for your work". This one is harder to argue with, since working for an Open Source project really means _working in the open_, it's part of the deal. But… it's a double-edged sword ; and there are jobs in the non-open that gives the good exposure as well.
So what does make the big difference actually? For me it's the fact that your work - at least part of it in my case, my job is not full time contributing to an Open Source project, but let say a fair half is - is a pure personal asset, and does not belong to the company that pays you for it. The important thing is that this goes beyond just the code you produce: if tomorrow, for a reason X or Y, you quit your job, get fired, down-sized, or if the company behind the project goes bankrupted, your involvement in the project is not questioned. Neither your commitership is. I cannot think of an equivalent of this in the proprietary. I find it a very interesting idea of freedom, that is still quite specific to the software world. (but I want to believe it will
continue to spread outside in the coming years).
Makes me like my job even more!