Fog Creek Software
Discussion Board




Cross-platform .NET: What's in it for Microsoft?

When they released the .NET and C# specifications, they must have known that others would try to implement it on non-Windows operating systems.

Do they see some benefit from having a cross-platform .NET, where developers can take code compiled in Windows and deploy it on Linux or Mac? Maybe they aren't exactly thrilled about the cross-platform capability, but they saw it as a way of getting a piece of the cross-platform pie that is now dominated by Java?

Or will they continue their monopolist obsessions and use litigation and obfuscation to squash competing implementations and keep .NET locked into Windows?

T. Norman
Thursday, July 08, 2004

I understood that from MS' perspective, the major point of .Net was to make apps independant from the underlying hardware, thus making it even easier for MS to support other platforms and having more power over Intel.

As for the Net framework being rewritten in OSS, it'll be interesting to see if MS resorts to its patents to put an end to it.

Fred
Thursday, July 08, 2004

Cross platform for Microsoft includes 64-bit Windows, like Itanium and AMD-64.

The standardization thing is really more of a tweak at the Java folks. I've seen MS marketing material that toot this horn fairly loudly.

The implementation of .NET on other platforms, I honestly think, doesn't bother them. It just means a bigger audience to sell Visual Studio to.

Chris Tavares
Thursday, July 08, 2004

Uh, I think Joel covered this in one of his articles. The VMs and libraries need to run completely on as many types of commodized systems as possible--if necessary on proprietary systems too. It helps to sell Visual Studio .NET and MSDN subscriptions and Windows and all their enterprise stuff.

Li-fan Chen
Thursday, July 08, 2004

"Or will they continue their monopolist obsessions and use litigation and obfuscation to squash competing implementations and keep .NET locked into Windows?"

No, tell us how you *really* feel.

Philo

Philo
Thursday, July 08, 2004

Consider this -- while HTML was threatening to become the new ubiquitous API, .NET slides in and *instead* becomes the new ubiquitous API.

As for keeping Microsoft relevant, there are always things that can be patented, like NTFS or XAML.

Alex
Thursday, July 08, 2004

"Do they see some benefit from having a cross-platform .NET, where developers can take code compiled in Windows and deploy it on Linux or Mac?"

There's a huge advantage for Microsoft - it competitively allows someone to check off "cross-platform" when considering .NET versus Java (I know I've done it in advocating .NET over Java - "And there's controlled lock-in as you can also run this on Linux with mono...."), yet at the same time I can pretty much guarantee you that the superior platform is Microsoft - there's a good chance it's faster, and it obviously is more feature rich. Win win.

Dennis Forbes
Thursday, July 08, 2004

I think in general MS is responding to pressure from the community to be "standards-compliant."  Working with the ECMA to get a thumbs up when you go off and create a new language certainly gives you a big seal of approval on that front.

But basically, why should they care if .NET gets ported?  A really huge chunk of the functionality in the libraries is still provided by the Win32 API, so while you can port the .NET runtime and compilers, that doesn't by default give you compile-once-run-anywhere.  You're still tied to Windows.

Of course, there is Wine, but I've never heard of a critical business app relying on such a technology.

Joe
Thursday, July 08, 2004

"But basically, why should they care if .NET gets ported?  A really huge chunk of the functionality in the libraries is still provided by the Win32 API, so while you can port the .NET runtime and compilers, that doesn't by default give you compile-once-run-anywhere.  You're still tied to Windows."

Or in other words, they're not worried about about .NET on other OS because they don't think it will happen in a fully-compatible way?

T. Norman
Thursday, July 08, 2004

"There's a huge advantage for Microsoft - it competitively allows someone to check off "cross-platform" when considering .NET versus Java"

That's a good reason for Microsoft to SAY it's cross platform, not to actually make it work.

It's like Java saying "write once" and then run anywhere. That is technically true. But there are so many variations just in how the GUI is displayed, that it's far from simple  to simply deploy it on lots of platforms. 

Also, Microsoft won't even let you distribute just PART of .net (i.e., via using a Linker so that your distributable doesn't lug around an extra 40 MB of .net runtime).

I think they're going to find a way to make .net windows-only (for all practical purposes).

And .net is not about making MS money.  I figure there must be about 100 office workers for every sw developer.  So Microsoft Office (at about 1/2 the price of VStudio) is at least 50x as profitable AND it's easier to lock-in a company.

There's more of a network effect with MS Office because there is more inter-company exchange of DOCUMENTS than there is of software code. 

