MS seems to have equalized most of the initial price advantage of FOSS with their free bizspark stuff. Other issues involved:
1. Many startup hackers are good enough customize Linux for their needs, but would lack that freedom under Windows.
2. Open source security model perceived as more reliable than MS's security through obscurity.
3. Performance. Not an expert here, but from anecdotal evidence of running Win7 vs Ubuntu10.04 on my desktop, and WinXP mobile vs Ubuntu UNR on my netbook, in both cases Linux can run more servers, background, and foreground processes simultaneously with no system degredation than Windows can. My netbook under UNR is especially amazing - slow and clunky under Win7, as responsive as a desktop under UNR. Does that carry over to servers too? (and can you run a headless Windows server?)
The recent article on Reddit's server costs brought up an interesting consideration about hardware maybe not being as cheap as it is reputed to be, at least not in the Amazon cloud, and that maybe choosing your technology stack based on its inherent performance is still a valid issue (eg, choosing Rails (or MS) for developer productivity and then throwing servers at it till it performs well enough may be more costly than perceived).
Can't say for sure since I haven't used MS products for web stuff in almost 10 years.
4. Vendor lock in, increasing licensing costs as you scale.
1. It's not difficult to customize Windows. There are well defined SDKs and interfaces for most of the kernel points. Honestly, how many web startups are customizing their kernel?
3. The performance differences are negligible in the general case. Startups write their own code so most of the performance differences are going to come from the code they write rather than underlying performance differences.
In both cases, python vs. C# / .NET you can always drop down to C. I doubt that whatever their problems are they stem from language / compiler. Most sites are IO bound. IO bound applications are largely a factor of how many disks you have. The throughput for writing a file in PHP and C are identical on machines with less than 10 disks.
4. Licensing costs decrease drastically as you scale on the MSFT side.
1. I read that more as customizing in userland than in the kernel, but I don't know what the original poster's intention was. I personally find it easier to configure a Linux machine than a Windows machine, but I think it comes down to familiarity and subjective preference a lot more than anything else.
1. Many startup hackers are good enough customize Linux for their needs, but would lack that freedom under Windows.
2. Open source security model perceived as more reliable than MS's security through obscurity.
3. Performance. Not an expert here, but from anecdotal evidence of running Win7 vs Ubuntu10.04 on my desktop, and WinXP mobile vs Ubuntu UNR on my netbook, in both cases Linux can run more servers, background, and foreground processes simultaneously with no system degredation than Windows can. My netbook under UNR is especially amazing - slow and clunky under Win7, as responsive as a desktop under UNR. Does that carry over to servers too? (and can you run a headless Windows server?)
The recent article on Reddit's server costs brought up an interesting consideration about hardware maybe not being as cheap as it is reputed to be, at least not in the Amazon cloud, and that maybe choosing your technology stack based on its inherent performance is still a valid issue (eg, choosing Rails (or MS) for developer productivity and then throwing servers at it till it performs well enough may be more costly than perceived).
Can't say for sure since I haven't used MS products for web stuff in almost 10 years.
4. Vendor lock in, increasing licensing costs as you scale.