> So, I'm eager to leave that work to a vendor that specializes in such things, and for such a vendor all I could see was Microsoft. So, right, it sounds like I want to pay money for my operating system, middle ware, tools, etc., and in a sense that is correct. I.e., if something goes wrong, then I want an 'account executive' to call and ask for help.

Novell will sell you SuSE with support if that's what you want. No doubt there are other options. You're right that MS are probably the biggest, most obvious OS vendor that sell straight to customers.

> Sure, Linux and Unix have a long and powerful background back through Sun, Silicon Graphics, BSD, AT&T, etc. But for my time on x86 I went from PC/DOS to OS/2 to Windows XP, and along that path, each year, I thought that the OS I was using was likely the most suitable for me on x86. E.g., instead of PC/DOS or OS/2 on x86, I was not going to buy a Sun or SGI workstation at several times higher price.

Modern computers (even desktop/laptop) are much more similar to those workstations than to DOS-era consumer PCs.

> As of now, as a desktop OS on x86, 32 and/or 64 bit addressing, as far as I can tell, XP and/or Windows 7 look okay with Linux and OSS without huge advantages. Where am I going wrong here?

There's the customizability side. You say that you're not in the business of tools, but if you're in the business of making something that almost inherently becomes the business of making tools, because existing tools never fit exactly to your needs. Every serious programmer I've known customizes their environment, and linux makes this easier.

But you're right that most of the value in linux comes from using it on the server. Once you've made the decision to run linux on the server it makes a lot of sense to run the same thing on your desktop.

> (4) There are a lot of developers writing for Microsoft, and just what the 'platform' is is fairly clear, e.g., the .NET Framework of some version 2, 3, 4, 4.5 on Windows XP, 7, or Server. So there is some definiteness to the platform. On Linux I would have to learn about the versions of the different 'distributions'. I don't even know what would be involved.

I think this is a red herring. Pick a reasonably popular linux platform at random, or pick a hosting service and go with their default / what they recommend. The fact that you've got a choice shouldn't be a downside.

> Due to the definiteness and the large number of developers, on the Internet it should be relatively easy to get answer to questions for the Windows platform. Is this roughly correct?

IME no. Open source platforms have a much stronger culture of mailing lists, IRC channels etc. because it's how the platforms themselves were developed. While there are probably more developers "out there" who know how to solve a particular problem in .net, the information is probably locked away in their heads or on internal-corporation servers. You've got better odds of finding someone to talk to on IRC or getting a question answered on StackOverflow with an OSS platform.

> E.g., for serious questions, maybe commonly the solutions is just to read the code. Is this roughly correct?

I won't say it doesn't happen, but my experience is that you've got a better chance of finding a high-quality, well-documented library with OSS - I think for the same reasons. There's a thriving community of open-source libraries for java/python/ruby/etc., and - very importantly - a global index for each of them, so it's easy to search for a library for your problem, and the popular ones tend to be well-documented. Whereas for .net there doesn't seem to be that culture.

If you're talking about the languages themselves, again people seem much more willing to publish their own tutorials/guides when we're talking about an open source language. And IMO the official documentation for e.g. python or ruby is much clearer than MS'.

> But in the future I anticipate questions, from me and/or my staff (if my site is successful enough for me to have staff), and then I will want the option of getting high quality paid support for serious questions. So, maybe my site is crashing; I don't know why; and I want to call for serious help. I suspect that I can get such help from Microsoft (even if I have to pay) but am unsure just what the situation is for Linux and OSS where, e.g., where's the company with account executives?

Shrug. There are any number of consultancies. My experience is that the free support on the internet available for OSS is vastly superior to paid support. In fact, the free support available on the internet even for proprietary technologies is vastly superior to the paid support. But if this is what matters to you then you're making the correct choice.

> as far as I can tell C# offers little or nothing more but has just a different flavor of syntactic sugar, one related to C and that I don't like. I believe that, compared with C#, Visual Basic .NET is easier to read on the page, is less prone to bugs due to being more verbose, and will be easier to teach to new staff. Where am I going wrong?

VB.NET suffers somewhat from the poor reputation of previous variants; it is probably not as bad as all that. That said, more verbose code tends to be more prone to bugs, not less, and I imagine it's a less structured language. Less structure makes it easier to start a program but harder to maintain and develop it - for a maintainable program you need a language that enforces separation between different layers and makes it very clear which parts of the program can and can't affect other parts of the program. Whereas in the early stages it's very convenient if you can just change everything from everywhere.

At a meta level, you're presumably not going to be writing all the code for long (at least if it's successful), and it sounds like you're not a programming expert yourself. So I think unless you're going to put a lot of effort into learning technical skills (which is probably not the best use of your time), you should probably accept that highly skilled programmers have particular preferences even if you don't understand them yourself (ideally you should find a CTO/cofounder you trust to make technical decisions, and then, well, trust them to make technical decisions). Hopefully you can at least see the value in using a language for which it is easy to hire skilled programmers; IMO VB.NET is not such a language, though you should of course use your own judgement.

> For the world of Linux and OSS, I don't know what programming language I would use that I would like as well as Visual Basic .NET. What would the options be?

Ruby or Python. They're pretty similar, so don't sweat the decision too much, it doesn't make much difference which you pick.

> From some of what I've seen of high end server farms on the Microsoft platform, the automation of system installation, configuration, monitoring, and management is excellent, but my view has been only from, say, 1000 feet up. If this is so, then I'm impressed. Where am I going wrong?

Some of MS' reputation is legacy, but what's impressive to one person may not be impressive to another. How easy would it be under this stack to e.g. automatically bring up another server whenever load rose above a certain threshold?

Also, how well do the server automation tools interact with the other tools programmers like to use? Can I check my server automation into the same VCS I use for my code? Can I use the same toolkit to monitor the server itself and my application? Can I write my server definitions in the same IDE as my program?

(This is why programmers are deeply mistrustful of GUIs; we have a lot of powerful tools for working very effectively with text formats and command lines, and these tend to work with any program. Whereas GUIs, when automatable at all, seem to each have their own macro language that doesn't work with any other tools).