| This is precisely the strategy of 'Embrace, Extend, Extinguish'. Step 1: Embrace new technology ( like Ruby, Python, Java etc ) that run on other ecosystems Step 2: Add extensions to the technology that only works in Microsoft ecosystem. For example, add new functionality to Ruby for Windows that only work on Windows Step 3: As more and more people develop software that uses these features, more people will have to switch to Microsoft ecosystem to continue using those pieces of software. This is not a voluntary switching based on the merit of the software ( as the same software could have been developed without those extensions ). The switching is often mandated by management decree, customer requests or market concerns. The danger of this strategy is the cost for people outside the Microsoft ecosystem. a) Bad pieces of technology becomes successful, merely because it came from Microsoft. Everyone is forced to use it. b) People are locked into Microsoft platforms. This causes all the usual problems associated with lack of freedom : harder to experiment, keep the costs down for companies etc Some people say Microsoft has changed their ways and they have since repented, but most people are still suspicious. Once bitten, twice shy. |
Or when Facebook Messenger supports XMPP up until the point where their user base is big enough and they don't have to care about interop anymore?
Welcome to Software Business 101, everyone plays nice with the standards/alternatives/competition until they don't have to anymore. I never understood why Microsoft gets extra flak for this in 2016 - maybe they were particularly good at it 20 years ago, but every big player will play hardball if they get a chance.
The answer is to avoid single vendor lock-in under all circumstances, but Microsoft is hardly on a trajectory to become the single vendor for Ruby or any other Linux-first tech at the moment (ha!).