Hacker News new | ask | show | jobs
by lugg 3566 days ago
Embrace, extend, extinguish.

Although I'm guessing a few devs are in the boat with "all company PCs must be windows." Gives them an out no?

3 comments

No this is not that. The idea is some frameworks/platforms have become nix first, ex. Ruby, Python to an extent Java etc. OCaml to only name some. Windows Subsytem for Linux is about bringing these nix first developer plats to Windows and help developers like me to remain on Windows.
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.

So what do you call it when Google adds great UX, advanced sorting and searching etc. to email, and then slowly starts making it harder to send email to Gmail accounts from non-Gmail accounts? (All in the name of eliminating spam, of course.)

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!).

Microsoft are still doing it. The company that I work for didn't just pay for Office subscriptions because we wanted Office for Mac (and I didn't want to get it on subscription either, but the pricing strategy is designed to penalize you if you don't). We actually have access to three different Office-like products already (iWork, LibreOffice, Google Apps). None of them can yet 100% support Microsoft's "standard" file formats.
s/Software Business 101/Business 101/

FIFY

And that is why I prefer to be a developer instead of a manager.

IMO everyone should get flak for these kind of monopoly building business practices.

Companies with this behaviour regarding my work tools lower my personal life quality.

It might be Software Business 101 now, but when enough executives note that it makes you hated after a number of years, the course content might change...

(For example, what makes me vary about this case is: I expect the Linux subsystem under Windows to start working worse and worse, sometime in the future.)

It may be that Microsoft is doing their usual embrace and extend, perhaps the extinguish part is not possible these days.

This is an interesting effect there, that due to WSL, there will be less perceived need to support windows for development tools. However, isn't WSL aimed mainly at developers? Regular users won't be turning it on. So if you're developing the next dropbox with clients written in Ruby, you'll still need a ruby and gems that run on Windows. i.e. to support end users, we'll still need dev tools that run on Windows. edit: Server-based stuff not so much, and server-based stuff is the main thing these days, to put it clumsily.

Correct, but a LOT of developers today write code that eventually runs on Linux in the cloud. With WSL, such developers using Windows will not leave for OS X/Linux
Hmm, perhaps it's really a move against OS X. If you actually run Linux you're probably committed.
Yeah I would agree it's a move against osx. I run debian on a raspberry pi3 don't even deal with Windows but this is clearly aimed at the corporate web developers where you have a macosx near monopoly.
Exactly
Keep in mind that Microsoft itself writes and/or maintains a lot of software for Linux - as you can imagine, WSL comes in very handy there.
I don't think that's necessarily true, I use Synergy on my desktop - 2 machines, a windows box for gaming and windows dev and a Linux box for most general uses including most dev work, ops work on servers, etc.

Something like WSL attempts to reduce the desire for this setup. Having things like real openssh work properly without cygwin is a major plus in my book.

Bingo. I thought this was obvious from the start.
If Microsoft can extinguish Linux by adding some subsystems to Windows, I'll eat my hat.
MS is seeing that it can't extinguish Linux, as well as the iPhone or iOS system. It has to adapt to it. Making it easier to develop on a Linux subsystem makes people stay on Windows, which still has stuff like Photoshop that blows away Linux alternatives. Plus of course MS Office, for which LibreOffice is a real alternative, but in some environments it's not.