Coding and the Meaning of Life
FOSS coders are a strange breed. Many devote years of their lives and unquantifiable amounts of their passion to a job that may return nothing in the way of concrete rewards. It can, in fact, be thankless -- FOSS coders may get ridicule and criticism instead of riches. Why do they do it? "[Humans] need a purpose in life," says blogger Robert Pogson, "and for some, that purpose includes coding."
08/03/09 4:00 AM PT
As the month of July petered out, so did the patience of Alan Cox, who ended his long tenure as maintainer of the Linux kernel's tty subsystem.
Following what seemed to be a fairly bitter argument between Cox and Linus Torvalds over a particularly controversial bug, Cox announced that he would not remain in the role any longer.
"I've had enough," Cox wrote in a frustrated email on the Linux Kernel Mailing List, announcing his decision. "If you think that problem is easy to fix you fix it. Have fun."
Bloggers far and wide chimed in with their regrets about the rift, with several pointing to the pressures of working on the kernel as likely causes.
'You've Made the Right Move'
"Thanks for all the hard work. Good luck to the next maintainer," wrote Hatta among the more than 800 comments on Slashdot, for example. "Not much else to say."
Then again: "How about, 'Nice work Linus, you'll have the entire kernel back to yourself any day now, I'm sure'," suggested dotgain.
For Linux developers, one's "success is proportional to the thickness of your skin," dotgain added. "Your willingness to sit there and listen to argue with some other twit whose age you guess at 13 over something you know isn't furthering your project one bit.
"I'm sorry, Alan. I'm really sorry, but you've made the right move. Thanks for everything," dotgain added.
'Like a War Zone'
"Kernel hacking is an intense affair," blogger Robert Pogson told LinuxInsider. "Folks are working in a world unknown by most, with successive crises and pressure to deliver."
The atmosphere is "like a war zone," Pogson explained. "Everyone is trying to solve the problems they can see, and in the fog of war, mistakes happen.
"Alan Cox has been great for Linux," he added. "I hope he can regroup and return to contribute. If not, I wish him well in future endeavors."
Indeed, "the tty layer is probably the oldest Linux kernel subsystem, so pretty much any change is a weird game of Russian roulette," Montreal consultant and Slashdot blogger Gerhard Mack agreed. "It's a thankless job, and I guess it's not too surprising Alan Cox finally burned out on working with it."
'Why Code for Free?'
With so much scrutiny placed on the pressures and frustrations associated with working on the Linux kernel, a series of articles on LinuxPlanet, on the other hand, had a decidedly restorative effect.
Specifically, in her three-part series entitled, "Why Code for Free?" Carla Schroder talked to a variety of developers about why they choose to work with FOSS.
One reason is the "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," developer Akkana Peck told LinuxPlanet in part two of the series, for example.
"Experience, community, and a sense of achievement," on the other hand, were among the reasons cited by Daniel Pittman in part three.
'Friends and Family Cannot Relate'
Indeed, it was striking to see -- in the very same week -- Cox's frustration on the one hand, and the words of ardent FOSS developers and supporters on the other. Linux Girl couldn't resist using that juxtaposition as the starting point for a closer look.
"I am not a kernel hacker, but I have been in many intense situations where frustration levels rise," Pogson told LinuxInsider. "Friends and family cannot relate, so it is easy to become depressed, angry and distracted. The result is lower performance and a toll on one's life forces."
FLOSS projects "will always have collisions of egos/goals/viewpoints, and we should expect people who are motivated to disagree," Pogson added. "This does not break FLOSS or hold it back. It is a meritocracy, with survival of the fittest ideas and idealists."
'Dozens of Possible Reasons'
There are frustrations everywhere, Slashdot blogger drinkypoo pointed out.
"This does not, however, differentiate Linux from commercial software offerings in any way, save that someone unhappy at their paying job is less likely to jump ship immediately," he told LinuxInsider. "They will probably write a bunch of lousy, uninspired code first."
There are "dozens of possible reasons for contributing to FOSS," drinkypoo added, "ranging from feeding the ego to simple pragmatism" -- that is, "not wanting to maintain a fork of some code that you've had to modify, and wanting someone else to do it for you."
'FLOSS Is a Huge Opportunity'
One of the big advantages of the FOSS world is that "there are plenty of projects with a low barrier to entry, where established developers will help newbies get established, provide free advice and so forth," Chris Travers, a Slashdot blogger who works on the LedgerSMB project, told LinuxInsider.
"The low barrier to entry and the sense of community that comes with it are very strong compelling incentives to do this work even absent financial considerations," he explained.
Indeed, "developers of software are like students," Pogson agreed. "In many fields, it is hard for newbies to gain that first position to put on the resume, so FLOSS is a huge opportunity for them to make a name for themselves and to improve their skills."
'It's Good for Improving My Skills'
Even for experienced coders, the educational benefits of open source can be compelling.
"Why open source? Because it's good for improving my skills," Mack explained.
"Usually I work for smaller companies, and I'm often one of the best or the best programmer on staff," he said. "While that's good for the ego, it's not good for my personal skills development. Open source lets me interact with people who are better and more experienced than I am."
'Paid Developers Are Usually the Majority'
However, as also noted in the LinuxPlanet series, "I would suggest that a lot of FOSS developers don't 'code for free'," Travers pointed out. "They get paid by somebody to do the coding.
"Once again, the low barrier to entry -- no job interview, free help -- helps developers become established and newbies often help direct more paid work towards the veterans," he explained.
In the end, FOSS developers code for many reasons, Travers asserted: "Some need the intellectual stimulation. Some do so for money. Some for glory. Some do so just for fun. However at least in projects I have been deeply involved in, the paid developers are usually the majority."
'Scratching an Itch'
Most FOSS developers are either paid or "scratching an itch," Slashdot blogger hairyfeet agreed --though the latter may or may not create results that are useful for "Sally Home User, who has no IT experience at all," he asserted.
With so many developers and "so many ideas on the way things should go," Linux may also suffer from a lack of direction as a result, hairyfeet told LinuxInsider.
"It would take a leader that made Steve Jobs and Patton look like wimps to get THAT many developers with THAT many egos to all fall in line," he added.
'This Is What Humans Do'
Nevertheless, most seem to agree that the rewards are many for those who get involved -- whether for pay or not.
"While we may have multiple contracts, employers and hobbies, a developer can contribute to FLOSS even if not working for pay doing so," Pogson noted.
"Sometimes the most gifted among us have multiple talents and can be gainfully employed for one while doing amazing work in another field," he explained. "It is all good. This is what humans do. They need a purpose in life, and for some, that purpose includes coding."