16. Corporations

Free For All. Go to the Table of Contents. Vist the Gifcom.

Many movies about teenagers follow a time-proven formula: once the magic summer is over, the gang is going to split up and it will never be the same again. Bob's going to college; Rick is getting married; and Harry is going to be stuck in the old town forever. Right now, the free software world is playing out the same emotions and dramas as the greater world discovers open source software. In the fall, the corporations are coming and the old, cool world of late-night hackfests fueled by pizza and Jolt are in danger. Some people in the realm of free source software are going to grow up, get educated, and join the establishment; some will get married; and some will get left behind wondering why the old game isn't as cool anymore.

The free source world is suffering from an acute case of success. Many of the great projects like Apache and Sendmail are growing up and being taken over by corporations with balance sheets. Well, not exactly taken over, but the corporations will exist and they'll try to shepherd development. Other corporations like Apple, Sun, and Netscape are experimenting with open source licenses and trying to make money while sharing code. Some quaint open source companies like Red Hat are growing wealthy by floating IPOs to raise some money and maybe buy a few Porsches for their stakeholders. There's a lot of coming of age going on.

On the face of it, none of this rampant corporatization should scare the guys who built the free software world in their spare cycles. The corporations are coming to free source because it's a success. They want to grab some of the open software mojo and use it to drive their own companies. The suits on the plane are all tuning into Slashdot, buying T-shirts, and reading Eric Raymond's essay "The Cathedral and the Bazaar" in the hopes of glomming on to a great idea. The suits have given up their usual quid pro quo: be a good nerd, keep the code running, and we'll let you wear a T-shirt in your basement office. Now they want to try to move in and live the life, too. If Eric Raymond were selling Kool-Aid, they would be fighting to drink it.

The talk is serious, and it's affecting many of the old-line companies as well. Netscape started the game by releasing the source code to a development version of their browser in March of 1998. Apple and Sun followed and began giving away the source code to part of their OS. Of course, Apple got part of the core of their OS from the open source world, but that's sort of beside the point. They're still sharing some of their new, Apple-only code. Some, not all. But that's a lot more than they shared before. Sun is even sharing the source code to their Java system. If you sign the right papers or click the right buttons, you can download the code right now. Its license is more restrictive, but they're joining the club, getting religion, and hopping on the bandwagon.

Most of the true devotees are nervous about all of this attention. The free software world was easy to understand when it was just late-night hackfests and endless railing against AT&T and UNIX. It was simple when it was just messing around with grungy code that did way cool things. It was a great, he-man, Windoze-hating clubhouse back then.

Well, the truth is that some of the free software world is going to go off to college, graduate with a business degree, and turn respectable. Eric Allman, for instance, is trying to build a commercial version of his popular free package Sendmail. The free version will still be free, but you can get a nicer interface and some cooler features for managing accounts if you buy in. If things work out, some of the folks with the free version will want all of the extra features he's tacking on and they'll pay him. No one knows what this will do to the long-term development of Sendmail, of course. Will he only make new improvements in the proprietary code? Will other folks stop contributing to the project because they see a company involved? There's some evidence that Allman's not the same guy who hung around the pizza joint. When I contacted him for an interview, he passed me along to his public relations expert, who wrote back wanting to "make sure this is a profitable way to spend Eric's time." For all we know, Eric may have even been wearing a suit when he hired a corporate PR team.

Some of the other free software folks are going to get married. The Apache group has leveraged its success with small server organizations into connections with the best companies selling high-powered products. IBM is now a firm supporter of Apache, and they run it on many of their systems. Brian Behlendorf still schedules his own appointments, jokes often, and speaks freely about his vision for Apache, but he's as serious as any married man with several kids to support. It's not just about serving up a few web pages filled with song lyrics or Star Wars trivia. People are using Apache for business--serious business. There can still be fun, but Apache needs to be even more certain that they're not screwing up.
And of course there are thousands of free software projects that are going to get left behind hanging out at the same old pizza joint. There were always going to be thousands left behind. People get excited about new projects, better protocols, and neater code all the time. The old code just sort of withers away. Occasionally someone rediscovers it, but it is usually just forgotten and superseded. But this natural evolution wasn't painful until the successful projects started ending up on the covers of magazines and generating million-dollar deals with venture capitalists. People will always be wondering why their project isn't as big as Linux.

