I've been thrown in the middle of a few open source discussions in the last couple of weeks and I always find the open source arguments that are thrown out immature and lacking any real depth or thought. Most of the argument come from Microsoft hatred for the heck of it and the most common 'alternate' reason given is security.

As has been noted in a number of independent studies, Windows is no less secure (in fact there are fewer security threats per incident than Linux and other Unix platforms) that other choices bring. It's the mere popularity of Windows that makes it the big target. But if you go that route, then fragmenting or even better reducing the market (no computers, no network - no security threats. Sounds GREAT).

The other coin of security that with Open Source there's actually a lot MORE potential to get unsafe code into a distribution. Since there are many people working on the tools in an independent manner there's much more of a chance of somebody planting some security hack and burying it in such a way that it'd be difficult to test for or find. Further, distribution of this code, if modified gets easily out of control. Nothing is stopping somebody from creating a paid for Linux distribution under a commercial label that is little more than a trojan horse waiting to be activated. I suspect this hasn't happened yet because the community is yet too small. But as there is more and more fragmentation this can become a much more likely scenario.

Of course the mere ability to review source code also introduces risks. If you want to exploit a system, knowing how it runs can help a hacker find weaknesses and attack those. Although I personally (for the comparably custom things I work on) am not a big fan of locking away source code, I think for an underlying operating system and other big ticket desktop software I don't see a reason that anybody needs to have access to source code. The fewer people have access to the source, the fewer options there are for repackaging a full distribution.

As to source code - I still marvel at the concept of many developers proudly stating that THEY can get at the source code and change it. Please give me a break - sure there are a very limited number of developers who a) can understand the code at this level and b) know how to do something useful with it and c) are involved in any way that their changes will actually be incorporated in future 'official' builds. I can just see the part-time coder digging into a 5 million line code project and trying to fix the proverbial needle in the haystack. Isn't there something better you could be doing with your time? And isn't an official distribution really not that much different than a major commercial software release? How much use is the source code for Open Office if version 22.x comes out and the changes you made are obliterated by a new release that renders your custom/personal changes useless?

And let's not forget why the Microsoft platform is popular. It's not necessarily because of best of breed, but because Microsoft understands that the platform is not an end in itself. Extensibility - with APIs, then COM and .Net in the future - is what allows developers to extend the platform itself and build flexibile and integrated solutions that go from the operating system (think WMI, ADSI etc.), to productivity software (Office Automation) to development tools (VS.Net Automation) to tight integration of most available system components (ever try to build an embedded HTML editor with Mozilla at a level lower than C++ - good luck!). Making it easy for developers to extend the platform is the biggest reason Windows has been such a success. Comparing development tools on Windows and other platforms (Java in general) .

Certainly there's preferences. Everybody likes to do things differently, but coming from a background in Windows development it's hard for me to see the big massive difference and 'betterness' of the Open Source platform. Sure it all sounds nice on the surface, but below it all the issues of having a complex operating system, and having to develop for it are very similar.