Gates' grand design

Microsoft's chairman talks about his company's XP strategy, the open-source furor, and the building momentum behind Web services.

Mike Ricciuti Staff writer, CNET News
Mike Ricciuti joined CNET in 1996. He is now CNET News' Boston-based executive editor and east coast bureau chief, serving as department editor for business technology and software covered by CNET News, Reviews, and Download.com. E-mail Mike.
Mike Ricciuti
12 min read
Gates' grand design
By Mike Ricciuti
Staff Writer, CNET News.com
June 20, 2001, 4:00 a.m. PT

An appeals court will soon rule whether Microsoft is an illegal monopoly that should be split in two. But that has not sidetracked Chairman Bill Gates from forging ahead with a plan to dominate the market for Web services.

Gates, who is also Microsoft's chief software architect, has ceded much of the day-to-day management of the company to Chief Executive Steve Ballmer. But it's clear that he still sets Microsoft's agenda.

At a Microsoft-sponsored conference for software developers this week in Atlanta, Gates drummed up support for the company's Web services technologies, .Net and HailStorm. The two initiatives have drawn fire from privacy advocates who contend the plans will make Microsoft the keeper of vast amounts of consumers' personal data.

In an interview with CNET News.com, Gates explained why he thinks HailStorm is worth paying for, why Microsoft has attacked open-source development, and where the company is spending its $5 billion-per-year research and development budget.

Q: What's your reaction to critics who say Microsoft is essentially repeating the bundling stance that it took with the Internet Explorer browser and Windows by including instant messaging, Media Player, and other technologies within Windows XP?
A: A quick answer to that: Our customers do want us to make Windows richer and more reliable. So Microsoft's commitment is to add features that customers want. If we can't add any features, then what is Windows? I mean, there were guys who sold TCP/IP stacks for $100. Should we not have put TCP/IP stacks into Windows? (TCP/IP, or Transmission Control Protocol and Internet Protocol, were developed by the U.S. military to allow computers to talk to each other over long-distance networks.)

The fact is, Windows for consumers has got to evolve. Anybody else can run their stuff on top of Windows. You don't need permission from Microsoft; you don't pay Microsoft money. Windows is the most documented operating system that has ever been. You can go to any bookstore and find books from us and others about every aspect of the thing. So if somebody has a great thing they want to run on top of Windows, that's super.

We believe there should be free software and commercial software; there should be a rich ecosystem that works around that. One of the things in Windows we have supported is real-time support. You can say, "Oh, my buddy can help with this, and they can take control and change things." Well, how can you do that? You have to have real-time plumbing in the operating system. It should be built into every copy of Windows. But that doesn't preclude anyone else from doing whatever real-time or IM (instant messaging) stuff they want to do on Windows.

So when someone says to you, "Oh, they added a new feature to Windows," you have to say to yourself, "Are they literally saying Microsoft can't add any new features to Windows?" And how can that be a good thing? What are we supposed to do with our $5 billion-a-year R&D budget?

Has AOL ever added any new features to their products? They have dominant market share of all their stuff. They actually added features? Unbelievable! Who are these people adding features? What's going on here? Well, what's going on is that the PC industry is the most competitive industry that has ever been in terms of software availability and advances. I think that there is some merit to adding features.

How does IM compare to the Web browser in terms of watershed technologies?
Every application runs on a PC. You could imagine wanting to connect up. So when you are running customer service or Microsoft Word or a game, you want to connect to other people. So think of instant messaging, the application, as showing off these real-time APIs (application programming interfaces--functions that programs can use to make an operating system perform various tasks).

So as far as the importance of messaging--is it as important as the browser?
Well, don't say the browser. Real time is more like HTML. Right now, your PC is an asynchronous communications device through e-mail. And except for teenagers, it's not a real-time communications device. Until you get video and audio and rich applications to show people photos and browsing together to see things, the PC is not a communications device. But the future of the PC is to be a communications device. We have had this feature in Windows called NetMeeting, but it was obscure enough...and various things were hard about it. We are taking NetMeeting and making it mainstream with Windows XP.

Linux and open source

Can you clarify Microsoft's position on Linux and open source? There has been a lot written about it in the last week. What's Microsoft's objection to open source and Linux?
I don't want to dwell on this. Craig Mundie (Microsoft's senior vice president of advanced strategies) is the expert. There is this whole history that free software is developed often in the academic environment, where basically government money funded that work. And then commercial work is done. TCP/IP came out of the university environment. Now, 90 percent of the implementations you buy are commercially tuned and supported. And then the companies that do that commercial work pay taxes, create jobs, so the government keeps funding more research, primarily in universities. So that ecosystem where you have free software and commercial software, and customers always get to decide which they use, that's a very important and healthy ecosystem.

