Why Code For Free? Linux/FOSS Devs Speak! - page 2
Why, How, Geekcreds, SkillsAaron Seigo is a lead KDE developer, and has some insights both the business and personal rewards of FOSS:
> How can a dev make a living writing Free software?
One can make a living writing Free software in just about as many ways as one can make a living writing proprietary software: consulting, working for a company that relies on Free software in some way (which is a huge percentage of technology companies, large and small, these days) or starting your own business. Business models vary from selling services around Free software such as installation and support to selling customizations to creating products that use Free software such as routers, PBXes, phones, mobile devices or web sites.
There is no end to the business model variety that includes Free software as a key component as can easily be seen by looking at the diversity in the Free software ecosystem today: Red Hat with their server operating system offerings, IBM with their hardware and services offerings, Nokia with their mobile devices, Google with their web services, etc....
> Why should anyone code for free? Especially when they're seasoned professionals, and not noobs looking for experience?
Money isn't the only reward that motivates people; in fact, in surveys of working professionals in various fields the amount of money made is usually not in the top few reasons for working where they do. Those involved with Free software get a lot from their involvement besides just monetary reward (though many get that as well) including networking and being in a community with others with similar interests, the pure enjoyment of creating things and even the achievement of social goals such as increased freedom in the world around us.
For many it simply comes down to doing something we love to do. Often the phrase "I'd be doing it even if I didn't get paid for it" is uttered by people in jobs they really enjoy; some of us actually put that into practice.
> What does a person get out of writing Free software?
Personal satisfaction from creating personally interesting things, recognition from one's peers, a great community of people to belong to, networking with other professionals, skill improvement, the freedom to work on things you'd like to work on and the fulfillment of seeing others use and even improve on things you've made. It's a great opportunity for young developers to improve their chops, for people in the industry to find opportunities and meet some great people, for entrepreneurs to create their own magic and companies and for those who simply enjoy creating things with computers to indulge in a great hobby.
Getting Closer to Users and Other CodersKathryn A, an IT professional since 1989, codes both professionally and as a hobby, and offers insights into both worlds:
I've moved away from hardcore professional coding (C/C++/X) to smalltime coding (Perl/PHP/XSLT web stuff), webmastering, and technical writing. Still at the same workplace, though.
So. Why do I code for a hobby? What do I get out of it?
1) Scratching an itch.
I write stuff that I want to use for myself, to solve some problem I have. I think like a tech: if something doesn't work quite the way I like it, if something I do regularly takes more than three steps to do, and it's in an area I'm confident about coding for (or an area I want to learn how to code for), then I'm likely to write some code for it.
2) Sharing the wealth; a gift culture.
If I've written something that I use, that's more than just a scrappy little script, then I think "Wouldn't it be cool if someone else found it useful too?" I get a little warm glow when someone uses my stuff, just like I get a warm glow when someone reads and likes my fan fiction (which is another arena where people don't comprehend why someone would want to do this stuff without being paid for it).
2a) Positive feedback.
Another aspect of this is positive feedback; with professional coding, it's just a job, people don't *thank* you for it. With FOSS, yes, I've gotten emails with people bitching, but more often I've gotten emails with positive remarks along with the bug reports. I know that *I*, as an individual, am helping people. Which is cool. (and this also is one of the reasons I write fan fiction - the feedback is much closer and much quicker than with pro writing)
3) My own master.
I can work on what I want, when I want. When I feel like hacking Fvwm, I can do that; when I feel like writing my own static photo album script, I can do that.
3a) Biting off what I can chew in one mouthful.
Part of this is also being free to work on small projects (or modules) where I can understand the whole thing. I like understanding the whole thing; it's a contrast to my professional coding life, where the projects are too large for any one person to understand in depth.
4) I want to code, not run a business.
If I wrote shareware rather than FOSS, the tiny amount of money I would get for it would not compensate for the huge hassle of having to handle the money: setting up as a business, setting up accounts, yadda yadda yadda.
What kind of FOSS do I work on?
Generally one-man projects, or modules of a larger project (see comment above about not liking large projects).
- a number of Perl modules/scripts on CPAN
- a few PHP modules for PmWiki
- a theme for fvwm-themes (which I contributed, but no longer maintain)
- some DTP-related styles for LyX
A big thank-you to Akkana, Aaron, Kathryn, and R. Daneel for contributing to this series. Come back tomorrow to hear some more perspectives on why be a FOSS coder and how the heck do you make a living?
Carla Schroder can write "Hello World!" in 12 different languages. And is the author of the Linux Cookbook and the Linux Networking Cookbook (O'Reilly Media), the upcoming "Building a Digital Sound Studio with Audacity" (NoStarch Press), a lifelong book lover, and the managing editor of LinuxPlanet and Linux Today.