Is Microsoft’s platform prohibitively expensive for large scale web deployment? Would licensing costs have killed Twitter/Facebook early?
23rd February 2012
My answer to Is Microsoft’s platform prohibitively expensive for large scale web deployment? Would licensing costs have killed Twitter/Facebook early? on Quora
I would argue that the cost of the Microsoft stack is a lot more than just the license fees.
Firstly, by running on Windows you’re cutting yourself off from a huge amount of high quality open source software. Many crucial open source infrastructure components lack a Windows port (the Varnish cache server is a good example), and many others have Windows versions that aren’t well optimised or actively maintained. Other exciting inventions (such as Redis and Node.js) end up around for several years before they are ported to Windows.
Secondly, you’re committing yourself to sunk costs fallacies. “We’ve paid the license fee for this, so we should definitely use it rather than switch to something else or we’ll have wasted the money”. If you’re building with the open source stack there’s no psychological penalty in replacing a component that isn’t working well enough with an equivalent. It still costs you in terms of time, but at least the money you’ve already spent doesn’t bias your judgement. A concrete example: I’ve seen many open source stack companies switch from Apache to nginx for serving static files—it usually only takes a few hours (nginx has a very straight-forward configuration syntax) and can provide significant performance improvements.
Thirdly, building on the Microsoft stack restricts your available talent pool somewhat. Don’t get me wrong: there are some fantastic developers out there building on Windows, but in my personal experience (clearly skewed by my preferred development environment) the best developers I know, both in person and online, mainly build on the open source stack.
License fees have to be managed, which itself takes time and hence costs money. If you hit a viral inflection point and your traffic explodes up overnight, having to obtain licenses for all of those new servers you end up launching is an extra unwelcome headache at exactly the wrong moment.
The existence of a license fee also makes it harder to just try software out. With commercial products you have to download and register for trial versions, or contact a salesperson to get a demo. You can try out an open source product, in full, just by downloading it without having to talk to anyone.
And finally: the killer argument for building on open source is that if something breaks, you can fix it yourself (or find someone who can fix it for you). You don’t have to rely on expensive support contracts with the original vendor, followed by weeks of back-and-forth with their first, second and third levels of support before an actual developer hears about your problem. Instead, you can dive in to the source code, hire an independent consultant (which at least means you can shop around), or jump on an IRC channel or mailing list and ask the project maintainers to take a look.
Microsoft advocates will frequently talk about “total cost of ownership”, and point out that just because software is free doesn’t mean it won’t cost you money to adopt. I guess I’m making a counter-argument here—the costs of commercially licensed software are a lot more than just the cost of the license.
More recent articles
- Datasette Enrichments: a new plugin framework for augmenting your data - 1st December 2023
- llamafile is the new best way to run a LLM on your own computer - 29th November 2023
- Prompt injection explained, November 2023 edition - 27th November 2023
- I'm on the Newsroom Robots podcast, with thoughts on the OpenAI board - 25th November 2023
- Weeknotes: DevDay, GitHub Universe, OpenAI chaos - 22nd November 2023
- Deciphering clues in a news article to understand how it was reported - 22nd November 2023
- Exploring GPTs: ChatGPT in a trench coat? - 15th November 2023
- Financial sustainability for open source projects at GitHub Universe - 10th November 2023
- ospeak: a CLI tool for speaking text in the terminal via OpenAI - 7th November 2023
- DALL-E 3, GPT4All, PMTiles, sqlite-migrate, datasette-edit-schema - 30th October 2023