There will also be thousands of almost great projects that just sail on being almost great. All of the distributions come with lots of programs that do some neat things. But there's no way that the spotlight can be bright enough to cover them all. There will be only one Torvalds and everyone is just going to be happy that he's so gracious when he reminds the adoring press that most of the work was done by thousands of other nameless folks.

Most of the teen movies don't bother trying to figure out what happens after that last fateful summer. It's just better to end the movie with a dramatic race or stage show that crystallizes all the unity and passion that built up among this group during their formative years. They sing, they dance, they win the big game, they go to the prom, and then cameras love to freeze the moment at the end of the film. The free software movement, on the other hand, is just too important and powerful to stop this book on a climactic note. It would be fun to just pause the book at the moment in time when Linus Torvalds and Bob Young were all over the magazines. Their big show was a success, but the real question is what will happen when some folks go to school, some folks get married, and some folks are left behind.

To some extent, the influx of money and corporations is old news. Very old news. Richard Stallman faced the same problem in the 1980s when he realized that he needed to find a way to live without a university paycheck. He came up with the clever notion that the software and the source must always be free, but that anyone could charge whatever the market would bear for the copies. The Free Software Foundation itself continues to fund much of its development by creating and selling both CD-ROMs and printed manuals.

This decision to welcome money into the fold didn't wreck free software. If anything, it made it possible for companies like Red Hat to emerge and sell easier-to-use versions of the free software. The companies competed to put out the best distributions and didn't use copyright and other intellectual property laws to constrain each other. This helped attract more good programmers to the realm because most folks would rather spend their time writing code than juggling drivers on their machine. Good distributions like Red Hat, Slackware, Debian, FreeBSD, and SuSE made it possible for everyone to get their machines up and running faster.
There's no reason why the latest push into the mainstream is going to be any different. Sure, Red Hat is charging more and creating better packages, but most of the distribution is still governed by the GPL. Whenever people complain that Red Hat costs too much, Bob Young just points people to the companies that rip off his CDs and charge only $2 or $3 per copy. The GPL keeps many people from straying too far from the ideal.

The source is also still available. Sure, the corporate suits can come in, cut deals, issue press releases, raise venture capital, and do some IPOs, but that doesn't change the fact that the source code is now widely distributed. Wasn't that the goal of Stallman's revolution? Didn't he want to be able to get at the guts of software and fix it? The source is now more omnipresent than ever. The corporations are practically begging folks to download it and send in bug fixes.

Of course, access to the source was only half of Stallman's battle. A cynic might growl that the corporations seem to be begging folks to do their research, testing, and development work for them. They're looking for free beers. Stallman wanted freedom to do whatever he wanted with the source and many of the companies aren't ready to throw away all of their control.

Apple sells its brand, and it was careful not to open up the source code to its classic desktop interface. They kept that locked away. Most of the source code that Apple released is from its next version of the operating system, Mac OS X, which came from the folks at NeXT when Apple acquired that company. Where did that code come from? Large portions came from the various free versions of BSD like NetBSD or Mach. It's easy to be generous when you only wrote a fraction of the code.

Ernest Prabhakar, the project manager for Apple's first open source effort known as Darwin, describes the tack he took to get Apple's management to embrace this small core version of the BSD operating system tuned to the Macintosh hardware platform.

"The first catalysts were the universities. There were a lot of universities like MIT and University of Michigan that had some specialized network infrastructure needs," he said.

"We realized that the pieces they're most interested in are the most commoditized. There wasn't really any proprietary technology added that we had to worry about them copying. There are people who know them better than we do like the BSD community. We started making the case, if we really want to partner with the universities we should just open the source code and release it as a complete BSD-style operating system.

"We wanted people to use this in classes, really embed it in the whole educational process without constraining teaching to fit some corporate model," he finishes.

Of course, Prabhakar suggests that there is some self-interest as well. Apple wants to be a full partner with the BSD community. It wants the code it shares to mingle and cross-pollinate with the code from the BSD trees. In the long run, Apple's Darwin and the BSDs will grow closer together. In an ideal world, both groups will flourish as they avoid duplicating each other's efforts.

Prabhakar says, "This reduces our reintegration costs. The ability to take the standard version of FreeBSD and dump it into our OS was a big win. Prior to doing the open source, we had done a small scale of givebacks."