If MS really wanted to make VS popular, they'd have included a static linker and removed the one GLARING disadvantage of VS.net. But, then ANY .net developer could actually make shrinkwrap sw and compete with MS. By giving us .net,  programmers are like sharecroppers. They can develop for intra company apps, but not really for a true shrinkwrap app because distribution is so much more complicated.*


* Yes, a commercial app in .net CAN be done, but it's a pain. I know at least one company that's seeing 6 to 12 month sales delays just waiting for PERMISSION to install the .net runtime for a (I think) 5k to 10k application (it's high powered manufacturing automation software).

How the HELL am I going to get Chevron's IS dept. to give my customer permission to install my little $100 app, when  it takes a year to get a $10k app installed?

</Rant>

Mr. Analogy
Thursday, July 08, 2004

"And .net is not about making MS money.  I figure there must be about 100 office workers for every sw developer.  So Microsoft Office (at about 1/2 the price of VStudio) is at least 50x as profitable AND it's easier to lock-in a company."

Microsoft development tools have never been about making Microsoft money directly. They're about encouraging software developers to develop for the Windows platform, which in turn encourages users (and organizations) to run the Windows platform because that's where all the great software is. This is rudimentary, very well trodden, material so I'm not going to go any further with it.

Dennis Forbes
Thursday, July 08, 2004

"Microsoft development tools have never been about making Microsoft money directly."

Yes they have been, otherwise they'd make VS.NET freely downloadable.  They'd get more developers producing .NET software if VS.NET was free.

NoName
Thursday, July 08, 2004

"They'd get more developers producing .NET software if VS.NET was free."

Well currently the tools are virtually "free" - the token price of them is nothing if you really have a real product or need.

Having said that, even though Microsoft wants lots of developers, they do have to provide some marginal barrier to entry to ensure that the platform isn't overrun with such noise that it's hard to find the half decent.

Dennis Forbes
Thursday, July 08, 2004

Two things:

1) They are making VS free in a sense. The new express line will give you access to a subset of VS with a language and database for free. I downloaded it an was quite impressed with how much it really does (i.e. it isn't too much of a subset).

2) Let me lay out how I see things:
Two things:
- Longhorn uses new UI (Avalon)
- XAML is a new language to build Avalon UIs
- Now consider that a Avalon style UI is already on the market with Macintosh OS X (Aqua I believe is its name).

Concidering that Microsoft both develops for and has a stake in Apple, it isn't hard to see where they would use XAML as a tool to go cross-platform with OS X.

I'm not suggesting that this was thier primary motive (or even that they have made a decision to do it). But were I to guess what will happen, Microsoft will release a .NET version of Office (they have suggested this many times in the past) and the Mac Office team will use this as an excuse to get .NET and XAML support working with the Mac (they already have part of this with Rotor anyway)

Marc LaFleur
Thursday, July 08, 2004

I believe that Microsoft doesn't currently see Mono as a threat so it hasn't done anything to stop this project from progressing.

.NET was Microsoft's attempt to slow down the adoption of Java related technologies in the corporate enterprise market space. The upcoming Longhorn related technologies are a different story. I think Microsoft hopes to eventually generate the kind of buzz that Windows 95 received when it was released. In other words, instead of just responding to it's Java competition these technologies are being created to respond to a larger set of competitors.


Thursday, July 08, 2004

Regarding the price of VS.NET. Besides releasing the Express Editions they more ore less throw away the normal version of VS.NET too. If you're a student or academic, you surely have it (I've got two DVD editions of VS.NET Enterpise Architect) and they give it away at promotion seminars etc (got one from there too).

Henrik Jernevad
Friday, July 09, 2004

The whole point of a .Net VM is to allow Microsoft to swap out the underlying things like hardware and core OS functionality.  It lets you write an Compact .Net app that also works on Desktop Windows without a recompile.  (Try *that* with earlier MS tools.)  The closest you could come to that before was to use VB and make sure you compile to P-Code, and then the non-Intel OS had to have the VB runtime for it.  I'm not even completely sure how well that worked.

Anyway, there are some things in the .Net runtime that are going to be tough to replicate, like programmatically manipulating type libraries.  I don't believe the Wine project has that down pat just yet.  You can do it on Windows with preexisting libraries, but those don't exist on systems without an implementation of COM.  (MS pulled the Mac COM SDK a long time ago, and I haven't seen one for System X.)

Aaron F Stanton
Friday, July 09, 2004

> They'd get more developers producing .NET software if
> VS.NET was free.

Joel commented on this in one of his articles by suggesting that the only reason MS doesn't do this is that they'd get a backlash of anti-competition lawsuits...who would by Borland's C#Builder when they could get VS.Net for free?

Joe
Friday, July 09, 2004

*  Recent Topics

*  Fog Creek Home