ThejokerThe Dark Knight is chock full of memorable quotes and, dare I say, advice from none other than the Joker, a role played eerily, crazily, and fabulously by the late Heath Ledger. One of the many quotes that stuck with me is "If you are good at something, never do it for free." This is pretty good advice, especially when you are proposing to "Kill the Batman" in exchange for half of the mob’s money. It worked for the Joker. He got the job.

But, is this advice good for software developers?

On the surface it seems silly to even ask the question. Why would anyone want to work for free? But plenty of people donate their time and talent to causes great and small in an effort to help people and to benefit humanity. That is a good thing. But, is this in fact good advice for open source software developers? To answer this question we need to know what motivates them and what they hope to gain.

Software developers contribute to open source projects for many different reasons.

Flying in the face of The Joker’s advice, millions of software developers contribute their ideas, keystrokes, and late nights to hundreds of thousands of open source software projects. So, why do they do it? Whether it is for one reason or many, they do it because:

  • Coding is a passion. For many, programming is more than a career. It is a passion. Problem solving, creating, and coding is fun. Open source projects provide an outlet for developers to develop purposeful code along with others.
  • They will become famous like Linus. Develop the next lightweight framework for web applications or the next mobile operating system and you could become famous like Linus Torvalds.
  • It looks great on a resume. Making contributions to an open source project looks great on a resume especially if you are just out of college, looking for a job, or have no other experience.
  • They are a shill for GCC (Giant Computer Corporation). Many open source software projects have been hijacked by GCC. This is not necessarily a bad thing because GCC can make contributions and bring resources to bare that are not otherwise available from the open source software community. Some developers are in fact paid by GCC to work on open source projects.
  • They will start a company and get rich. There is no law against turning your passion into a wealth generator. If you are good, maybe GCC will buy your company for millions. It has already worked for many open source companies such as JBoss, MySQL, SleepyCat, Zimbra, and many others.

If you are good at developing software, then don’t do it for free.

Everyone needs to eat. So open source developers need to get paid somehow. And, what better way to eat than to get paid doing something that you are good at and that you enjoy – writing code. But, not doing something for free doesn’t always mean getting paid in currency. Enjoyment, satisfaction, recognition, and the quiet knowledge that you are helping make the world a better place are all forms of payment.

Alfred was right that "some men just want to watch the world burn". In the end, the Joker burned his share of the money because all he really wanted was to watch the world burn.