All the commotion, all the downloading, all the talk Tuesday centered around a relatively obscure programming entity known as "source code," a meaningless term to most people.
But not to the thousands of developers who descended on mozilla.org, where they could download the source code for Netscape's Communicator software and then hang around and talk about it.
"It's gonna be fun -- that's the best way to put it for me," said developer William Woods, expressing his delight after downloading and beginning to work on the endless lines of software instructions. "I love playing with code." Code refers to the inner workings of a piece of software written in one or more programming languages.
Netscape made the code for its browser software available yesterday in a strategic move aimed at meeting a potentially mortal threat from Microsoft and its Internet Explorer browser.
While code is usually a closely guarded secret of commercial software companies, Netscape hopes that free access will encourage developers worldwide to apply their own programming visions to future versions of Netscape's Communicator software.
Developers won't get paid for their work, but they can use the code in their own products without charge. In the end, Netscape hopes to reap the benefits of what amounts to a global research and design laboratory to help drive sales of its server software. This represents, along with the company's main Web site, Netscape's primary revenue source.
A Compilation Effort
Developers wasted little time jumping in. As day one of the giveaway drew to a close, the compilation of the code into executable software was already underway. Compiling software is used to translate the high-level programming languages lurking in Communicator's frame into the machine language required by a particular platform, such as Mac or Windows.
"The first thing you want to do with source code is compile it and see it run," said Chris Dickerson, a systems engineer at a Web enterprise development company. Dickerson quickly downloaded and began compiling the code, a task taking upwards of 45 minutes.
"After the initial build, I'll use [Communicator] and fiddle with it and come up with ideas of how I'd change and better it," Dickerson said. Which is exactly what Netscape had in mind.
While pleased to have access to the code, nothing found in the browser's bones appeared to either surprise or disappoint developers. Unless it was sheer size.
"It's a big source tree," said Woods, who plans to eventually produce customized and "lite" versions of the software for the ISP where he works. "It's a lot of source code -- and a lot of varied source code." Sorting through the various sections written in the languages of C and C++, he said, will be a time-consuming task.
But for many developers, already used to sleep deprivation and constant infusions of caffeine, it will also be a labor of love, Woods said. "You've got to love late hours ... and it really helps to have a good debugger."
Many of the postings to special mailing lists and chat channels set up by Netscape sought guidance through the labyrinthal compilation process. Subject lines such as "Win32 build problem," "Compiling Mozilla in Linux," and "Anyone build Mac yet?" were common. Later in the day came a triumphant declaration: "Successful build! NT 4.0!"
Developers also quickly discovered which components were not included in the free source code. For example, proprietary spell-checking software, which is part of the standard version of Communicator, was not available. Netscape is only able to unlock the code to its own software; the code behind components provided by other companies, such as Sun Microsystems and RSA Data Security, is the intellectual property of those companies. Netscape said it is urging these partners to make their source code available as well.
Among the conspicuous absences is Communicator's built-in Java Virtual Machine, responsible for handling Java-based applications encountered on the Web. In future versions, the software will turn to separate virtual machines provided by vendors such as Java's parent company, Sun Microsystems.
But most problems encountered on the first day pertained to compiling. Dickerson said this was predictable, adding that the problem doesn't lie with the code itself but with how closely developers are following compiling instructions.
Microsoft Chimes In
Netscape's primary competitor, Microsoft, professed indifference. Microsoft maintains that it gives developers similar access to Internet Explorer functionality, only via self-contained, finished browser components rather than raw source code. This approach, says Microsoft, is preferred by most developers.
Perhaps, but Craig Beilinson, a product manager for Internet Explorer, was at a loss to explain the developer frenzy surrounding Netscape's code. "I'm not sure why one was frenzied and one was not. But hopefully, when developers look at both scenarios, they'll see ... I invite them to try both."
Microsoft was conspicuously available to the press yesterday, actively seeking to compare Netscape's new strategy with its own. "I'm not surprised that [Netscape] is going down this path of the source code business model, especially when Microsoft has had so much success with our componentized architecture," Beilinson said.
He questioned the value of releasing plain source code as opposed to complete modules ready to run as-is. "We're providing a tested, compatible tuned engine," Beilinson said. "We feel like [Netscape] didn't address some concerns: backward compatibility, optimization of code, testing. Who is doing all that work? I'm waiting to see how they manage the whole process."
They'll manage nicely, countered Netscape spokeswoman Maggie Young in an email. "There is a rigorous process through which source code submissions are accepted," she said. Technical leaders at mozilla.org will "only allow well-documented and tested code into the source tree. The experts in these areas of the code will also work on optimization, testing, etc."
As for working with finished Explorer components vs. Netscape's source code, developer Woods said the Communicator source code can be provided in both forms if developers wish. "You can break [Communicator] down into components - that's not a problem. You don't have to work on lines and lines of code at one time," he said. "That's a misnomer."
But as evidence of the success of Explorer's componentized architecture, Microsoft points to developer Bigfoot, which makes a customized Internet shell using Explorer components. Jim Hoffman, Bigfoot's president, echoed Beilinson's argument that source is harder for developers to work with.
"At the end of the day, if I don't get source code but I do get clear API access and support, I think there are a lot of people who will prefer to go the [latter route]," he said. Nevertheless, Hoffman said the company plans to investigate the use of Netscape's source code for a separate version of its product.
Dickerson expects the first phase of compilation and testing to yield a fairly comprehensive wish list from developers.
"People are banding together to build something that everyone wants - to put [support for] gopher and other protocols in," he said. They'll also be working hard to replace proprietary Communicator components that were taken out before the release of the software code, he said, such as links to Java Virtual Machines to handle Java applets.
Encryption is another missing component in the source code. Already, though, a coalition of Australian developers, has a plan for strong encryption that Mozilla developers can include in their projects.
The success or failure of Netscape's strategy is likely to be apparent by summer, said developer Woods. "The real test will be in three months: Will developers still be working on the code then? I know a lot that will, I know a few that won't." But Woods expects the strategy to bear fruit.
"I think in six months you're going to see a really trim, fast, powerful Netscape 5.0," he said. "They're going to get some wild ideas out of this that work."