Why Code For Free? Linux/FOSS Devs Speak!
Why, How, Geekcreds, SkillsLast 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 apps, etc.)
- 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 TooR. 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 "game".
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 programs.
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".