Free Photoshop for the people

Berkeley's Experimental Computing Club has produced some of the Net's most cherished software.

Published December 4, 2000 8:30PM (EST)

Not long after the infamous Internet Worm nearly crippled the Net in November 1988, a University of California at Berkeley student was called to a U.S. government hearing in Maryland.

Phil Lapsley, co-founder of a student club at Berkeley called the eXperimental Computer Facility, had played an important part in the drama by helping to diagnose the worm and come up with a cure. The worm had taken advantage of a weakness in a popular version of the Unix operating system produced at Berkeley. Now officials from the National Computer Security Center and other government agencies were asking him about the episode -- and getting an earful.

The young hacker blasted the federally funded Lawrence Livermore Lab for taking itself offline during the outbreak -- a move that didn't stop the infection but did cut the lab off from remedies sent from elsewhere on the Net. His criticism wasn't entirely welcome, says Lapsley.

"This one woman from the Department of Energy said, 'Forgive me, but we're supposed to believe you? You're some undergraduate from Berkeley.'"

"I said to her, 'Whose computer operating system do you run?'" recalls Lapsley, "and she said, "Well, Berkeley's.' She sat down and I sat down."

The episode neatly captures the spirit of the XCF, an organization that has directly or indirectly produced some of the most powerful and innovative open-source software of the past 15 years. The confident -- some might say cocky -- XCF undergraduates helped slay the Internet Worm, produced one of the first-ever Web browsers and developed two programs essential to the ecology of free software -- the GTK tool kit (a set of tools useful for creating graphical user interfaces) and the GIMP, a Photoshop clone. Members of the XCF have also contributed code to the Gnutella file-trading project, a software program that many observers believe will be the successor to Napster.

"It's almost like it's our duty to create cool things for the world," says Spencer Kimball, who co-wrote both the GIMP and the Unix versions of Gnutella.

All these achievements fit within the broader Berkeley record of producing free software critical to the rise and expansion of the Internet. Students in the XCF have added to the legacy created by well-known pioneers like Bill Joy, Kirk McKusick, Eric Allman and Sam Leffler. The success of the XCF's lesser known hackers also offers some lessons worth considering. In contrast to the common perception that the act of programming is a solitary endeavor performed by lone cyber-cowboys, the XCF worked best when hackers were constantly poking their noses into each other's code. And not all that politely, either -- the XCF has a proud tradition of brutally honest peer review.

However, there is some question as to the future of the XCF. All members but one will be graduating this year, and it's unclear whether future generations of Berkeley hackers will choose to gather in the hallowed XCF office. But the XCF has only its own success to blame. By helping to create software that made the virtual world rich and robust, it may have paved the way for its own real-world demise. The Internet now facilitates a vastly larger community of cooperating programmers than any single club can provide. And the open-source movement that so many XCF programmers have played a role in is now untethered to any geographic or physical limitation.

The XCF office is located on the ground floor of Soda Hall, a jade green building housing UC-Berkeley's computer science department. It's roughly 20 by 30 feet, and computer guts spill out onto a series of cluttered tables that are also dotted with intact machines and monitors. Posters cover the walls, including one that reads: "Need Unix Help? Have Programming Questions? The Doctors Are In." A futon with a ratty orange blanket is crammed into one corner, next to a bathroom.

The office, used now by about eight current XCF members, gives a visitor little room to move about. But that very lack of space is one clue to the origin and culture of the club. UC-Berkeley has long suffered a shortage of rooms. When the university reorganized its turf in the mid-1980s, the existing computer center available to undergraduate hackers was set to be shut down. So Phil Lapsley and nine other computer enthusiasts wrote a proposal to establish an undergraduate-run facility that would both offer computer help to campus members and produce useful software projects.

The university agreed to the proposal, and in 1986 the XCF was born. Lapsley was the first director. He says his motivation for starting the club came from picking up coding tricks from other hackers at the earlier computer center.

"It just dawned on me, 'My God, if you can just get all these people together in the same place, you can drastically increase how quickly people can learn,'" he says.