How does the GPL (GNU General Public License) factor in?
There is a part of open source called GPL that breaks that cycle--that is, it makes it impossible for a commercial company to use any of that work or build on any of that work. So what you saw with TCP/IP or (e-mail technology) Sendmail or the browser could never happen. We believe there should be free software and commercial software; there should be a rich ecosystem that works around that. There are people who believe that commercial software should not exist at all--that there should be no jobs or taxes around commercial software at all. And that's a small group, but the GPL was created with that goal in mind.

And so people should understand the GPL. When people say open source they often mean the GPL. When someone asks a question, "So what about open source?" do they mean open source or do they mean the GPL? We believe in that ecosystem and having the mix of free and commercial software.

What's your position on publishing source code?
We have no objection to people publishing source codes. We do that ourselves under certain terms. Some of our source codes are out there and very available, like Windows CE. Some generally require a license, like Windows itself. We have no objection to free software, which has been around forever. But we do think there are problems for commercial users relative to the GPL, and we are just making sure people understand the GPL.

The whole theme of what we are doing with developers is XML Web services. Unfortunately, that has been misconstrued in many ways. It's a topic that you can leap on and say, "Microsoft doesn't make free software." Hey, we have free software; the world will always have free software. I mean, if you characterize it that way, that's not right. But if you say to people, "Do you understand the GPL?" And they'll say, "Huh?" And they're pretty stunned when the Pac-Man-like nature of it is described to them.

Does Microsoft plan to make more of its source code available to customers? You already do that with Windows; do you plan to expand that in any way to the applications?
We keep making it easier and easier, and anything people want source code for, we'll figure out a way to get it to them. It's kind of a strange thing in a way because most commercial customers don't want to recompile kernels or things like that. But they want to be able to know that things can be supported.

We have some very cool tools now where we don't have to ship you the source. You can debug online, through the Internet. So it means you don't have to get a bunch of CDs. If you really want it for debugging and patching things, we can do that through the Internet. That's a real breakthrough in terms of simple source access. I don't know that anyone has ever asked for the source code for Word. If they did, we would give it to them. But it's not a typical request.

How can you be sure that people will want and pay for Web services? The HailStorm model is based on consumers paying for these services.
Well, some will be free, and some will be for pay. The marketplace will decide. When you describe to people that every file on their machine will be backed up--photos of their kids, business documents, e-mail--if your machine is taken or breaks, those will be available to you.

Is that something you would pay a small fee to have available?
We're hopeful that will be valuable. If you say to someone, "If you work on multiple PCs, all of your information will automatically show up on them," that's a valuable thing. But some level of this stuff--like Hotmail and Passport--we'll have to make free. And the stuff that's not free, we'll have to make it very cheap and easy to sign up for. Because Microsoft has always been extremely focused on high volume, low price, we're not interested in things that we only sell to hundreds of thousands of people. So we have to come up with a value proposition and simplicity that makes this attractive to millions and millions of people.

HailStorm and Web services

What's in HailStorm that will interest businesses?
HailStorm is about individual-oriented things, not consumer-oriented. It's about your profile. Take the idea of you being interrupted during this interview. What's important enough that your cell phone should ring and interrupt you? That is personal to you. It's not device-specific. It's across many devices. It's related to your business life as well.

So HailStorm embraces the idea that information works on your behalf?
It makes sure communications get unified. You get notified when someone is calling you for a flight change, or a customer who is unhappy, or your boss wants to get a hold of you--that kind of thing is in HailStorm. And there is a broader (business-to-business) effort--a huge B2B effort--about schemas for supplier enablement, this idea of suppliers being delivered XML (Extensible Markup Language) information, and all they need is Office as a rich visualization tool. They don't have to change their (information technology) software or anything complicated. (XML is a popular Web standard by which businesses can easily exchange data between employees, customers, partners and suppliers.)

