The career path to the software industry used to be cut and dry. Coders had a choice of either developing projects as part of a remotely dispersed community or punching a clock as a slave to a commercial software house. The former usually meant being considered a player in the software bush league. The latter meant a promotion to the industry’s majors.
That is not necessarily the case today. Some open source software developers are making the transition from collaborative software contributor to commercial code mercenary with greater ease. Those who make the move are faced with tradeoffs, though.
Some software writers still keep a hand in their former coding for activities devoted to the public good. Others have to sign off on at least some of their former community ties once they’ve signed on with the Man. Ultimately, making the move from collaborative coder to a corporate coder often involves a value decision about keeping ownership to one’s work or selling it to a company in return for one’s salary.
“I’m sure there are developers who make this transition, but they are generally not the ones I know. Many, if not most open source developers I know — including many Linux kernel developers — work on open source for their [corporate] companies as well as during their own time,” Amanda McPherson, marketing director for Linux Foundation, told LinuxInsider.
The software industry is undergoing a quiet changeover. The trend is leaning away from forcing software writers to pick one league or the other.
“It’s really more of a hybrid than an either/or solution,” McPherson asserted.
For instance, just take a look at the recent data published at LWN.net, she suggested. Based on that data, roughly 75 percent of all kernel patches come from employees of corporate entities.
“That would leave quite a small minority from independent or volunteer coders,” she said.
Coders who make the transition from community to corporate software development often find little difference in the process. Software development has two main components: the code and its methodology, according to Sameer Verma, a professor of information systems at San Francisco State University.
“FOSS (free and open source software) typically follows an approach that is closer to rapid prototyping and significantly leverages the network effect of being shared on the Internet. For a developer who has been working on FOSS projects, the coding part is going to be no different,” Verma told LinuxInsider.
For programmers who write for a FOSS project, moving to a world where they get paid isn’t very different, except perhaps in the way they may (or may not) collaborate with others to improve their work, he explained.
It all depends on how you define mercenary, suggested McPherson. That definition hinges on how much control over their working schedules corporate coders have. Many companies, including LF members like Novell, Intel, IBM and others, have a percentage of an employee’s time devoted to pure “community” open source, she explained.
“Luckily, many of those companies have bet their business on Linux or Apache or Jboss and so on, so the needs are aligned. The companies want a strong platform, so thus it’s in their interest to hire developers and have them deployed on open source,” McPherson said.
Some companies take this goal to the limit. For instance, Novell has a fellow program that allows key individuals to work full time on open source projects. One example of this is the company’s Linux driver project, she said.
This marriage of proprietary and open source software under one roof is becoming a win-win situation for code writers looking for corporate jobs. The strong support growing around open source is giving community-based software developers a decided advantage in the job market.
“It’s not difficult at all. Just look at the Linux Foundation members to get an idea of the large numbers of companies who support Linux. All of those companies are looking to hire open source developers,” McPherson said. “There is a lot of effort expended to hire the best and brightest open source developers.”
Many FOSS developers are in fact on a company’s payroll, according to Professor Verma. This is a clear sign that the corporate hiring goals are changing.
“It used to be the case that the FOSS coder was burning the midnight oil trying to solve a personal problem (in computing) and that would lead to a FOSS project, but that’s no longer the only way. Many developers work for corporations like Google, Sun, Canonical, etc. and contribute to FOSS projects. In fact, I have had students who landed jobs because they opted to play with FOSS while in school,” Verma said.
Collaboration vs. Corporation
The software industry itself is in transition. The traditional rules that guide a programmer’s allegiance to community or company are still being altered. Whether or not a code-writer-turned-code-mercenary can live in both worlds depends on executive decision-making.
“It all depends on what you signed up for. If your ball and chain is conditional (i.e. during work hours only), then I suppose you could go home and freelance away as a code mercenary or a FOSS developer,” Verma said.
Many employers do have restrictions on the kind of coding they cannot do, however. Financial institutions are quite strict, for example. They don’t want employees to work on any kind of financial programming for anyone. Elsewhere, employees can work on their own projects for a certain percentage of the time at places like Google, he explained.
At least one software firm minimizes the distinction between community and corporate code writing. TopCoder uses competition among software writers to ensure the best coding performance for a given project.
“We find the best programmers in the world based on competition. We foster a community to encourage top programming. Programmers participate in what we do for the love of the game to be the top professionals,” Dave Messinger, TopCoder’s chief architect, told LinuxInsider.
His company builds custom software for its customers using top coding programmers in addition to a pool of applicants on a job-by-job basis. TopCoder posts requirements for a software project on its Web site.
Any number of programmers — open source specialists or commercial coders — might submit a design. At the deadline, TopCoder has the submissions peer-reviewed by a community of developers who score the submissions. The highest score wins the job.
“This is a very different approach. Like open source, we compensate the winning programmers with royalties. TopCoder takes ownership of the winning submission. Others keep ownership of their work,” Tony Jefts, director of software operations at TopCoder, told LinuxInsider.