University administrators gave the XCF a half-dozen Sun Microsystems workstations -- a coup at the time. The scarcity of powerful machines all but forced early XCFers to work together. Lapsley and Kurt Pires, another co-founder, came up with a course to teach fellow undergraduates the C computer language, which wasn't offered by the university. The XCFers also helped one another figure out how to make their programs tighter, more elegant and more efficient.

The XCFers weren't just tinkering around for fun. They were also under the gun to come up with programs that improved computing at the university, if not the entire world. That translated into a club admissions policy requiring would-be XCFers to propose a significant project. The pressure to keep the office also contributed to the culture of frank feedback. Often, XCFers spent more time on club projects than class work, and those who slacked off on their XCF work were asked to move on.

About one member a year would drop out, Lapsley recalls.

"I was one of the ones who got slapped around a lot," says Jim Griffith, an early XCFer. "But it's really hard to complain about being slapped down like that when it's done in the pursuit of making you a better engineer."

Griffith, 34, now works as a software engineer with Go.com, after spending five years with a map-related programming firm. That work drew on his XCF project, a graphical representation of U.S. Census data. He credits the XCF for significantly improving his skills.

"By the time I left, I knew more about Unix than just about anybody at Berkeley who wasn't in the XCF," he says.

It might not be a big stretch to say Griffith and other XCFers knew more about Unix than most people in the world in the late 1980s. Berkeley was ground zero for Unix expertise, having gained that distinction by spearheading the development of the BSD Unix operating system for the Defense Department. The Pentagon wanted a commonly accessible, free operating system for the research organizations linked together on Arpanet -- the Internet's predecessor.

Berkeley professor Bob Fabry had secured the contract for the work in the mid-1970s. He set up the Computer Science Research Group, which was spearheaded by Bill Joy and later by another graduate student named Kirk McKusick.

One of the hallmarks of the CSRG was welcoming coding improvements to Unix from a wide community of programmers throughout the world. McKusick says coders working together proved vital to the work.

"That was one of CSRG's lasting legacies," he says. "We set up a model that showed you could get 300 to 400 people to work together."

Lapsley was one of those people when he first got to Berkeley -- and the Internet Worm caper offered a perfect example of how cooperation could work. Lapsley and Pires were used to the occasional undergraduate trying to hack into their machines, and had set up the equivalent of trip-wire programs that would alert them to suspicious activity. So they noticed the worm hitting their machines at the beginning of the attack, the evening of Nov. 2. Peter Yee, another XCFer, quickly sent out an e-mail to the hardcore techies then on the pre-World Wide Web version of the Internet. Part of Yee's e-mail was later quoted in Life magazine's year-end issue: "We are under attack."

But the XCF and the CSRG quickly went to battle stations. Members of both groups worked in concert to dissect the virus' code, analyze it and write patches to neutralize it. Over the course of a few days, those vaccines were zapped out to panicking system administrators nationwide.

The Army, the Navy and the state of Florida all asked the XCFers for help. After staying up all night the evening of the attack, Lapsley walked back to his apartment dazed but proud.

"I remember being aware how this really momentous thing had happened, and the XCF was at the heart of it," he says.

The worm victory wasn't the only significant contribution by early XCFers. A club member named Pei Wei created Viola, one of the very first Web browsing programs. Lapsley also developed NNTP, a technology that still helps Internet users access Usenet newsgroups, and the hackers came up with some computer game advances, including an early multiuser Internet game called "xtrek" and an air-traffic control simulation.

After the early years of the XCF, both the club's membership and production level ebbed and flowed. But another fertile period emerged in the mid- to late 1990s, when the XCF, led by Spencer Kimball and Peter Mattis, coauthors of the GIMP, proved that open-source software could compete with top-of-the-line proprietary applications.

The impetus for creating the Unix-based image-manipulation program was partly necessity, Mattis recalls. "I wanted to make a Web page at the time, and I couldn't," says Mattis. "It was that simple."

But the project was anything but easy. It took the pair about two years. In the middle of the effort, Mattis decided he needed a better set of user interface software tools. So he wrote the GTK program, which in turn became a vital piece of code for building GNOME, one of the leading contenders for the role of a user-friendly desktop environment for Linux-based operating systems. Both the GIMP and GTK are now included in the standard versions of the Linux-based operating system distributed by Red Hat, TurboLinux and other major Linux providers.

