A Blog of Very Little Brain

'What does Crustimoney Proseedcake mean?' said Pooh. 'For I am a Bear of Very Little Brain, and long words Bother me.'

Painful arguments

leave a comment »

A brief tip of the hat, read a post in Eric Gunnerson’s about a post in Jeroen’s saying that Microsoft Visual Studio should be a part of Windows.
While I wouldn’t really care about this either way, the first comment said that the reason for this being a NGH (Not Gonna Happen) is, among else, “Antitrust cases in the EU”. To this answered the writer “Antitrust cases? Windows is practically the only OS that *doesn’t* come with developer tools out-of-the-box. It’s not like I’m proposing they integrate it in Windows like they did with IE, just that they bundle something that’s otherwise free anyway. Won’t keep an OEM from removing it and installing something else if they see value in that.” To this I said “Ow”, as my head began to throb. It’s not every day that I find an argument as painful as that one.

Windows isn’t the “only OS that doesn’t come with developer tools out-of-the-box”. Ubuntu doesn’t include any developer tools either (although they are immediately available). The question here isn’t what the OS comes with, but what the user can do with those tools. Packaging GCC or other C compilers with your OS allows you to write C code. You can write C code for Linux, UNIX, Windows, whatever. Granted, one would want to use it mostly to write code for the OS they are working with, but still, you have the option. Packaging Microsoft Visual Studio with Windows allows you to write… Windows code. In a Windows-only technology. The application you’ll write will only use Windows GUI components (Windows Forms), will be able to only use Microsoft’s IIS as a web server, MS SQL databases… you get the drift. This is called Lock-in, one of the highest ‘evil’ practices in the world of high-technology.
If you write a GTK code in Ubuntu, you could then run it on SUSE, Red Hat, Slackware, Debian, Gentoo. You could compile Linux itself from the source code, and it would still run. You could port it to Windows, Mac OS, Solaris, you could do whatever you want with it, and it’ll still work. You won’t be able to do that with whatever you’ll write with Visual Studio .NET. And before anyone starts, I know about Mono. I’ll say this once again, Mono, from the theoretical, practical and legal perspectives, is NOT .NET. Packaging Microsoft Visual Studio with Windows is the using the same technique that got Microsoft sued for bullying the market in order to become a monopoly. It’s the same reason Sun sued Microsoft, the same reason Microsoft are forced to pay millions to the EU, and so on and so forth. I may install a Linux distro with X browser, Y media player and Z developers tools. If I want to, I can remove all of them easily, and install others. Try removing Internet Explorer and Windows Media Player from your Windows OS (Actually don’t, unless you know how to format a Hard Drive and re-install the OS, and have no problem with doing that once you finish with removing those components).

“It’s not like I’m proposing they integrate it in Windows like they did with IE, just that they bundle something that’s otherwise free anyway.” Just a reminder, IE’s integration in Windows was explained as “This is done to enhance the OS Internet abilities, and besides, it’s not that we’re getting anything of it, it’s free anyway”. While, behind the scenes, IE used IE-only html/JavaScript tags, which forced web-developers to create IE-Only applications, the “free” browser was placed on the desktop as “The Internet”, making everyone who had Windows use only it for browsing, forcing yet more developers to create IE-only sites, making everyone who used other browsers, or even other OS’s to switch to Internet Explorer and Windows, and so on and so forth. Bundling Visual Studio with windows will guarantee a dominance of .NET (and Visual Basic.NET) applications which will force many to convert to Microsoft’s technology and tools, which will result in yet more .NET apps, you get the deal. As Microsoft love to say in their “Get the FUD” campaign and the TCO argument (Total Cost of Ownership), the fact that something is free of charge, doesn’t mean it doesn’t have a price.

“Won’t keep an OEM from removing it and installing something else if they see value in that”.
I never liked this kind of ‘logic’, it’s flawed at the core. You can’t excuse your wrong-doings by pointing to the actions, or failure to act of others. You don’t say “I’ll drive 70 MPH in the middle of the city. It’s not like anyone will cross the road without looking”. And besides, saying that the middlemen will become a “market filtering system” is nice, but not realistic. OEM that specialise in selling computers to devleopers and software companies will probably remove it. But then again, those Dev companies will not have much use for the free “express” version of Visual Studio. They’ll either purchase some other IDE, or purchase the “professional” version of Visual Studio. The problem is with computers sold to hobbyist and other people. The OEM is more concerned about which media player, CD software etc. they bundle, not with what developer tools are installed. I doubt Microsoft used that argument when they faced Anti-Trust charges in the US and Europe.

All in all, I’m all for adding developer tools to OS. It will allow those who are interested in software development a fast access to dev tools (the most common question in any programming forum is usually “where can I get a compiler/IDE for this”). However, this should be, first and foremost, something neutral. C++, Perl, I don’t care, but not .NET, and definitely not Visual Studio.

(And as a side note, if the thought of suggesting that Visual Studio supports other programming languages in the form of J++/J#, Visual C++ and others, crossed anyone’s mind, may I remind you that I’m not only able to withstand pain, I’m also able to inflict it. Consider it your warning.)

Written by Erez

Friday, August 25, 2006 at 8:50

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: