17.3 Snitchware

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

Larry McVoy is one programmer who looks at the free source world and cringes. He's an old hand from the UNIX world who is now trying to build a new system for storing the source code. To him, giving away source code is a one-way train to no money. Sure, companies like Cygnus and Red Hat can make money by adding some extra service, but the competition means that the price of this value will steadily go to zero. There are no regulatory or large capital costs to restrain entry, so he feels that the free software world will eventually push out all but the independently wealthy and the precollege teens who can live at home. "We need to find a sustainable method. People need to write code and raise families, pay mortgages, and all of that stuff," he says.

McVoy's solution is a strange license that some call "snitchware." He's developing a product known as BitKeeper and he's giving it away, with several very different hooks attached. He approached this philosophically. He says, "In order to make money, I need to find something that the free software guys don't value that the businesspeople do value. Then I take it away from the free software guys. The thing I found is your privacy."

BitKeeper is an interesting type of product that became essential as software projects grew larger and more unwieldy. In the beginning, programmers wrote a program that was just one coherent file with a beginning, a middle, some digressions, and then an end. These were very self-contained and easily managed by one person.

When more than one programmer started working on a project together, however, everyone needed to work on coordinating their work with each other. One person couldn't start tearing apart the menus because another might be trying to hook up the menus to a new file system. If both started working on the same part, the changes would be difficult if not impossible to sort out when both were done. Once a team of programmers digs out from a major mess like that, they look for some software like BitKeeper to keep the source code organized.

BitKeeper is sophisticated and well-integrated with the Internet. Teams of programmers can be spread out throughout the world. At particular times, programmers can call each other up and synchronize their projects. Both tightly controlled, large corporate teams and loose and uncoordinated open source development teams can use the tool.

The synchronization creates change logs that summarize the differences between two versions of the project. These change logs are optimized to move the least amount of information. If two programmers don't do too much work, then synchronizing them doesn't take too long. The change logs build up a complete history of the project and make it possible to roll back the project to earlier points if it turns out that development took the wrong path.

McVoy's snitchware solution is to post the change logs of the people who don't buy a professional license. These logs include detailed information on how two programs are synchronized, and he figures that this information should be valuable enough for a commercial company to keep secret. They might say, "Moved auction control structure to Bob's version from Caroline's version. Moved new PostScript graphics engine to Caroline's version from Bob's."

McVoy says, "If you're Sun or Boeing, you don't want the Internet to be posting a message like 'I just added the bomb bay.' But for the free software guys, not only is that acceptable, but it's desirable. If you're doing open source, what do you have to hide?"

BitKeeper is free for anyone to use, revise, and extend as long as they don't mess with the part that tattles. If you don't care about the world reading your change logs, then it's not much different from the traditional open source license. The user has the same rights to extend, revise, and modify BitKeeper as they do GNU Emacs, with one small exception: you can't disable the snitch feature.

McVoy thinks this is an understandable trade-off. "From the business guys you can extract money. You can hope that they'll pay you. This is an important point I learned consulting at Schwab and Morgan Stanley. They insist that they pay for the software they get. They don't want to pay nothing. I used to think that they were idiots. Now I think they're very smart," he says.

The matter is simple economics, he explains. "They believe that if enough money is going to their supplier, it won't be a total disaster. I call this an insurance model of software."

Companies that pay for the privacy with BitKeeper will also be funding further development. The work won't be done in someone's spare time between exams and the homecoming game. It won't be done between keeping the network running and helping the new secretary learn Microsoft Word. It will be developed by folks who get paid to do the work.

"There's enough money going back to the corporation so it can be supported," McVoy says. "This is the crux of the problem with the open source model. It's possible to abuse the proprietary model, too. They get you in there, they lock you in, and then they rape you. This business of hoping that it will be okay is unacceptable. You need to have a lock. The MIS directors insist you have a lock."

He has a point. Linux is a lot of fun to play with and it is now a very stable OS, but it took a fair number of years to get to this point. Many folks in the free source world like to say things like, "It used to be that the most fun in Linux was just getting it to work." Companies like Morgan Stanley, Schwab, American Airlines, and most others live and die on the quality of their computer systems. They're quite willing to pay money if it helps ensure that things don't go wrong.