By the late '90s, university pressure on the XCF to produce or perish lessened. But the tough-love atmosphere continued. "Even if you did the greatest work you've ever done, people still would point out why it sucked," says Kimball, who co-founded a Web portal-building firm called Wego with another XCFer.

XCFer Alice Zheng says the critical culture didn't repel potential members. Instead, the harsh feedback helped feed the club's coding quality, just as it had in earlier years. "Having an environment where you get direct feedback is important, because you don't get that anywhere else" says Zheng, who is now getting her Ph.D. in artificial intelligence at Berkeley.

Zheng, Kimball, Mattis and others would spend as much as 80 percent of their time in the XCF office. And they came to see themselves as an elite breed apart.

"It had the highest concentration of motivated and capable individuals that I've ever seen," Zheng says.

Excessive self-esteem? Perhaps. But XCFers from that era have an impressive track record. Of even greater significance, though, may be the role Gene Kan and Kimball have played in the success of file sharing software Gnutella. Gnutella, briefly released by AOL subsidiary NullSoft this spring and then yanked by corporate higher-ups, has been reverse-engineered by open-source programmers and disseminated throughout the Internet. As a potential example of the future of the Net -- distributed file-sharing that depends on no central server for its operation -- Gnutella could be hugely influential.

Kimball and Kan wrote a version of Gnutella for Unix. They also maintain a major Gnutella Web site and Kan has served as the primary spokesman for the software. From this bully pulpit, Kan has called Gnutella a defense against excessive government or corporate censorship.

"We're headed toward a world where corporations control our lives -- control the flow of ideas and the freedom to think," he says.

Kan's statement provides a link between two strands of Berkeley history over the past four decades: free-speech political activism and computer programming advances. Of course, the XCF isn't as famous as Mario Savio's Free Speechers or Bill Joy's BSD Unix programmers. But the plucky student-run group does draw accolades from those who know its work.

Chris DiBona, the "Linux community evangelist" for VA Linux Systems and head of the Silicon Valley Linux Users' Group, applauds both the GIMP and GTK. "Those are phenomenal projects with really great thinking behind them," he says. DiBono estimates that hundreds of thousands, if not millions, of copies of the programs are in circulation.

XCF members "are a legend," says Christos Papadimitriou, who was acting chairman of Berkeley's electrical engineering and computer sciences department earlier this year. "They are forward-looking, activist and fiercely independent."

On the other hand, the XCF's high opinion of itself can irk some students in the computer science department.

"There's the XCF's pride," says Daniel Silverstein, of the broader Computer Science Undergraduate Association. "There's also, 'What's the XCF been doing since the GIMP?'"

Not much, admits current XCFer Eric Wagner. In recent years, the club has focused on more personal projects, often having to do with hardware. Members built a special MP3 player used during a Las Vegas road trip and also hacked into the XCF office climate-control system.

Wagner will be the only XCFer next year and is busy recruiting. That's hard to do, though. Wagner says one problem is the ease with which student coders can do all their programming work online from home. And those hardcore Berkeley computer heads wanting to share programming tricks can now turn to the Web for a ready-made community. Sourceforge.net, for example, is home to more than 81,000 programmers working on 11,000 projects. Those who turn to Sourceforge can join or launch software projects small and large.

This type of online collaboration, of course, owes indirectly to XCF accomplishments: building trust in the Net by killing the Internet worm and reinforcing enthusiasm for the free-software movement with GTK, the GIMP and Gnutella. Yet it's quite possible the XCF's success may lead to its extinction. Still, Wagner is determined to preserve the club.

"This has such a history," says the 20-year-old. "It'd be a shame if it dies just because I didn't work hard enough."

Whatever happens next in the annals of the XCF, Lapsley looks back on his now-grown baby with a father's satisfaction. Currently the vice president of engineering of a Berkeley biometrics technology firm, the 34-year-old says he's glad the XCF has produced valuable open-source software and improved people's lives along the way.

He got a particular kick from discovering that GIMP files end in the letters ".xcf." "It made me so proud," he says. "That's really cool."


By Ed Frauenheim

Ed Frauenheim is a freelance writer based in San Francisco.

MORE FROM Ed Frauenheim


Related Topics ------------------------------------------