Where is most of your XML work being directed?
Our XML work is extremely relevant to businesses. In fact, the majority of the XML work we are doing relates to businesses and B2B. HailStorm, in particular, because it is oriented around the individual, has a large piece that is consumer-oriented. Sun believes in expensive hardware. They think that software R&D shouldn't be funded; they think the idea of empowering knowledge workers is a bad idea. But this idea of state management and communications profiles--that is interesting to people inside corporations. With HailStorm inside your company, instead of looking at Passport for authentication, it will connect to Active Directory. So the only time you need to go out to the Internet within a business is when you want to go between businesses.

As described by Microsoft, HailStorm has to be hosted on servers globally for the system to work. How do you plan to do that and ensure security?
We are doing a lot. All of those things are being done with other people. The very protocols of the Internet will evolve for security and quality of service and richer caching. And so we are out talking with the Ciscos and the Akamais and Intel--you name it--for that level of stuff. They want to evolve their products, too, to work with Web services. So they are very anxious to talk to us to support broad industry developments and our services, in particular. In the XML Web services world, the idea of having properties that let caching and security and quality of service work in better ways is fairly natural because these XML payloads have no properties.

What about consulting firms? Which ones are working with Microsoft on .Net and HailStorm?
The whole theme of what we are doing with developers is XML Web services. Microsoft has a massive program to focus on Accenture and some other systems-integrator guys. We have a broad training program with Accenture. When people go into those training classes, it's all XML Web services. I mean, the showcase product for all developers is Visual Studio.Net. That is the Microsoft strategy; we have bet our future on that. The demand for these consultants wanting to learn about our Web services tools is super high. It's a phenomenal thing. It's more of the pioneering customers that know they need Web services. But it's clear the whole marketplace is coming around to this.

How do you view competitive plans from Sun Microsystems, Hewlett-Packard and IBM in the Web services area?
With HP, we are very complementary. There is a lot of ongoing work to make sure that the work we do and the work they do, that customers get the combined benefit...In the case of IBM, every day you can write an article about IBM and Microsoft this or that, because we work on so many things and we compete on so many things. IBM is the biggest company in the computer industry by most measures. We are the biggest by just the volume of our model, (which) means our products are out there in big numbers.

So the work we do together is pretty important. We are very pleased that IBM is serious about XML Web services. If you look at standards efforts like SOAP (Simple Object Access Protocol) and UDDI (Universal Description, Discovery and Integration), IBM has been a very good partner. When it comes to implementing the platform, they go and do WebSphere and we go and do .Net.

It's like it has been on everything. In some cases they actually license our stuff, like they sell Windows-based servers. And they are taking their hardware technology and doing good Windows-based portables. XML is an industrywide standard that, if people implement properly, people get the highest level of interoperability ever seen between different platforms. But commercial companies implement these platforms. And IBM has a lot of disparate pieces, but they all kind of go under the WebSphere brand. In our case it's all .Net.

And what about Sun?
Sun is hard to characterize because they make all of their money selling expensive hardware, and they are an industry participant in some of the things as well. We support the Java language. But because of what (Sun has) done to be proprietary, they have not let us use their runtime. In fact, they prevent us from using it. But we have still found ways to support Java.

Sun's pretty much almost about as pure as you can get as a competitor (to Microsoft). Sun believes in expensive hardware. They think that software R&D shouldn't be funded; they think the idea of empowering knowledge workers is a bad idea.

What's Microsoft's stance on Java these days?
Given that Sun has not turned Java over to an industry standards process, Microsoft has really done a great job supporting it as a language in a very rich way. We have the best Java virtual machine (a critical layer of software that enables a program written in the Java programming language to run on a specific computer); we still ship that. And Java is one of the languages in the Visual Studio framework. But the idea that any one language will become the only language has been thoroughly discredited. Java will be one of the languages people care about. That's firmly established.

Visual Basic has changed quite a bit in the 10 years since it was introduced. What do you think the ramp-up time will be for developers, and how quickly will they get used to the new Web services model?
Well, the biggest change in Basic was going from character mode to graphical applications. Visual Basic made that approachable. If you look at the C (programming language) world, it was very hard to make the transition from character-mode to graphical-mode applications because they had to get more down at the raw level. The only way we finally made it tractable--when you saw a graphical application it wasn't a miracle that some genius had written--it was called Microsoft Foundation Classes. And most Windows apps written in C today use MFC.

Well, with the move to XML we have the framework--the modern-era equivalent of the MFC in the .Net framework--that we have defined so that it won't be hard to move up to the XML world. So there is a learning curve around XML, but the tool piece is awfully straightforward. For the people who understand XML, it's not a big transition.