McVoy's solution hasn't rubbed everyone the right way. The Open Source Initiative doesn't include his snitchware license in a list of acceptable solutions. "The consensus of the license police is that my license is NOT open source," he says. "The consensus of my lawyer is that it is. But I don't call it open source anymore."

He's going his own way. "I made my own determination of what people value in the OS community: they have to be able to get the source, modify the source, and redistribute the source for no fee. All of the other crap is yeah, yeah whatever," he says.

"The problem with the GPL is the GPL has an ax to grind, and in order to grind that ax it takes away all of the rights of the person who wrote the code. It serves the need of everyone in the community except the person who wrote it."

McVoy has also considered a number of other alternatives. Instead of taking away something that the free software folks don't value, he considered putting in something that the businesses would pay to get rid of. The product could show ads it downloaded from a central location. This solution is already well known on the Internet, where companies give away e-mail, searching solutions, directories, and tons of information in order to sell ads. This solution, however, tends to wreck the usability of the software. Eudora, the popular e-mail program, is distributed with this option.

McVoy also considered finding a way to charge for changes and support to BitKeeper. "The Cygnus model isn't working well because it turns them into a contracting shop. That means you actually have to do something for every hour of work."

To him, writing software and charging for each version can generate money without work--that is, without doing further work. The support house has to have someone answering the phone every moment. A company that is selling shrink-wrapped software can collect money as people buy new copies. McVoy doesn't want this cash to spend tipping bartenders on cruise ships, although he doesn't rule it out. He wants the capital to reinvest in other neat ideas. He wants to have some cash coming in so he can start up development teams looking at new and bigger projects.

The Cygnus model is too constraining for him. He argues that a company relying on support contracts must look for a customer to fund each project. Cygnus, for instance, had to convince Intel that they could do a good job porting the GCC to the i960. They found few people interested in general support of GNU, so they ended up concentrating on GCC.

McVoy argues that it's the engineers who come up with the dreams first. The customers are often more conservative and less able to see how some new tool or piece of software could be really useful. Someone needs to hole up in a garage for a bit to create a convincing demonstration of the idea. Funding a dream takes capital.

To him, the absence of money in the free software world can be a real limitation because money is a way to store value. It's not just about affording a new Range Rover and balsamic vinegars that cost more than cocaine by weight. Money can be a nice way to store up effort and transport it across time. Someone can work like a dog for a six months, turn out a great product, and sell it for a pile of cash. Ten years later, the cash can be spent on something else. The work is effectively stored for the future.

Of course, this vision isn't exactly true. Cygnus has managed to charge enough for their contracts to fund the development of extra tools. Adding new features and rolling them out into the general distribution of some GNU tool is part of the job that the Cygnus team took on for themselves. These new features also mean that the users need more support. On one level, it's not much different from a traditional software development cycle. Cygnus is doing its work by subscription while a traditional house is creating its new features on spec.

In fact, Cygnus did so well over such a long period of time that it found it could raise capital. "Once Cygnus had a track record of making money and delivering on time, investors wanted a piece of it," says Gilmore.

Red Hat has managed to sell enough CD-ROM disks to fund the development of new projects. They've created a good selection of installation tools that make it relatively easy for people to use Linux. They also help pay salaries for people like Alan Cox who contribute a great deal to the evolution of the kernel. They do all of this while others are free to copy their distribution disks verbatim.

McVoy doesn't argue with these facts, but feels that they're just a temporary occurrence. The huge growth of interest in Linux means that many new folks are exploring the operating system. There's a great demand for the hand-holding and packaging that Red Hat offers. In time, though, everyone will figure out how to use the product and the revenue stream should disappear as competition drives out the ability to charge $50 for each disk.

Of course, the folks at Cygnus or Red Hat might not disagree with McVoy either. They know it's a competitive world and they figure that their only choice is to remain competitive by finding something that people will want to pay for. They've done it in the past and they should probably be able to do it in the future. There are always new features.