Why Code For Free? Linux/FOSS Devs Speak!
Why, How, Geekcreds, Skills
July 29, 2009
Last week I talked about some the advantages of Free/Open Source software for us end users. Today I'm going to do something no one has ever done in the history of punditry, and that is ask actual software developers why they prefer FOSS. I received so many excellent responses that I have split this into two parts, and the second part will run tomorrow.
Why and How?
Akkana Peck is a popular LinuxPlanet author who writes programming-for-beginners and Gimp howtos, is the author of "Beginning GIMP: From Novice to Professional", and is along-time open source developer. She says:
> How can a dev make a living writing Free software?
By working for a company that pays people to develop free software.
There are lots of such companies for kernel developers, especially
those who specialize in network and storage, but there are also
companies paying people to develop other open source products --
Mozilla, Canonical, Redhat, Novell, Oracle and a number of smaller
companies. And there are a lot of university people writing open
source software as part (probably not all) of their jobs.
I'd like to see government jobs doing that as well, but there
don't seem to be many.
> Why should anyone code for free? Especially when they're seasoned
professionals, and not noobs looking for experience?
- Scratch an itch: create programs that do something you need,
the way you wish they'd do them.
- Chance to write the sort of code YOU want to write, not
what your boss wants you to write or some committee says
you should write.
- Chance to learn new technologies, either because you find
them exciting or as resume-building material you can't
get through your job.
- Chance to use a language you like better than the one they
use at work.
- Fame and glory. Okay, that's flippant, but it really is a
chance to get your name on something that's useful to a lot
of people, which a lot of programmers don't get from work
(a lot of programming jobs involve writing little one-off
stuff few people will ever see, internal websites, business
- Chance to get known in a community as a good developer, so you
can eventually get paid for working on that or similar projects.
That last one is especially important for anyone trying to break
into programming jobs: students, career changers, people with the
wrong sort of connections who got stuck in a dead-end job instead
of real programming.
Sysadmins Code Too
R. Daneel Olivaw writes:
Well, I'm not a programmer, but as a Linux Sysadmin, programming is
kinda useful hobby ;)
There are some things that I like in open source software.
When you write an app for your job, it has to ... just work ! Often,
mainly in small companies, the code is reviewed only by yourself ... or
the programmer who replaces you. In such cases, coding ugly is an
option. No one will evaluate you correctly about your work, and if you
manage never to patch or reuse the code, you seem to have "won" the
If the code is released, there is a chance some other programmer will
read your code. There is, in my view, something exciting about that. It
means that some other "professional", a peer, may evaluate your code,
maybe even learn from it. Knowing that, I'd be encouraged to write
something clean, stable and, in some extent, smart.
Also, releasing the code in the wild, will need you to harden it : you
never know what setup will run your thing, and I'd be fierce to know
that "my" code was able to get through any platform. Therefore, the code
has a chance to be better and cleaner.
Last but not least, there may be people that use your code. They may see
it lacking a function or notice a bug. They may even write you back to
get things fixed. But your free time is valuable, so the better the
original code, the easiyer it is to fix errors. If the code is clean
enough (always comment your code!), some other programmer may even patch
it for you. And you won't waste your free time patching badly written
Finally, the reward: when you post some code on a list or a forum, some
other people you do not know, may compliment you for the "professional
and solid work".