We've expanded our news coverage and improved our search! Visit news.oreilly.com for the latest or search for all things across O'Reilly!
advertisement

Listen Print

Who Owns You?

by Simon Cozens
09/12/2000

It's every hacker's dream, and thankfully, it's getting more common every day: being paid to work on your favourite piece of free software. But it's also fraught with controversy -- especially if you happen to be the maintainer of the project: Accusations will fly over conflicts of interest, political manipulation, and all kinds of other dirty whisperings. It's hard -- if not impossible -- to keep on the right side of everyone. The most important thing to do is keep yourself honest. So how do you take that dream job without losing your impartiality?

Why is it happening?

First, though, let's have a look at why companies are employing people to hack on free software. Surprisingly, it's more than just mere self-interest. Sure, it's good to have an in-house expert on your side. And there is, of course, a big prestige advantage to having the big names in a project working for you. For example, Red Hat employs Alan Cox and Dave Miller -- these guys know Linux, so this naturally improves Red Hat's credibility as well. There's also the importance of showing that you're serious about free software -- the best way to do so is to pour money into it, and arguably the best way to do that is to employ someone to work on it.

But there's also the fact that some companies really do employ free software hackers primarily because they love the software. As another random example, O'Reilly employs Larry Wall not just because Perl is a big part of their business, but also because Perl is just darned cool. In reality, I'd say most of the free software hiring that goes on happens for a mixture of the above reasons. (Incidentally, I've singled out Red Hat and ORA for examples of some of the reasons to hire in-house experts, but that doesn't mean that the reasons I picked are the only ones.)

What impartiality?

One thing I've always loved about working on free software is that you can do it purely for the community, as a completely free agent -- doing what I want, when I want to, because I want to do it. But while that's a romantic notion, it's not totally borne out in reality. There are plenty of limits to my impartiality even if I'm not "owned" by a software company.

First, we don't really work for the community -- we work for ourselves. Sometimes we hack on software to scratch personal itches -- that's almost a selfish way to look at free software development. I fix something because it's stopping me from doing what I want to do with the piece of software. When I work on it, it's driven almost purely by my need. Sure, someone else may benefit from it if it's accepted into the main project tree, but I'm just making it do what I want it to do.

Sometimes, we do it for our own prestige and the respect of our peers. Whether we're prepared to admit it or not, seeing our names in the credits file gives us a good feeling. Being able to point at a chunk of code in a package used by people around the world and say "I did that" provides a sense of achievement.

There's nothing wrong with such "selfish" motivations for software development; it's how the best software comes together. And there are, of course, other reasons why we hack, not least because hacking's fun! (See Eric Raymond's Homesteading the Noosphere and Magic Cauldron for more analysis on motivations for free software development.) But we should never forget that the "community" begins at home, and our motivations perhaps aren't as pure as we think they are.

And when it comes to maintaining software, you don't need corporate involvement to have political squabbles. If you have a problem with someone's attitude on the mailing lists or their personality in general, it's likely you're going to be relatively more harsh with their patches, whether consciously or subconsciously. It takes a great deal of effort to retain impartiality when you're dealing with a complete pain in the ass. (Of course, there are exceptions -- I'm sure we can think of our own example of an evil genius: fantastic coder, but, boy, what a pig to work with...)

Nevertheless, there are certain freedoms you have when you're an independent hacker: Nobody can force you to work on a problem, or indeed do any work at all on a project. You can set your own work load, schedules and goals. Nobody can force the pace of development or release. (Those eagerly waiting for Linux 2.4 might think that this isn't such a valuable freedom.) Nobody tells you what you have to support, or what features you have to add. You do stuff either because it's cool, because it's needed, or because it's generally the Right Thing. The most important thing is that's it's nobody's decision but yours. That's the freedom you need to keep.

Pages: 1, 2

Next Pagearrow