Open-source software is an open door to a career for New Zealand programmers who are prepared to pit themselves against the world's best. For Ben Goodger, who completed a computer systems engineering degree at Auckland in 2003, his contributions to the Mozilla project led to Silicon Valley and now a job at search-engine giant Google.
For Robert O'Callahan, Mozilla was a way to return from the United States to New Zealand.
Goodger became involved with Mozilla in 1999 when his university studies led to his becoming interested in the way users and web developers interact with web browsers.
Netscape had just lost the first browser war to Microsoft's Internet Explorer and it published its source code on the internet in the hope volunteers would contribute to its development.
"My interest is in making usable, attractive software that helps people accomplish what it is they seek to do," Goodger says.
He proposed a new feature for the interface toolkit used by Mozilla - the XUL language - and wrote a proposal which was implemented by Netscape engineer David Hyatt. "Based on that, and some other work I'd been doing to try to make Mozilla software more aesthetically solid, David recommended me for a job at Netscape. I worked as an intern at Netscape in Mountain View through most of 2000 on the ambitious but poorly received Netscape 6 project." Goodger took on a larger role as the Mozilla network tacked the creation of the Firefox web browser.
He moved to Silicon Valley two years ago to work for Netscape, then to the Mozilla Foundation.
"I don't consider myself on the whole better or worse than anyone else on the project, and while I write a bunch of code I think the best thing that I have to offer is my focus on user interaction, which runs the gamut from actual user interface issues with client software itself to other maybe less interesting areas that people tend to overlook, such as optimising the download and install process of the software itself, choosing good milestone nomenclature - basically the 'little details'. My abilities in that area probably make up for my shortfalls in other areas.
What he will be doing for Google is still under wraps - his move brought speculation that Google might make a browser - but he will continue to work on Firefox.
"Google always struck me as a place populated by intelligent, motivated people and it's hard not to want to be in an environment like that."
Goodger says that working on open-source is good training for any technology career.
"There is potential for people to get a lot of respect for the work that they do, and the experience that they gain - not only in technical areas but also in other areas, such as project management - is useful in the workplace.
"On many open-source projects a single contributor may have many responsibilities, so it forces you to have an agile, creative mind."
Though open source projects are by their nature distributed across the internet, "nothing beats being able to walk over and ask someone a question, stand around a whiteboard and design something together, or look over someone's shoulder and help them debug code," Goodger says.
Robert O'Callahan started contributing to Mozilla in 1999. He had an degree from Auckland and was working on his PhD thesis at Carnegie Mellon University on program analysis for software engineering.
"I was doing a lot of theoretical work, developing tools to understand large and complex programs, and I wanted experience working on a large and realistic project," he says.
Mozilla fitted the bill, and he continued to work on it in his spare time after joining IBM's research lab in White Plains, New York.
"Mozilla is a tough engineering environment. The code is complicated because the web is complicated, performance is critical, there are security issues, and you are developing standards, so it is very challenging - that is attractive for me," O'Callahan says.
"Also, web browsers are software everyone depends on, so you are in the front line."
When he wanted to bring his family back to New Zealand, O'Callahan made it known he wanted a fulltime job working on Mozilla which he could do from New Zealand.
Novell, which is rebuilding around open-source software, hired him for its desktop team to work fulltime in Auckland on Mozilla improvements, including multi-column layout for web pages and improved SVG (scalable vector graphics) support.
"Novell ships Firefox in the Novell Linux distribution, so they want someone on board who can fix bugs in browsers which affect customers," O'Callahan says.
Although only two dozen people are paid fulltime to work on Mozilla, usually by companies like Novell, there are hundreds of volunteers.
"A lot don't do coding but they do quality analysis - they look at the bugs being reported, filter out the bogus reports and help distil it to where the real problem is.
O'Callahan says there are many roles people can fill at Mozilla.
"To make a name for yourself, you show up at mozilla.org, find some bugs or some features you want to implement, work on them, and take the initiative.
"Once you start solving hard problems, people will see what you do."
He says persistence is essential.
"It can be difficult to get involved. You need to know the people, know the code and make an investment of time.
"Technical ability is important. You can't bluff your way through. You also need a thick skin - people are not as polite online as in real life," O'Callahan says.
Goodger sums it up by saying that the main factors for open-source success are perseverance, patience and practicality.
It's important to have realistic, well-defined goals - fewer being better than more.
He says the aim is to create simpler, higher quality systems.
Always bear in mind the marketplace benchmark and focus on that as a baseline for performance and quality.