Why Code For Free? Yet More Linux/FOSS Devs Speak! (part 3)

By: Carla Schroder
Thursday, July 30, 2009 03:17:14 PM EST
URL: http://www.linuxplanet.com/linuxplanet/reports/6808/1/

Job Opportunities, Corporate Support

In part 1 we examined some of the benefits of Free/Open Source software for end users, and then in part 2 we heard from software developers who do FOSS development, both paid and unpaid.

Daniel Pittman launches today's installment:

> How can a dev make a living writing Free software?

My usual experience is: for the vast majority of people, do it by finding the right company to work for. A lot of companies, from giant to tiny, use and work with free software.

They are often happy for you to continue to work with the upstream community as part of your job, which can mean anything from "submit the occasional patch" through to "run the entire OSS project, on their infrastructure."

As an example, my present employer uses Perl, and other OSS, heavily, and we regularly work back. Several of our staff are committers on the OSS projects we base our work on, and address bugs on the companies time (and dime).

We also release software to CPAN, and occasionally elsewhere, that we develop in-house, because we get a good return on it.

The very, very rare exceptions to this are, in essence, people who can build a product that they can build a business around ... and choose to have that OSS; they could still have built the business around a closed product.

The OSS part is, in fact, not really relevant to the "getting paid to work on your own product" part of the equation directly ... although indirectly it might be the competitive advantage you need. :)

> Why should anyone code for free? Especially when they're seasoned professionals, and not noobs looking for experience?

A huge range of reasons, but the biggest one for me is education:

My job doesn't pay for spending an hour or more each day learning, but keeping up with the industry requires it. Working on FOSS means that I can play with new and exciting things that are different to what I have used before, or that are speculative and edge things that /might/ be useful at work.

Keeping up, in turn, means that I keep being a desirable hire in the industry, so helps keep me in the style to which I have become accustomed. ;)

> What does a person get out of writing Free software?

Experience, community, and a sense of achievement.

In previous jobs I also got to *deliver* something: because the work we did had a timeframe of, in some cases, years before any "release", something that actually finished was nice to have. :)

Selling Hardware With FOSS

Sarah Newman, embedded software engineer & aspiring kernel hacker, addresses a subject that is a hot-button for me: hardware support. Windows-only hardware is so idiotic I wish I knew a word a million times stronger than "idiotic". Sarah presents a much saner perspective:

> How can a dev make a living writing Free software?

One way to make a living writing free software is so other people can sell hardware.

If a company is selling a computer component, and they want it to be usable with Linux, they need a driver.  Someone outside the company might write a driver independently, but if Linux is a big enough market it's worth paying for that driver. Standard devices can use standard drivers but in many cases that doesn't take advantage of the devices full capabilities.

Open sourced and hopefully upstreamed drivers are also easier to maintain as the kernel changes.  Look through who contributes to the kernel and you'll see a lot of hardware companies.

Linux also is used for consumer oriented devices: cell phones via android, my beloved Nokia internet tablet, routers - see the wrt54g, etc....

And Linux is a cheap OS to use when selling computers that are specially branded and have a custom GUI.  For example my HP netbook shipped with a derivative of ubuntu for people who don't care if they're running Linux.

Even open hardware is sold, see Beagleboard and Arduino.

> Or: Why should anyone code for free? Especially when they're seasoned professionals, and not noobs looking for experience? Or: What does a person get out of writing Free software?

In addition to what Akkana said, all of which I agree with:

Because it's cool or fun.  Kind of the maker mentality I guess you could say.  Not something that you need, but something that amuses you. Ever wanted to implement http://www.faqs.org/rfcs/rfc2324.html ?

Another part of the fun is showing other people what you've done. Granted  that doesn't mean it has to be open sourced, but why not?  Then you can see where other people go with it.

Thank you!

Thank you to Daniel and Sarah for contributing to this series, your wisdom is very appreciated.

Carla Schroder 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.

Copyright Jupitermedia Corp. All Rights Reserved.