Why do some companies prefer private Microsoft solutions when in the majority of cases there are open source solutions or free software for them? What does Microsoft offer that the open sourece or free software communities do not offer?
closed as primarily opinion-based by whatsisname, Basile Starynkevitch, Doc Brown, 9000, Kilian Foth Jun 12 '17 at 6:01
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
Here are a few reasons why a company may choose Microsoft solutions over open source:
- Integration with Microsoft Windows. Company plans to target Microsoft Windows as a platform, and the company supposes that Microsoft products offer best integrations with Microsoft Windows.
- Support and maintenance. By paying Microsoft, you get some level of support for the product you're paying for, and there should be bug fixes and maintenance on the software you buy.
- Ease of acceptance/popularity. Most companies have some Microsoft products already deployed (e.g. Windows or Microsoft Office), so it's less difficult to convince others that buying a Microsoft product is a worthwhile investment.
- Availability of human resources. Here in New Zealand Microsoft dominates the software market, so most engineering jobs are for Microsoft languages and software is deployed on Microsoft platforms. If a company were to choose an alternate language/platform it may be more difficult to find engineers to work on them.
- Open source indemnification. Some companies may be concerned about legal issues of using open source software. They may suppose proprietary software is safer from a legal perspective.
This is a difficult one, because different organizations will have different reasons. The reasons I have heard cited the most are:
- "Everyone already knows how to use it." This is usually used as an explanation for why Windows or Microsoft Office were chosen over competitors.
- "We need support and Microsoft has support contracts." This usually overlooks the fact that most major competitors to Microsoft products also offer support contracts (and frequently for less). Other times, someone performed an analysis (of some sort) and decided that Microsoft's support would better suit their needs.
- "[Microsoft product name] has features that [competitor] doesn't have." I hear this one a lot with Microsoft Office when comparing to LibreOffice. This may be a valid reason for some organizations, but in my experience, the features in question are usually things that almost no one uses. If people used the features, then the open source competition would replicate them (when not patent protected).
- "Our customer uses [Microsoft product] and we need to ensure compatibility." Where I work we use Microsoft Visual Studio, because a lot of our customers use Windows, so using Microsoft's compiler is a logical choice. (We also use open source tools on Linux to ensure cross-platform compatibility.)
- "Because we were told to use this tool." This is the worst one I hear (usually within large organizations) and it means that someone high up the chain of command chose a tool, mandated that the organization use it, and failed to explain why. (I have a coworker who once spent months trying to find out why a proprietary software suite had really been chosen after hearing this reason.)
- "[Microsoft product name] just works better." I have a bias towards open source on this point. I find that very few of Microsoft's products are significantly more stable or functional than the competition. However, I'm sure that a few of Microsoft's products do in fact work at least a little better than the competition and the experience of the decision maker may be different than mine.
Another reason that I have not heard, but that may factor in to decisions at some organizations is "trust/reliability". By this I mean that we know exactly who provided the software, we trust them not to cause too many problems, and we can rely on them being around if things suddenly get bad. Microsoft is unlikely to go bankrupt overnight. Some open source providers may.
On the one hand, if the provider of open source goes under, you can always try to maintain it yourself. An option that is not available with proprietary software, as RibaldEddie pointed out. On the other hand, if the software causes damage to your organization in some way, it's nice to know that your lawyers will definitely be able to find the right person to blame. That may not be comforting to the engineers, but managers seem to like knowing who they can blame.
As a final note, I'll address the comment by immibis. As I pointed out before, proprietary software does sometimes have a feature that some organizations need. These features usually are not widely needed, so the open source organization doesn't bother with it. However, many open source organizations are open to the idea of "bounties" where a pledge of money will result in a feature being worked. Some companies will even assign engineers to work on open source software to ensure that the features they want are there. Whether this type of arrangement works better than a proprietary license depends on the specific dynamics of the company in question.
Microsoft has a fix for everything and it is a safe bet. The dependency is there but it works both ways. With open source... not so much.
Businesses want software that just works, like you want your coffee maker to just work. You are not interested in being able to get parts from different vendors, you want to be sure it is fixed the next day if there is a problem.
MS is a big well known player offering proven technology. Businesses like that, it is stable and safe. You jump on the same boat a lot of others are happy on. They cannot be all wrong.
Depending on your infrastructure, with a few exceptions it is easy and cheap.
If you want to hand pick an OS solution for any of your problems and then try to make them work together, keeping an eye on updates, hoping they will continue to flow and not break any of your interfaces, go ahead. You better know what you are doing. Most people would choose to leave that responsibility to a party that has shown it can handle that sort of thing. Sort of.
OS is not the better or worse choice, it serves a different purpose and a different market at this moment in time. People chosing propriety over OS are typically not stupid, they just take into account more factors than your question suggests you are aware of
Technically speaking, the answer is nothing. Even free and open source software can be purchased with support contracts and the like. And, indeed, since MSFT software is generally closed source, you are hitching your company's wagon to MSFT and are at their whim. If a piece of software becomes mission critical for a company and the vendor, like MSFT, decides to stop supporting it, you have zero chance of supporting or improving it yourself. With open source you can always take the code, learn it, and keep it improving indefinitely. So it's almost idiotic to run a business on proprietary code.
You'd have to ask the companies who choose MSFT software why they do. Otherwise this question's answers are based on opinion.