What is .NET?Sunday, February 4, 2001 by Dave Winer. Good morning sports fans!I don't know why I'm saying that these days, but technology is seeming more like a sport, I guess that's nothing new if you read the industry pubs. Everything's a battle to the death, a call to arms, only one victor will emerge. Who gets hurt by this? seems the question I always get asked. I always answer no one. Get real. This is about selling computers and advertising, not about anything really new. No one gets hurt by nothing. Anyway, tomorrow, apparently Sun will announce their threatening answer to Microsoft's .NET. I found out about this in an email from a Microsoft public relations person who works at Waggener-Edstrom. The email was an angry powerless needling whiny flamer, of the sort I'd expect to read on SlashDot, not coming from the mouthpiece of the largest software company in the world. What's the big deal. Sun endorsed SOAP. Either their Dot-Net-Equivalent is compatible with SOAP or it's meaningless. Therefore I conclude it will include SOAP support. Seems like a time to anticipate celebration, not to fan the flames. What is .NET?In the meantime, I'm still learning what .NET is. I've never seen it all brought together in one place, without hyperbole, or vague dumbed-down marketing-speak designed for reporters, or the other extreme, agonizing detail designed for Microsoft developers. What about the inbetween description, for people with minds who are willing to read a sentence two or three times, and think about, even ponder, what's being said? So of course I started a website to gather opinions on what .NET is. I know a bit about it so I can kick off the discussion right here. I think .NET is a development and runtime environment that unifies the programming model for most of Microsoft's language products and can host other languages. All of Microsoft's disparate environments merge into one. This is like a camera manufacturer changing the size and shape of its lens mount. A lot of retooling will be going on in the next few years. And that's a very unusual thing for Microsoft, whose operating system still runs programs written in the early 80s (I know, I've tried, it works). The masters of continuity take a discontinuous step. The .NET editor and debugger will be better because by concentrating all their energy on one system they can make a better one. Further, instead of having to propogate features across a lot of different code bases, they can do it once, and theoretically do it faster. These are all important things, but they are probably most important if you work at Microsoft or are a developer in their community. Now, presumably Microsoft itself will adopt the .NET approach, and we'll see versions of Word, PowerPoint, Excel, etc, with a more uniform feature set and user interface. Perhaps the browser will become more deeply integrated with the system -- I hope not because I don't want to be sucked into using Word, PowerPoint and Excel, but there's a chance that they want me to. (A pretty good one I imagine, but I will cheerfully resist. I don't want any talking paperclips on my desktop thank you.) The big featureNow all that is nice and perhaps a bit boring, but the big feature of .NET is that it offers application integration with the standards of the Internet in the same way previous Microsoft environments (ie Windows) offered local area integration on the same machine (COM) or across Microsoft networks (DCOM). You know what I'm talking about -- it's SOAP. And today I can explain it in a whole new way. It's a like a bathtub with its plug pulled and connected to a shower head on the floor below, owned by your competitor. To keep the tub full you have to keep adding water, otherwise it will empty out. And even worse, when you add water to your bathtub, you know in advance that it's going to flow into your competitors! Hah. We have a choice, where do you want to go today? Maybe I want to go where the water is warmer, or the tub deeper, or whatever. SOAP opens the underside of application environments, it pulls the lock-in plug. Think of it as the advancement of the Internet into the architecture of applications, beyond the browser, now it makes no difference if your app is written Java or Perl or runs on Unix or Mac. This was the promise of Java in a way, but the force has been removed. You can use whatever OS you like and not be captured by Sun. This is good if you, like I, have a big investment in other langauges and/or environments, of if you're independent and don't want to be captured (been there done that). Microsoft keeps fighting the Java war, probably mostly for the benefit of the press. The war over Java was over the day IBM made SOAP run in Java. That created a fundamental change, Sun's lock-in was over. Java was unplugged. I could integrate Java bits into my applications without porting the whole mess to Java. This of course is what Sun wanted me to do, so instead of talking paper clips I could feel imprisoned by a dancing penguin. That it was so easy to add SOAP to Java, should be a clue to any future lock-in wannabe. It's not generally very hard to explode the lock-in bubble, and you can be sure from this point on, that it's going to happen. Better to disclaim any desire for lock-in. And it would be better if the press looked for this too, save us all a bunch of time waiting for the loop to iterate one more time. So to Microsoft and Sun, and the reporters who cover them (feel free to quote me), the war was over a long time ago. When HTTP and HTML and then XML swept through our industry, they took out the opportunity for lock-in. The story is obsolete. That the current manifestation of this undermining, SOAP, would be covered as just another battle between the titans is a big joke. They're both undermined. I'd used to think that Microsoft gets this, but I wonder about that now. JusticeIt's been suggested elsewhere that .NET is an answer to Joel Klein, who now works for Napster partner Bertelsmann, btw. By moving the line between the operating system and applications, Microsoft hopes to confuse the judicial process so thoroughly that they force the split in the wrong place. I don't know about this theory, but I am confused about .NET, so why wouldn't a judge be confused too? Anyway, I solicit your opinions. Send via email or post them here: Let's figure out what it is. Dave Winer |