This view is echoed by other companies. IBM is a great hardware company and an even greater service company that's never had much luck selling software, at least in the same way that Microsoft sells software. Their OS/2 never got far off the ground. They've sold plenty of software to companies by bundling it with handholding and long-term service, but they've never had great success in the shrink-wrapped software business. Open source gives them the opportunity to cut software development costs and concentrate on providing service and hardware. They get free development help from everyone and the customers get more flexibility.

Sun's Community Source License is also not without some self-interest. The company would like to make sure that Java continues to be "Write Once, Run Anywhere," and that means carefully controlling the APIs and the code to make sure no idiosyncrasies or other glitches emerge. People and companies that want to be part of the community must abide by Sun's fairly generous, but not complete, gift to the world.

The company's web page points out the restriction Sun places on its source code fairly clearly. "Modified source code cannot be distributed without the express written permission of Sun" and "Binary programs built using modified Java 2 SDK source code may not be distributed, internally or externally, without meeting the compatibility and royalty requirements described in the License Agreement."

While some see this clause as a pair of manacles, Bill Joy explains that the Community Source License is closer to our definition of a real community. "It's a community in a stronger sense," he told an audience at Stanford. "If you make improvements, you can own them." After you negotiate a license with Sun, you can sell them. Joy also points out that Sun's license does require some of the GNU-like sharing by requiring everyone to report bugs.

Some customers may like a dictator demanding complete obeisance to Sun's definition of Java, but some users are chaffing a bit. The freedom to look at the code isn't enough. They want the freedom to add their own features that are best tuned to their own needs, a process that may start to Balkanize the realm by creating more and more slightly different versions of Java. Sun clearly worries that the benefits of all this tuning aren't worth living through the cacophony of having thousands of slightly different versions. Releasing the source code allows all of the users to see more information about the structure of Sun's Java and helps them work off the same page. This is still a great use of the source code, but it isn't as free as the use imagined by Stallman.

Alan Baratz, the former president of Sun's Java division, says that their Community Source License has been a large success. Sure, some folks would like the ability to take the code and fork off their own versions as they might be able to do with software protected by a BSD- or GNU-style license, but Java developers really want the assurance that it's all compatible. As many said, "Microsoft wanted to fork Java so it could destroy it."

Baratz said, "We now have forty thousand community source licensees. The developers and the systems builders and the users all want the branded Java technology. They want to know that all of the apps are going to be there. That's the number-one reason that developers are writing to the platform." Their more restrictive license may not make Stallman and other free software devotees happy, but at least Java will run everywhere.

Maybe in this case, the quality and strength of the unity Sun brings to the marketplace is more important than the complete freedom to do whatever you want. There are already several Java clones available, like Kaffe. They were created without the help of Sun, so their creators aren't bound by Sun's licenses. But they also go out of their way to avoid splitting with Sun. Tim Wilkinson, the CEO of Transvirtual, the creators of Kaffe, says that he plans to continue to make Kaffe 100 percent Java compatible without paying royalties or abiding by the Community Source License. If his project or other similar ones continue to thrive and grow, then people will know that the freedom of open source can be as important as blind allegiance to Sun.

These corporate efforts are largely welcomed by the open source world, but the welcome does not come with open arms or a great deal of warmth.

Source code with some restrictions is generally better than no source at all, but there is still a great deal of suspicion. Theo de Raadt, the leader of the OpenBSD project, says, "Is that free? We will not look at Apple source code because we'll have contaminated ourselves." De Raadt is probably overreacting, but he may have reason to worry. AT&T's USL tied up the BSD project for more than a year with a lawsuit that it eventually lost. Who knows what Apple could do to the folks at OpenBSD if there were a some debate over whether some code should be constrained by the Apple license? It's just easier for everyone at OpenBSD to avoid looking at the Apple code so they can be sure that the Apple license won't give some lawyers a toehold on OpenBSD's code base.

Richard Stallman says, "Sun wants to be thought of as having joined our club, without paying the dues or complying with the public service requirements. They want the users to settle for the fragments of freedom Sun will let them have."

He continues, "Sun has intentionally rejected the free software community by using a license that is much too restrictive. You are not allowed to redistribute modified versions of Sun's Java software. It is not free software."