Why Not Open Source?
In recent history it seems that open source is becoming much more of a household name (are we sick of blog entries titled “Open Source on the Desktop” yet?). From Linux to WordPress and everything in between, there are a myriad of projects that are both successful and freely available via source to anyone who might want to modify or contribute to the project. The question these days is becoming less about “why open source” and more about “why do developers choose to build closed software?’
While the normal economics of “I need a job” certainly apply, the question is still an interesting one in the vacuum of “all things being equal, which would I choose.” I am genuinely curious why any developer would choose to work on a closed source piece of software that affords little in the way of flexibility or community contribution. My natural assumption would be that many developers care less about an intellectually stimulating project that has benefits beyond their daily grind, and more about earning a paycheck. While this is certainly not without merit, the mechanics of open source software have been proven many times over, so I can’t help but wonder if it’s a function of the software (very small, incremental innovation that wouldn’t stand up to competition) or the programmer/business (high need for control and/or no desire to participate in an open ecosystem).
One wise programmer once classified programmers into two categories for me:
- Caffeine programmers: those hackers who drink caffeine in order to stay up longer and write more code.
- Beer programmers: those programmers who write code each day in order to finance their bar tab and drink beer.
While this may be a coarse and summary judgement it seems to be a simple rule of thumb that explains the driving motivations behind many programmers. One is a means to an end and the other the reward itself. There are definitely quite a few moving pieces to this puzzle, but I’d love to hear where you fall on this continuum of ideology. What drives you, as a programmer, to select closed source technologies over open source options? Drop the knowledge on me in either the comments or on our survey below: