Hacker News new | past | comments | ask | show | jobs | submit login
Ubuntu on Windows (dustinkirkland.com)
2049 points by bpierre on Mar 30, 2016 | hide | past | web | favorite | 901 comments



Surprised I don't see anyone else mentioning this.

This looks to me like typical Microsoft strategy that they utilized a lot 25 years ago.

1. when not leader in given market, make your product fully compatible with competitor

2. start gaining momentum (e.g. why should I use Linux, when on Windows I can run both Linux and Windows applications)

3. once becoming leader break up compatibility

4. rinse and repeat

Happened with MS-DOS, Word, Excel, Internet Explorer, and others.


Thank you for mentioning this! Really bothered by all the positive comments, especially coming from savvy HN users.

Gave this a long look and my main beef is that I couldn't possibly do anything on a Windows Machine in its' current state. Linux isn't just about running apps - there's a philosophy behind the system. Users first!

As long as Microsoft continues to disrespect the rights of users in regard to privacy, data-collection, data-sharing with unnamed sources, tracking, uncontrollable OS operations (updates, etc) - I will never go near it.

I find it especially offensive that ex-open source and ex-Linux users (working for Microsoft) have the audacity to come on here and try to sell this as a 'Linux on Windows' system when most of what makes Linux special (respect for the user) has been stripped away.

It's like giving a man who is dying of thirst sea water.

Most comments here appear to be positive and that's fine... whatever. To anyone reading this... please don't sell your souls and the future of software technology for ease of use and abusive business practices. /rant


I think a key point that is being missed here is most of the people excited about this probably run OSX, not Linux. OSX has long been the "'Linux' for people who don't really want to run Linux" (not really meant as an insult, I'm typing this from OSX right now).

Apple is just as proprietary, commercial and anti-competitive as Microsoft here.

FWIW, this excites me because it potentially means I can go from two machines to one, and always have IE/Edge at my fingertips. It will greatly improve my dev workflow if it pans out like people are hoping it does.


> Apple is just as proprietary, commercial and anti-competitive as Microsoft here.

I respectfully disagree. The OSX kernel XNU is open source, as are a ton of its components. That's huge in a lot of situations. Some things - not a lot, granted, but some, like FreeBSD's C++ stack and compiler - are even upstreamed back to mainstream open source projects by Apple employees.


While not open source, I've seen parts of the windows source (never really had the time to read it in full detail) in my work, most probably coming from the MS vs EC situation some years back[0]. Yes, there are still hidden parts (docs mostly, I recall my friends doing memory forensics research had a "fun" time to get information on IP connection structures for example), but it's not as secretive as many people think it is.

[0] https://en.wikipedia.org/wiki/Microsoft_Corp_v_Commission#Si...


I agree that Apple is much more pragmatic right now. IMHO Microsoft is looking to emulate Apple in this regard: leverage open source when it makes sense, release code back to open source projects when it makes sense.


>That's huge in a lot of situations. Some things - not a lot, granted, but some, like FreeBSD's C++ stack and compiler - are even upstreamed back to mainstream open source projects by Apple employees.

^ Citation need.


Clang/LLVM?


The joke (I think) being that Apple doesn't upstream a lot of code.


Pretty much this - it's going to make my life as a developer easier. Having Linux right there when I'm working on an Microsoft platform will remove a clunk in my user experience of having a VM open all the time for when I want to drop into Linux.


Apple has contributed to key open source projects such as LLVM and WebKit. They have also open sourced Swift.

They have identified the core of their business and they feel comfortable there. They get a 30% royalty for each App Store transaction, they make large profits selling iPhones and Macs. They monetize their software indirectly as a part of a larger end-to-end solution.

Microsoft during their monopolic era was much more beyond that, they were going for all.


> Microsoft during their monopolic era was much more beyond that, they were going for all.

Yes, absolutely. Bill Gates was not a "nice" man. These days many people fawn over him "oh he's so lovey dovey, he's going to save the world with all his money as a philanthropist". LOL -- how many have actually sat at the same table (behind closed doors) with Billy boy pounding the table telling everyone attending (ISPs, major telecoms) how Microsoft was going to run the show, run the world. Microsoft is a ruthless company. Satya Nadella was part of this ruthless culture when he first joined MSFT 25 years ago. Why would the ruthless culture of Microsoft suddenly change because they've figured out how to peg Ubuntu Linux to the kernel? Ever hear of a Trojan Horse? This announcement today sure smells like horse manure.


Explain to me how it could be a Trojan horse when it's their own OS that they are modifying? They aren't exactly going in and sabotaging the Linux kernel project here...

There's also a logical fallacy that because Nadella worked for MS for the past twenty five years, he's as power hungry as Gates. This reeks of the type of elitist nonsense the keeps people from wanting to adopt Linux.

EDIT: Removed insult, came with arguments instead.



Apple is a hardware company while Microsoft is a software company.


[flagged]


> The big difference is that Apple actually doesn't fk their users in the ass.

Like with their SMB support? When, given the choice of complying with the GPL or re-writing an SMB client from scratch, Apple chose the latter and subjected users to utterly broken SMB support for several releases just so they did not have to open source their pitiful collection of patches?


Apple is pretty user-hostile. Moreso than MS in my estimation. Try changing the battery in your iphone, or getting music on it without using itunes.


Sure. But aren't we past changing batteries? They're less an issue than changing screens these days. And screens have never been easily replaceable. Its just us old folks who expect the battery to come out.


Those of us that aren't drinking the apple kool aid aren't past changing batteries. And I'm old. Perhaps Apple is just old-person-hostile, which amounts to about the same thing for me.


> Try changing the battery in your iphone

Try changing the battery in your Lumia.


My Lumia 640 has replaceable battery. It might be a windows phone though.


Hah! You're right. Microsoft's own devices actually do all have replaceable batteries, only (most of) the older Nokia-branded Lumias have soldered batteries.


And I'll try changing it in my Nexus. We're at the point where the inability to change your battery is pretty common place on flagship phones.


[flagged]


Serious.


>I will happily keep on paying high price for the Apple products in the future too as long as all of my personal data is not being broadcasted

Yeah I'm sure all those celebs that had all their nude photos stolen from icloud would totally agree that Apple takes great care with personal data.

Are you trying to justify needlessly spending 600$ on a phone every year? That's your prerogative, you don't have to convince strangers on the internet.


Apples security was not breached, those celebrities fell for a phishing scam.


"Yeah I'm sure all those celebs that had all their nude photos stolen from icloud would totally agree that Apple takes great care with personal data."

All systems have had and still have security flaws. There is a world of difference between having a unknown vulnerability (which affects and will affect all platforms) and intentionally spying on users and stealing their information.


All systems have flaws at some point, but not all systems equal in terms of exploitable value for the effort.


One aspect is the technology, another aspect are the values driving that technology, another aspect is the legal aspect.

You are mixing them all and that's how the debate gets stuck into some neckbeard-limbo that nobody cares about.

Society made a lot of progress when religion and state got decoupled from each other. There are some things that should be handled separately.

What I have to say about this is:

Technology-wise, GNU/Linux software is separate from that of Windows at the binary level as well as dependencies. For them to extend such software means that they would need to build on that. That would extend the GNU/Linux ecosystem.

Legally-wise, open source software is protected by open source licensing that requires derived software to also be licensed as open source. It is challenging to achieve the "extend" part of the "embrace/extend/extinguish" loop if open source licenses are in place.

In terms of values, they're a for-profit corporation trying to reach out to developers. Same as every other company. They have open sourced .NET, they've released some of their actually important software on Linux (SQL Server), they have embraced the Linux platform on their cloud environments... everything possible to appeal to developers. It doesn't appeal to me, though.


I'm confused why you use the phrase "GNU/Linux" but not "free software". I've never seen someone use that combination before.

But as to your point, not all free software licenses are copyleft. The MIT and BSD and Apache licenses are all proprietary-friendly licenses.

And as for requiring to extend the GNU/Linux ecosystem, I don't think that's true. It just looks like they've implemented syscall compatibility with Linux (something that FreeBSD has had for donkey's years and SmartOS has been working on for the past few years). Neither of those technologies resulted in more software specifically for GNU/Linux.


Nothing stops then from making architectural changes that is in conflict with how native Linux systems behave, which the Linux community is unwilling to adopt.


Yes partycoder, it sure would be interesting to hear what "neckbeard" RMS has to say about this move by Microsoft today, would it not?


I think he has a full fledged beard making him not fit into the neckbeard type.

RMS was foresighted enough to make licensing a core part of open source. I have a deep respect for the man.

The Achilles heel for open source software remains to be patents. In that regard I think many proprietary players still have the upper hand.


> I think he has a full fledged beard making him not fit into the neckbeard type.

> RMS was foresighted enough to make licensing a core part of open source. I have a deep respect for the man.

He founded the free software movement. The open source movement is based on different values (convenience above ethics) which Stallman doesn't agree with.

> The Achilles heel for open source software remains to be patents. In that regard I think many proprietary players still have the upper hand.

Both the GPLv3 and Apache solve this problem. The issue is that too many people are using permissive licenses where it's not appropriate.


The Apache License helps in this regards as far as it is used, doesn't it?


On calling people 'neckbeards' (and other pejoratives): https://forums.meteor.com/t/why-no-stack-overflow/20158/16

I think he would say what he has always said about secret software. He's fairly consistent in that regard.


> Yes partycoder, it sure would be interesting to hear what "neckbeard" RMS has to say about this move by Microsoft today, would it not?

Ignoring your insults toward RMS, you can always send him an email at rms@gnu.org. He responds within a few days most of the time.


This is so true I'm loathe to add to it.

I dual boot my laptop b/w Windows and Linux because the WiFi network at my school has issues with Linux...so I'm forced to use Windows, also for games, but it's such a pain. Today it updated forcefully while I was trying to study; I tried to postpone the update but the option was grayed out. The Windows philosophy through and through is to treat users as ignorant and incompetent idiots for whom even the most basic of tasks must be performed, and who cannot make important decisions. This, IMHO, is the epitome of disrespect, and the reason I look forward with great anticipation to the day when I am able to solely operate within computing environments that afford me the same dignity as the cars I drive.


It's odd for me to read this, because the main reason I use Windows for my desktop over OSX is that it offers increased control. Obviously nothing is as customizable as Linux, but Apply software seems much more about taking decisions away from the user than Microsoft. Not that that's necessarily a bad thing. It's, "It just works," vs, "You can make it work the way you want." I see Windows as sitting between OSX and Linux on that spectrum.

That said, for most development work I prefer Linux, and run a Linux home server as well as various VMs, so this announcement sounds great to me.

And as a final aside: basically all of the information gathering that people complain about with Windows can very easily be turned off. In fact, for the most part the installation wizard actually leads you through how to turn it off. For me that makes it a non-issue, although I understand that some feel differently.


> basically all of the information gathering that people complain about with Windows can very easily be turned off. In fact, for the most part the installation wizard actually leads you through how to turn it off. For me that makes it a non-issue, although I understand that some feel differently.

It's absolutely not a non-issue when I was helping my mother set up her new Win10 laptop.

She doesn't want to be tracked, I don't want her to be tracked.

But currently she is being tracked by Microsoft very much.

As are millions of other people that REALLY do not want to, if they had the choice.

There was no wizard when I got there to help her. Obviously she had set up most of the laptop herself because she's not intimidated by computers and really pretty good with them (at age 66). Except she couldn't get email to work.

And neither could I, btw. She wanted two accounts in the windows 10 default mail client, one from the ISP and a very old hotmail account. Somehow this just wouldn't work and the stupid mail client was actively hiding the information I (or she) needed to troubleshoot the problem (not just a bit, I got like zero information. and a numerical error code. it's beyond me why MS would want to translate standard error messages from IMAP and SMTP into something even more cryptic). I ended up installing Thunderbird, which works.

But I digress. My mom is not a HN-reader, so she hadn't quite heard about Win10's totalitarian surveillance features, and when first setting up her laptop she wasn't quite sitting there in the adversarial position of "I'd rather brick my system than let it spy on me" that any of us would need to assume in order to later claim "the information gathering that people complain about with Windows can very easily be turned off". She doesn't want to be tracked, so I'm sure she ticked off a couple of the checkboxes that were clear about it.

But maybe not the ones that popped up warnings about your system. Or the ones that were misleadingly worded as if they are something beneficial ("just like the US government does" is not really a bar for good intentions) that you need to Google to figure out what they really mean. Or the tiny checkboxed that only explain their maliciousness in a very tiny font next to the big friendly letters that just want to steam you through the wizard. (I didn't see any wizard, but this is the deliberately misleading I remember from win8, obviously intending to grab as much private info from users while pretending to give them a choice).

During the afternoon I helped her, I only had time to set up the email and do a few other things. In addition of having to wait through 45 minutes of some giant update, which upset her a bit because it was a brand-new laptop, high-end thingy, why did we have to wait for things to happen? Damn right. The longer I'm on Linux, the more and more ridiculous it seems to have the OS yank control from you at what are probably the most inopportune moments (boot-up and shutdown ... really?!)

So I didn't have time to help her, Google for all the privacy options in Win10 and disable them.

What you probably don't know, because you "easily" disabled them right away, is that after this initial setup phase, Win10's remote surveillance features are as quiet as they can possibly be. (until you try to disable them of course at which point they'll scream bloody modal murder)

And with her, that situation is by no means unique. There are millions upon millions of sufficiently able people running Windows that are currently being tracked, against their wishes, because the options are misleading and/or hidden. And they even pay Microsoft for the privilege ...

So yeah no. Just like computer security in general isn't about you being safe and protected from criminals, that's easy enough, unless you're being targeted, if you are clever and paying attention, don't click the shady popups/emails and you're mostly fine.

Criminal phishers or ransomware peddlers would be out of a job (or be more clever) if everybody has the knowledge like that.

Just like Microsoft wouldn't have even bothered doing all that work on their surveillance tracking systems if the features would have been as "easily turned off" for everyone that doesn't want to be tracked.

Just like any whitehat hackers, on the rare occasions I hear them about the fundamental moral reasons why they do what they do, in addition to "hacking is fun" (also goes for grey/blackhat), is every time not because they and their tech-savvy friends need their protection, no we're catching the bad guys and fixing the vulnerabilities because our mother, grandfather, neighbour, partner, nephew and that friendly man at the cigar/magazine cornershop need the protection because they don't want to be hacked just as much as we don't, but not everyone has the time to dig into computers as deeply as us to protect ourselves.

And you know, those very same people also don't want to be tracked, given the choice. At the very most they'll shrug and admit defeatedly "well, yeah, ... I don't mind so much, I guess" -- because to them it seems to be price to pay for not having to really dig deep into their system and just be able to use that laptop for email and web-browsing.

But no, they don't really want to be tracked. It's NOT a choice, for them, it factors as an additional cost of being able to use a computer.

Source: I teach people (of all ages, but mostly children 8-18y) general computer usage. None of them want to be tracked. None. The ones that even claim they do, I haven't met a single one that, after sitting down and talking for a while, didn't just boast "oh, I don't care" because the alternative would be admitting that they don't have the skill/knowledge to fix the situation, or because simply not using Facebook because it's creepy as fuck, would be social suicide. That's not a choice. It's not a choice!

Just because we (hackernewserpeoples) are clever enough to opt to not pay that cost because it's technically optional, doesn't make it a "non-issue".


I recommend a tool like this one to quickly disable the various Windows 10 logging and tracking services if you don't want to hunt through menus and settings.

http://www.winprivacy.de/english-home/


I hope you only drive old cars, because newer cars aren't really designed to let the user change anything. You always need to take them to a specialist shop.


And the specialist might have to take it to other specialists because the diagnostics and repair equipment is so outrageously proprietary and specific nowadays that only one shop per major city can afford it.


Which at least partly because have become much more complex things. Complex systems with many electronic and mechanical systems interacting need complex tools to debug.


Only partly. There's no technical reason why you need to have 70 differently wired connectors to access the engine computer's UART port… and why they cost over a hundred dollars each.


Or why the error codes are kept secret from the user, resulting in only the dealership, not your local independent, being able to fix some things.

And also the requirement of specialist tools to do non-specialist jobs like set the engine timing, and then charging a lot for purchase of the tool. It will be interesting to see how serviceable electric cars become once they are old enough to start being parted out and the used market expands to those who 'just need something to go from A to B'.


I have been hearing this for about 20 years now. It still isn't true.


Given that most users in the world fut that description perfectly, I'm quite glad that Microsoft adopted such aggressive auto-update policies. I try not to use Windows if I can, but I enjoy living in a world with less botnets.


Next time, go to a Run box and type services.msc, there you can turn off the Windows Update service, the Trusted Installer service, etc. You've got to be willing to pop the hood: admittedly MS tends to hide the hood release lever.


> I find it especially offensive that ex-open source and ex-Linux users

The thing is, from an "open source" perspective, what they're doing is great and totally legit. From a free software perspective, it has a lot of potential to be suspicious and troubling. If all you care about is "the best technology; yay" rather than user freedoms, your concerns are moot.


Your perspective is perfectly valid, but I'd like to add another. It's possible to care about user freedoms and still think this is a good thing. It doesn't create any dependencies on Microsoft, just opens up opportunities for more full-featured free software to run on more computers. If Microsoft ever decided to pull support, nobody would be left unable to run their software. These are the same Ubuntu binaries that run on Linux, and anyone could move over to that if they wanted to.

There's a stereotype that the open source people are practical but don't care about political issues and the free software people hate everything proprietary with a passion, but of course that's not always the case. Big companies like Microsoft aren't monocultures. They have some really amazing people, even if not everyone is perfectly enlightened. The path to more user freedom is allowing those good people to continue to push technology in the right direction. This is a step toward more freedom.

Many of us don't just use one computer. I use every OS on different desktops, laptops, tablets, phones, servers, and consoles. They might not all be equally free, but I only need one to be fully free to know that I have freedom that can't be taken away. Even for those who don't have a fully free system, the most important thing in my opinion is that the option always exists. If they aren't served by proprietary software, they have somewhere to go.

GNU won against all odds. It's here to stay, proliferating across so many devices. I'm happy to welcome people who might not have ventured outside Windows into the family!


> If Microsoft ever decided to pull support, nobody would be left unable to run their software. These are the same Ubuntu binaries that run on Linux, and anyone could move over to that if they wanted to.

That's a good point. Its all about having real options (freedom to move) and minimal switching costs. That said, I'm still concerned about a possible Trojan Horse scenario here whereby Linux on Windows is the hook to try and get people into the proprietary Windows dev tools (Visual Studio etc.) and checked into the Azure "roach motel" cloud (easy to check into, hard to check out).

> Big companies like Microsoft aren't monocultures. They have some really amazing people, even if not everyone is perfectly enlightened.

Microsoft most definitely has some amazing and talented people, but I disagree with you about culture: the culture of any company is undoubtedly set from the top down (the founders or directors). Please do not be so naive to think Satya Nadella does not set the culture at Microsoft, (hierarchical in nature). This isn't to say there may not be some fiefdoms within a company as large as Microsoft, but there is an overarching culture and it comes from the top.

> Many of us don't just use one computer.

This is probably true for some, but some people might only be able to afford one computer. One scenario I can see which might be appealing to a developer, as of this announcement yesterday, is using a MacBook with Apple's Boot Camp to partition the internal drive such that one could have as many options as possible (OS X on one partition, and Windows 10 with Linux on the other).

> GNU won against all odds. It's here to stay, proliferating across so many devices. I'm happy to welcome people who might not have ventured outside Windows into the family!

It would be really cool to hear what RMS (Richard Stallman) thinks about this. I wonder if he's be up for an AMA on Reddit to address this seemingly earth shaking announcement by MSFT?


> If all you care about is "the best technology; yay" rather than user freedoms, your concerns are moot.

Are they? When did Microsoft's EEE strategy benefit the user and lead to the best technology? IE6? JScript? ActiveX? J/Direct? MSN Messenger?


> As long as Microsoft continues to disrespect the rights of users in regard to privacy, data-collection, data-sharing with unnamed sources, tracking, uncontrollable OS operations (updates, etc) - I will never go near it.

You've taken the words right out of my mouth. At first blush, Linux interop on Windows seems like the best of both worlds, but in reality you're giving up a lot more than you gain.


> Linux isn't just about running apps - there's a philosophy behind the system.

It isn't just about the philosophy either. Not to me.

Linux offers a stellar scheduler, phenomenal file systems such as ext4 and XFS (soon ZFS!), cgroups… the list goes on.


and bash


> there's a philosophy behind the system. Users first!

This is true for a certain type of users (developers deploying on Linux).

For a different class of users (desktop/laptop users, or developers developing on Linux), Linux has a documented history of "Fuck you very much".

Microsoft has recognized that there is a large overlap between these two classes.


The true reality is that Microsoft could do anything, and the anti Microsoft crowd will never be satisfied.


I nuked win10 after it decided to uninstall a program all by itself


What program was this...?


It uninstalled CPU-Z and a couple of other things for me during the first update.


Yeah it's my fucking computer, don't uninstall, don't restart, if I wanted an ipad I wouldn't buy a Lenovo desktop dicks. Then it made sure candy crush was installed. Wtf? This isn't a game, I have work to do Microsoft! I like monitoring my $300 i7 not play games on a $1k pc.


Also .. Linux is more than userland... mmu , cfs , kernel things in general ... i'd like to see real benchmarking of this.


People are different and have different constraints and optimization parameters. I'm not disagreeing with you as much as pointing out that not all people hold the same things as important as you do.

In my context as a software engineer or as a private individual I didn't find your argument convincing from the point of view that it would expose any specific problems that are of my concern. If I was responsible for confidential data my views might align more with yours.

"As long as Microsoft continues to disrespect the rights of users in regard to privacy, data-collection, data-sharing with unnamed sources..."

I'm already giving up most of my privacy in the general context when using an off-the-shelf cellphone (in the sense that I have no idea how much data leak my daily cell phone use causes and I'm fine with it since I have no time to implement a personal data safety plan).

If I wanted privacy I would stop using technology altogether. I just want things that a) work with b) minimal financial risk.

"when most of what makes Linux special (respect for the user) has been stripped away."

Sorry, for me it's the "Linux the technology stack", that make it special, not the "Linux the philosophy".

"please don't sell your souls and the future of software technology for ease of use"

For me personally, 'ease of use' is the single most important optimization parameter when choosing technology. Although, in my definition, this encompasses things not only directly related to daily use, but include license cost, security and data loss prevention. The most important thing I care very much for is retaining copy right to my own data.

Why 'ease of use'? Because the only thing that truly constrains me in this world, is time. As in, how long I have to live, and how much effort I need to reach my goals. When put in this context, I don't care of the philosophical implications of the way I solve problems and implement things - I just want them done.

I.e. if the product does what I want, I don't really care of the philosophy. Perhaps I have too much faith in market forces and jurisdiction prohibiting monopoly but I fail to see much personal benefit in an all encompassing "platform philosophy" as to me, technology platforms should focus on solving real life problems.

"please don't sell your souls"

I don't pour my soul into the technology platform I use. I pour my soul on the design itself - the implementation on the platform is just the implementation of the design that could very well live in an abstract turing machine. Although the implementation running in live hardware is much, much more fun (and exposes the bugs).


It saddens me to hear you say this as a developer, a builder, an engineer of our technological future and infrastructure.

It falls on Developers - moreso than any other group - to be aware of the dangers the work they perform produces and for whom their work benefits. They must all be aware of the abuses of our basic rights and human dignity modern Private Enterprise engage in.

When these same Enterprises pull developers from a system (or systems) that value our individual rights to one that tramples all over them... it angers me. It begins to limit the Philosophically, user-empowering, alternatives we have. When developers rejoice over the actions of an abusive Enterprise, it disheartens me. It feels like the bigger picture is somehow being missed.

To paraphrase Benjamin Franklin: 'Those who give up their freedoms for temporary ease of use deserve neither and will lose both.'

I do not mean this to sound harsh. You can both work within the current technological framework (as we all do) and, at the same time, rail against a future that runs counter to our core beliefs. It's ok to do both. It's ok to work within a Microsoft-produced framework and at the same time let them know that some of what they're doing is counter to your belief system as a private, law-abiding individual.

What we must not do is defend the Police State we're currently building. It runs counter to everything we hold dear as a democratic and free society. Counter to the best kind of future we can envision for ourselves and future generations.

The chasm between the 'haves'' and the 'have-nots'* is only getting wider. The very concept of a fair society where all men are created equal diminishes. Enterprise OSes produced by Microsoft, for example, have privacy-enabled features the common man does not have access to. The common man - you and I - are now constant targets whereas Corporations, those in Government, those in law enforcement and many others accustomed to living above the law continue live under a different set of rules. This is the emerging new standard.

China will soon get a special build of Windows 10 without telemetry, without "phoning home". I am certain that this special build will contain the same kind of malware and abusive spyware that benefits the Chinese Government over it's own citizens. So... we, possibly have, an American software company building and deploying tools for repressive regimes. Yet we have become so complacent, there isn't even a discussion about it. That's how bad things have gotten.

We shouldn't pretend that this philosophical disconnect is not the biggest change in development. It is essentially the only real difference between Operating Systems/Working Frameworks. As good people... I'm saying that we should never, ever defend it, accept it and be complacent about it.


You make it sound like all developers were developing the equivalent of nuclear weapons.

The few hours of recreational computing I perform daily have no effect on how the world works. To imagine otherwise would be hubris verging on insanity.

The software I write at work cannot be used to invade anyone's privacy.

I see what your point is but totally fail to connect it to my personal daily reality.


@jupiter2 Well put. I really liked, "It's like giving a man who is dying of thirst sea water.". The fact of the matter is that MS has not yet realized or is unwilling to correct its core issue, and instead it is going many nothings like be it an atom forked text editor or running Ubuntu in windows.


VS Code is not an Atom fork. They share the packaging tech (Electron), but the application code is completely separate. VS Code is an evolution of an MS online editor component (called Monaco IIRC).

I think this is the third time I'm writing this reply on HN. Seems to be a common misconception.


HN had a huge influx of developers who predominately (or only) work on the Microsoft platform, and it has been readily apparent in the stories that rise to the top, and the dominant reactions (e.g. cynical takes are quickly transparent. Exaggerated "this changes everything!" comments rise to the top). This isn't necessarily a bad thing, but it does heavily slant the coverage and slant of the conversation.

And as you said, there is nothing new in this. The whole "hell freezes over" thing gets a bit old because Microsoft has done this same routine countless times before. When they are the underdog, seeing a fleeing userbase, etc, they pragmatically veer towards open and integrated. When they aren't, they close off and exploit. (see Microsoft's arrogance and hubris as they exalted in their success with the Xbox 360 -- early initiatives like XNA, their unloved community gaming thing...abandoned and left to die -- and now that they're losing with the Xbox One, once again that wonderfully open and accommodating company returns again. People pretend it's new.

Another example I would give is MSN Messenger -- Microsoft did a loud, public campaign, including taking out ads in newspapers, pushing an open messaging platform, interoperations, etc. Microsoft had just started to get into the messenger game, so of course they didn't want to be kept out via the network effect.

Then, of course, MSN gained users (being pushed on users, automatically configured, tends to do that). Microsoft made a complete 180 in approach. Soon they incorporated an expensive licensing program that third party apps had to use to interoperate with MSN Messenger, endlessly doing technical fixes to block third party access.

What happened to that gregarious, open and cooperative Microsoft that was taking out ads to implore AOL for blocking access? The situation changed, and suddenly it wasn't in their interest anymore.


> Soon they incorporated an expensive licensing program that third party apps had to use to interoperate with MSN Messenger, endlessly doing technical fixes to block third party access.

I remember this clearly as if it was yesterday, because I tried and failed to build a Messenger-compatible client. They defended exclusive access to the API fiercely.

Their attitude seems so petty now in retrospect.


Oh stop complaining like MS is the only company to do this. Twitter is just as complicit in this sort of behaviour. If you're going to base your entire business on someone else's platform, don't start complaining when the earth shifts and you suddenly find yourself without foundations.

You take risks and bets in life and business. Use the tools that give you the greatest flexibility and build a robust business. In this case, these announcements increase that flexibility.

While everyone here keeps complaining and debating Embrace/Extend/Extinguish, someone is embracing the changes and out-executing them. I know which I'd rather be.


Only that all big Software or hardware companies do this... Apple keeps the doors closed to anything not in their full control, nvidia was pushing for open standards when they were the underdogs and now they have a lot of proprietary stuff, Google with Gtalk/Jabber etc etc. It's pretty ignorant to only paint MS that way imo. I also believe MS is a very different company today with a different strategy because they lost mobile. Maybe that changes again in the future but i worry a lot more about the direction apple is going.


This thread and discussion is about Microsoft. Comments like yours -- these "cry for Microsoft...what about others!" are misdirected and totally out of context.

But if we really need to be juvenile and discuss everything to discuss anything, Apple is a greedy, voracious company. They are never presented otherwise, and cynicism meets all of their activities. But it's open and honest, and Apple doesn't try to be who they aren't, and users don't treat their actions as selfless gifts to the world. We all expect almost everything Google does to somehow pull in more ad data, to pull people to the fold, etc.

It's only with Microsoft where this naive "oooh, whole new company. So good" nonsense appears, and it grows incredibly tiring and seems more like a bad astroturfing campaign.


I am a regular on HN and have a different impression, in that many people are much more critical towards MS while Apple/Google are generally the good guys. Apple is the savior of privacy while Google are the engineering wunderkinder. Even in the Xbox vs PS4 discussions MS is usually the bad privacy invading company in bed with NSA while Sony is the gamers best friend. To me it seems MS can do whatever they want, change as much as they want, they will never be "cool" while at the same time people gloss over Apples anti-competetive practices or Googles data collection obsession.


Stellar work, missing and proving the parent's point. Simply stellar.


> 2. start gaining momentum (e.g. why should I use Linux, when on Windows I can run both Linux and Windows applications)

Remember OS/2 2.x? It could run Windows 3.x binaries, including GUI programs. The result was that noone wrote programs for OS/2. Windows programs would run both on Windows and on OS/2, so why write another one for OS/2?

Why should anyone port Linux programs to Windows now? Just write for Linux and it will work both on Windows and on Linux. So now you actually have more reason to target Linux.


That same phenomenon sort of happens with WINE. Many software just suggests you: run it under WINE, so they just focus on Windows.

Not that I am against WINE. I think it allows me to just ditch Windows entirely.

I run StarCraft II on WINE 1.9 at a higher framerate than what Windows provides. That was probably the only reason I would use Windows for.


TeamViewer, e.g.; their official Linux version is simply the Windows build with a bundled WinE. As a result, it has a horrible UX, making me even less likely to pay their outrageous license fees.

It's a lose-lose situation in cases like this.


It's not quite the case that using Wine is an alternative to porting. Sometimes the port itself simply bundles Wine. Some say that this "doesn't count", but when Wine works well users can't tell the difference between this and a port that required rewriting things.


I doubt any game developer decides not to release a Linux version purely because "oh, Wine exists".


Mac game "developers" do. :(

Thanks to TransGaming and Cider, a lot of Mac "ports" are just a Windows executable running in their proprietary fork of Wine. To predictably awful result.


Game developers no idea, application developers yes. TeamViewer and Softmaker Office are programs I ditched in frustration because their official Linux "ports" are the Windows versions bundled with a bugged WinE wrapper around them.


I think game developers are a bit of a unique case, because a large chunk of the linux gaming community is pretty hostile towards wine ports. There is no linux proprietary application community


> There is no linux proprietary application community

Except in CAD, academic tools, analytics, mod/sim, graphics, industrial automation... basically anything that used to run on Unix or might use a fortran library somewhere.


The problem here is that Wine is buggy, not that application developers aren't all rewriting everything.


It's not a game, but LTSpice from Linear doesn't have a Linux release because it runs on wine; though, they do try to make sure it works on wine.


Out of curiousity, do you use wine-staging and the CSMT patches?


I use wine-staging yes.


OS/2 had no initial market share, i.e. there were very few initial developers. Windows still has a lot of developers (LOB applications) who don't want to touch Linux with a ten foot pole.


Exactly. There are tons of ports of Linux software to Windows but if this becomes successful and popular there is no reason to ever maintain a Windows port.

But perhaps at this point it's important for Windows to stay relevant in an open source world.


Because Microsoft, then and now, has more active developers.


What bothers me about people bringing Embrace, Extend, Extinguish is how they never mention how all the big software companies do this. For example, how many nice JavaScript features are in Google Chrome that aren't anywhere close to real standards? But when anyone but Microsoft does it they're just pushing the industry forward, not out to stab you in the back.

Let's not call it Embrace, Extend, Extinguish until we see the Extend & Extinguish. Microsoft is a very different company than it used to be.


I'm hopeful that this will lead towards greater unification and innovation, but I can see why people are more likely to bring up "Embrace, Extend, Extinguish" when Microsoft does something compared to when other companies do. The difference is that Microsoft is the one who internally coined the term and used it to describe their strategies. It was a conscious and explicitly stated strategy rather than an unspoken side benefit.

You could certainly say that none of that matters and what we should care about is the actual actions that each company makes, but I can definitely see how people would read more intent into things like this when Microsoft does it compared to other companies.


The difference is, Chromium and V8 are open source. JScript and J/Direct were not.

Apple took KHTML and when it started to fail, forked it into WebKit. Google took WebKit and when it started to fail, forked it into Blink.

When IE6 started to fail, the whole industry suffered. (And is now suffering again as Apple refuses to allow any other rendering engine but their failing WebKit port on iOS.)


> Microsoft is a very different company than it used to be.

Based on what, exactly? That they opened part of .NET, except that it's only the web stack, and not the part everyone wants (WinForms)? That they released a reskinned version of the Atom editor? That they announced the release of a Linux version of SQL Server, except that it will be a simplified version, absent of the enterprise features? That they submitted C# to ECMA, as though this allowed anyone to port a realistic application to another platform, or that the world has any use for a closed-source language and compiler today? That they allow you to run Linux VM's in Azure, as though Azure could be competitive if they didn't?

Now this? I mean, sure, there are times I'm working in Visual Studio, and it would be convenient to use some shell commands like "cut" and "sort" without having to use Excel, but the implication of this announcement is that I'm going to do serious work with GNU tools under Windows? Like, I'm going to do Linux-type development work while being hamstrung by reboot every couple of days for the next someone-can-take-over-your-computer-by-looking-at-it-cross-eyed patch?

Maybe you haven't been in this business for 23 years, and haven't seen how many products Microsoft bought and spiked to make sure to keep their stranglehold on the ecosystem. (I'm still bitter about Groove.) Now Microsoft is on the precipice of being as irrelevant as the IBM they mocked 20 years ago, and these moves are only at attempt to extend their relevancy a little longer, but which don't actually mean anything.

You say Microsoft is different. If, by that, you mean that they're making a lot of moves that seem like desperate attempts to make people remember they exist in the post-PC era, then, yes, I agree. Until Microsoft releases Office and Exchange for Linux, they will never been seen as anything other than Gates'/Ballmer's Microsoft in my eyes. Office suites are hardly important any more, and lots of companies are just using Google apps instead of Exchange and AD, but that's the kind of move they'd have to make for me to take their "Microsoft Loves Linux" campaign seriously.


Windows Forms is just a wrapper around the GUI parts of the Windows API. Even if they do open it it won't help anyone port Windows Forms to anything else, since the real display logic is implemented in the huge legacy codebase that is user32.dll, gdi32.dll and so forth.

Now, I would be glad if they open source WPF, which is very well designed GUI framework that could be great for cross platform apps, but it seems like they've kinda abandoned the XAML front. Even releasing existing code to open source takes resources, and Microsoft is not charity.

I'd say the same thing about porting Microsoft Office to Linux. Microsoft has, in fact, released Office apps for Android, and they would definitely rush to release office for desktop Linux if it had a non-negligible number of users. Maybe next year - after all 2017 is poised to be the year of the Linux desktop!

So Yeah, I think Microsoft has really changed. Of course it's all because they're not the market leader anymore and they need to survive! Yes, they can no longer succeed just by making a buggier version of tech X and pimping it on MSDN Magazine and have flocks of developers run to implement their latest version of COM++. So what? It doesn't make it any less real.

You should be suspicious about Microsoft's motive as much as I'm suspicious about Google or Apple or any other large company. But bringing up Embrace, Extend and Extinguish every time Microsoft does something makes you sound only a little less anachronistic than writing their name with a dollar sign.


Well, I didn't bring up EEE, and I agree that I don't think it's technically feasible to make WinForms available on other platforms. To clarify, I was just addressing the misconception of the announcement.

The year of the Linux desktop is the year that "the desktop" no longer matters. With all the smartphones and tablets, and single-board computers making embedded products, we're juuuust about there. ;-)


>Office suites are hardly important any more

A solid majority of the people on the day side of the planet who are looking at a computer right now are looking at an Excel or Word document.

MS Office has 1.2 billion users [0] (and that probably doesn't include unlicensed users). That's pretty important.

[0] http://news.microsoft.com/bythenumbers/planet-office


Well, maybe I'm taking a longer view than that. You know what those 1.2B people staring at Word and Excel are USING them for? Ad-hoc content management systems and data query systems, which they, then, store in Windows file systems, and send to everyone and their brother all over the company in email, duplicating the storage. They're using those applications because no one has come along to write a dead-simple web app to automate what they're using them for, and make it much easier to work with and share the data.

Over half of my 25-year career has been involved with making applications to actually address the business need that people were working AROUND with Word and Excel. I can't complain; it's been a pretty good deal. I'm doing 2 side projects to replace Excel sheets with Rails apps right now. But with more and more "apps" on smartphones and web sites, on the low end, and gargantuan cloud apps like Evernote and Google apps, this space is going to continue to shrink.

The thing that probably won't die is friggin' PowerPoint. If I had a nickel for every slide I've had to look at...


What JS features are chrome exclusive other than maybe a few ES6 features nobody else has implemented yet?


By different you mean they stopped using patent trolls to bully competition and make money out of Linux based software ? You mean they started to implement open formats ? Or do you mean they started to change their PR team so that now, we got a different image of them ?


Microsoft is not the same company it was 25 years ago, much less 3 years ago. Microsoft cares about Azure now, and Azure requires GNU/Linux. It just makes sense for Microsoft to do this, and I for one am pretty excited about it.


Once Microsoft stop charge users of Linux-based products for their patents or at least stop doing that shady way under NDA I'll believe it's not the same company.

So far they get better in communication with open source community, but their business practices are all the same and Windows 10 only prove it.


I'm curious how many people actually factor this into any due diligence for selecting technology for a project? How much weight do you give it? If I were to advise against using Azure, Windows, .NET because of patents charges for some Linux products I'm not sure my colleagues or clients would take me seriously. Yes, there are lots of reasons why you may not select MS tech, but patents seems a personal, political reason , which would be difficult to justify if you're trying to project it onto other people / organisations.


An approximately shared set of values and/or (business-relevant) political aims is a great advantage in working together.


This is definitely bad behavior from Microsoft that amounts to patent trolling, but that's still way better than the old Microsoft was. They weren't the only ones though, as any of the fancy patent lawsuit maps of the smartphone patent wars would show you.

Apple was notorious for suing Samsung of using the patented shape of a rectangle and while this was a misrepresentation of the way design patents work, most the patents they've used in their lawsuits were frivolous as well.


Well... back in the day Microsoft also was the company everyone was rooting for that was standing to the evil IBM.

Those who ignore history are bound to repeat it.


yes, the roles of the actors cycles around, but the script is the same.


I'm pretty sure you have the things on the wrong sides of the "much less" in your first sentence (unless you intend to say that Microsoft is more like the company it was 25 years ago than the one it was 3 years ago.)


>and Azure requires GNU/Linux

No it doesn't.


It doesn't require you to use it. Microsoft requires it to make their Azure platform viable. Microsoft couldn't just have a Windows based cloud platform, it requires Linux to succeed...which is exactly what I meant.


Yes, I am so surprised to see the wave of folks here on HN jumping in joy about Windows 10 becoming more awesome for them. Oh, so all that time you guys did not care about running on a proprietary platform, even though most folks here actually like and promote Open Source? And that's not just that, it's basically strengthening the bully which uses aggressive patents against other Linux-based businesses, still to this day.


Some brief history refresher:

Apple + Microsoft "collaborating" on Macintosh software = Windows

IBM + Microsoft "collaborating" on OS/2 = the NT kernel, Windows NT

Sybase + Microsoft "collaborating" on Sybase SQL server = MS SQL Server

Sun + Microsoft "embracing" Java = .NET Framework


Canonical + Microsoft "including" Ubuntu = Microsoft Xenix 2016?


I think it would be difficult to do a full unix experience on the Windows kernel because the forking will never be as fast. I'm not going to cite facts, so be dubious of this, but let me try to explain.

There's lots of layers within the Windows kernel. They give a lot of functionality, and from many perspectives are superior to unix. For example, it would be far easier to write a massive and robust and sensible init system on top of Executive Services than it is on top of unix. But, I can't see how they get the extra functionality except by introducing larger overhead for things like forking. And certainly in my previous experience of NT, forking has been incredibly slow.

Everything-is-a-file is much talked about with regard to unix. But fast forking is far more significant. Apache happened because of fast forking. Shell pipes assume fast forking. The way that you write shell scripts assumes fast forking. One of the reasons that cygwin has never felt right to me is because the forking is sluggish. I don't think that's cygwin's fault, I think it comes from the design of the Cutter kernel.

The hybrid they're offering here is probably the sweet spot - getting the strenghts of Windows, but getting access to a full unix layer.


It's called "Embrace, Extend, Extinguish".

They also tried to do this with Java, but people were alert.


They tried to do it with Java but Sun wrote a really good contract and filed and won a multi-million dollar lawsuit against them for trying to fragment the platform.[1]

[1] http://www.cnet.com/news/sun-microsoft-settle-java-suit/


There are two entirely different narratives there when you view Java. Microsoft's implementation was a better, faster, and fully compliant JVM with what Sun was making. An application written for Sun's implementation ran on Microsoft's. This was before Swing, and Microsoft added extensions that allowed you to write Windows Forms applications using this new and upcoming language. Windows Forms applications would not run on Sun's implementation.

Sun argued that Microsoft was intentionally breaking compatibility, but the other side was that Microsoft was actually exposing more developers to the fledgling language and providing a GUI that felt native to the rest of the OS. When Swing finally came out, it felt like you were running under CDE. That made me avoid running or writing Java applications for years.

In a lot of ways, Android repeated the exact same thing. Dalvik applications won't run in the Oracle JVM.


J++ was an example of the "extend" approach. They made a Java that was not compatible with the standard.


>In a lot of ways, Android repeated the exact same thing. Dalvik applications won't run in the Oracle JVM.

No, because Android is not a JVM, was never presented as an alternative to Oracle JVM... and never intended to replace existing Java VMs anywhere.


Could you name a single company that doesn't follow where the market is and try to monopolises it later?

Plus, Windows is still the leader in the desktop and laptop market until today. They are facing some tough competition but "not leader in given market" is not true.


> Could you name a single company that doesn't follow where the market is and try to monopolises it later?

I think your argument actually supports parent's position, so this "plus" in the next sentence seems out of place :)


What I meant to say is that all companies try to follow where the market is. Microsoft isn't doing that just because they are losing their leadership in the market (which the OP claimed).


Uh, any company that sells niche or upmarket offerings of commodity products, for one. I.e. Apple, Tesla, a bunch of watch manufacturers.

> Plus, Windows is still the leader in the desktop and laptop market until today. They are facing some tough competition but "not leader in given market" is not true.

Their position in the server world is not nearly so secure, which is quite possibly what this move is meant to address.


> Uh, any company that sells niche or upmarket offerings of commodity products, for one. I.e. Apple

Without thinking much I can come up with a list of instances where Apple did exactly follow where they think the market is. Example include making phones with bigger screens [0], using a stylus with tablets [1], smart watches, small screen tablets [2], the the list goes on and on.

[0]: http://www.engadget.com/2010/07/16/jobs-no-ones-going-to-buy...

[1]: http://www.engadget.com/2010/04/08/jobs-if-you-see-a-stylus-...

[2]: http://fortune.com/2012/04/17/what-steve-jobs-said-about-an-...

> Their position in the server world is not nearly so secure, which is quite possibly what this move is meant to address.

Microsoft never had the lead in server operating systems. So they're not doing this just because they are no longer the leader. This is a proof that Microsoft is just changing how they handle competition and FOSS under Nadella.


Jumping on what Mafana said, Tesla is known for being one of the most closed off car systems on the planet. There were several HN posts over the last month or two talking about this, but they will require a full inspection to re-activate a car once it's been sold or written off, and it's almost impossible to get parts from them outside of service centers.

You chose literally two of the worst examples out there to try and prove your point.


My point is that these companies have no evident interest in establishing a monopoly in whatever market they've followed. That they maintain a closed system doesn't contradict that.


>Uh, any company that sells niche or upmarket offerings of commodity products, for one. I.e. Apple, Tesla, a bunch of watch manufacturers.

SMS to iMessage?


Winners and losers from my perspective: - Linux CLI beats Windows CLI - hopefully I can go the rest of my life without learning to use Powershell or cmd.exe. If anything this cements rather than undermines my preference to use Linux on embedded devices and webservers. - Windows desktop environment beats Linux environments. I'm now less likely to use Unity/GNOME/KDE in my desktop OS, because, while they are ok, they were never one of the reasons I used Linux for my desktop.

I'm not sure which OS this helps/hurts more in the long run, but I know I'm happy.

Disclaimer: I work for Microsoft (double disclaimer: but I'm almost fresh out of university)



I'm not ruling EEE out, but this move feels more like "staunch the bleeding" to capture more developers and retain the ones they have. I'd love to read a leaked Powerpoint or memo that explains the long-term strategy here.

I think this is a great move by Microsoft to be able to EXEC a competitor's binary files natively. But, I think it risks being an admission that Win32/64 syscalls and Windows file system semantics are a crufty boat anchor holding developers back. To admit that risks inviting more developers to bail on Windows.


I'd love to read a leaked Powerpoint or memo that explains the long-term strategy here.

If MS's marketing department has half a brain at all, they will accidentally leak such a memo fairly soon.


Please GTFO. It's going to be awfully hard to extinguish all of their major technology When's it's developed in the wild and MIT licensed.


> A team of sharp developers at Microsoft has been hard at work adapting some Microsoft research technology to basically perform real time translation of Linux syscalls into Windows OS syscalls.

We've actually even seen this before: https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem

(EDIT: To nitpick, I think the MS POSIX subsystem actually implemented the POSIXy standards as native code, as opposed to the translation layer that's mentioned here).


Also similar to the discontinued Windows Services for UNIX (SFU) and Subsystem for UNIX-based Applications (SUA).

And reminescent of Cooperative Linux, although that worked at the driver level and allowed the actual Linux kernel to be used.


Yeah, embrace, extend, extinguish. I don't think it is about that though as they can easily be ignored now. I imagine that they are genuinely losing enterprise traction. If I were on windows I'd run some docker or a VM. I would NEVER compile g++ via openssh from Visual >BARF< Studio. Really in your enterprise you should have a macbook/chromebook on your desk (at home or in the office) and a linux server in the cloud. Unix everywhere now. Bye bye windoze.


I'm not too worried. This is not a full Linux software stack, so it seems more useful to make Windows a more attractive development platform, but what you develop on this would still be for Linux and not instead of Linux.

It might in theory tempt developers to migrate from Linux to Windows more comfortably, with both userlands now available at once, but this doesn't really attempt to make that process easier, other than that.

Besides, I don't feel like Windows is a that attractive platform to develop for nowadays with the cesspool that is Windows Store, the pointless new Universal Windows Platform when your apps need to follow a weakest link due to an almost non-existing Windows Phone market, combined with their lack of leading position on the web.

I think all this is what's bothering Microsoft, because with no development steam, the whole platform suffers a lot. I think the transition at Microsoft lately is happening because they are transitioning from a comfortable leader to a competitor, not because they are trying to squash the competition. They probably long for the days when they were in a position to still have that luxury.


If any software company would decide to use the same strategy adopted 25 years ago, then all of them would horribly fail. Context is different, mission and vision as well. I honestly dont see how is this similar to any of the examples you mention. This is MS targeting developers like me that decided to buy an MBP over a Windows laptop (In my case: A MBP over an XPS). IF I would have bash, I'd buy XPS.


I wonder how they are going to work ads into the command line?


You mean to wonder: how are they going to telemetrify the terminal?


You mean like audit?


Sure. But hey, I'm trying to fit in with all the hip Microsoft-loving shil... I mean hackers here. :)


I thought everybody has seen this "vi assistant" gif by now...


could you link to this?


Sure, they've done it before. But if it's Embrace/Extend/Extinguish, why did they wait for so long to do this? What is it about Linux in 2016 that makes it a different threat to them than it was 5, 10, 15, 20 or 24 years ago?

Isn't it far more likely that this is simply another execution in their recent opening up of their platforms to developers?


What long? MS didn't stop it even for a moment. You just don't hear about patent wars because MS is not promoting them on their blogs.


What you describe is the "embrace, extend and extinguish" strategy.

https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish

This is well known and I think it would be really hard to pull off the same trick again.


Even more surprised that no one seems to recall that they did exactly this back in the day. There was a version of the NT4 kernel that could run Unix programs. "Great, the program selection of Unix with the stability of windows!" people sneered, but still there was a market for it.


But that was a whac-a-mole, probably for getting boxes checked for whatever it is that audit departments did before sarbanes oxley. That they've gone with linux here shows that their focus is mainstream developers. Consider - it their main focus here had been EEE then BSD would have been a far better starting point. The GPL is far more restrictive than the BSD license. The one major area where linux wins over BSD is in drivers and that's irrelevant here. Apart from drivers and package management, BSD is a better platform. They could have found (or bought) a partner in the NetBSD community to do the Canonical stuff.

Now some here would respond to this as - well - what they've done just shows how big the conspiracy is and how far it extends! There's never a full comeback to that. But I think there's a more straightforward explanation.

The straightforward explanation would be this. Windows is no longer relevant in the way it once was - the cloud is the new platform, and people use tablets and phones. And - a lot of developers hate Windows. OSX has emerged as the dominant developer desktop.

They've realised some combination of this, and formed a company directive, "make developers love us".

Even if it means giving developers non-Windows platforms to work with. Like dot net for linux. Or MSSQL for linux. Or free Visual Studio for linux. Or linux that runs on a Windows kernel. Making a solid effort to do linux for azure. And basically giving away Windows as a desktop. Whatever. The things developers need, they're trying to do that. They want to be where the developer are. They're putting their back into it.

The business case is the kind of vague thing that startups take - find some users, make them love us, and then we'll work out how to make money from it.

Imagine the first reaction in the Redmond office when someone read out the feedback post asking for vi and apt-get. Groans all around. But someone in that room responded to the laughter with an "I know, I know" smile and asked, "OK, but what would it take?" And then everyone perked up, and had some fun with the conversation. And they came up with this. And someone saying "shit, we /could/ do that, and it would be amazing!" The people who were in that room will remember that as a career event.

I think it's cool. I want to play with it.



Hey, I waved away the existing unix solution, and your link corrects me. Your link shows it has a history far richer than I said: real people put real engineering work into it, often through a fog of unappreciative politics, and now their neglected thing is on its way to being killed. I've been there - those poor bastards. At least a couple of people downvoted you. But it was a worthwhile correction. Thanks.


> Consider - it their main focus here had been EEE then BSD would have been a far better starting point. The GPL is far more restrictive than the BSD license.

What Microsoft has created is binary translation for Linux system calls, like Wine but allowing Linux to run on Windows instead. FreeBSD, among many other OSs, has done something similar for a long time, precisely because Linux is the most popular Unix-like OS. In addition, Microsoft doesn't care about the drivers -- everyone still writes drivers for Windows.


It was still a little different. It isn't just about building the tools and making them run. It is the environment that comes with it so you can follow any number of recipes you find online to get your development environment up and running. For all the support work I've done in the past, or finding ways to virtualized Linux in a Windows environment (or vice versa), this will be a welcome addition.


They even marketed NT's POSIX compliance as a great feature.


I mentioned it and got completely downvoted, thanks for telling this again and getting to the top!


> typical Microsoft strategy

> utilized a lot 25 years ago.

I don't know about you guys, but I'm not gonna hold onto that grudge forever without good reason. The world's changed a lot since gif's of Calvin pissing on bill gates were all the rage.


It's not that they tried to use it once... they have tried to use it multiple times over the years.


Most recently, when?


What's the benefit of breaking up compatibility? What's the end-game there? The whole point of this, beyond allowing developers to develop without having to run a VM, is to allow *nix apps to run on Windows. If they break that compatibility... people will just ditch Windows. They don't care about the OS, they care about the apps that run on top.


Assuming that Microsoft _ever_ becomes relevant again.


This is great to see, as it's very similar to the approach that we took with LX-branded zones on SmartOS[1][2]. I commented at some length on the other thread on this on HN[3], but I have a bunch of questions about apps that we know to be thorny: Go, strace, tcpdump, systemd, etc. As we learned, this approach is entirely possible -- but there are many, many details to be nailed before you get to the point that you can run production applications on it. So while the journey across the uncanny valley of Linux is long and arduous, we know from our experience that it can be done. Very much hoping that Microsoft gets to the other side -- and that they open source it all so we can all learn from one another!

[1] http://www.slideshare.net/bcantrill/illumos-lx

[2] http://us-east.manta.joyent.com/patrick.mooney/public/talks/...

[3] https://news.ycombinator.com/item?id=11392119


Can windows 10

    apt-get install/run most/all the x/gtk base apps

    apt-get build from source those apps.

    ?
If so, I will consider switch.


No. No GUI applications (currently, and no announced future support... and I wouldn't bank on them doing it).


Fortunately X11 is "network transparent" and there's X11 servers for windows. It shouldn't actually be that hard to make this work (though the perf will probably be pretty bad in a naive implementation).

At very worst you could SSH to localhost and X11-forward to the same host -- but you can optimize that.


Nope, XMing works perfectly if you export the display to localhost (the default) and it's really fast, it even has GL support with MESA , with hardware acceleration.


It doesn't. It's outdated and not free. This should be way more known: https://sourceforge.net/projects/vcxsrv/


I found apps using xming in a VM to be quite laggy, not fast to the point where I could use them regularly. e.g. SublimeText.


Or you could just use ubuntu...

It amazes me that people will rag on linux because its "hard" and then build these elaborate Rube-Goldberg machines to avoid the most obvious solution.


>It amazes me that people will rag on linux because its "hard" and then build these elaborate Rube-Goldberg machines to avoid the most obvious solution.

It amazes that people don't understand that one's usage patterns might be different, so "just use Ubuntu" wouldn't be applicable (e.g. UNIX savvy guy who appreciates the shells and userland, but nevertheless wants to do Windows .NET development, or work with native and proprietary Windows programs the rest of the time).


The "UNIX savvy guy" will just use Windows when he needs to, either in a VM, a Azure windows instance or his company provided laptop and call it a day.

All the yakka spent on avoiding the obvious solutions to justify "usage patterns", should signal any half-aware dev that those precious patterns are broken.


Yes, I will "just use Windows" when all the dev tools for my embedded environment are only available for Windows.

And when I'm stuck on Windows for whatever reason, I'll be immensely grateful to be able to do that with a bash shell and all my normal configuration and tools.


>The "UNIX savvy guy" will just use Windows when he needs to, either in a VM, a Azure windows instance or his company provided laptop and call it a day.

Still missing the fact that he could be needing them 24/7 for his work...


I have been running dual-boot Windows/Linux forever (Minix before Linux took over ;) ). I have purchased programs - Mathematica, Ableton Live, Clip Studio Paint, etc... that I have on Windows along with VS and .NET/F# stuff. This will make my world so much easier, since I only use Linux for the occasional program I don't want to bother compiling on Windows due to dependencies and long make files. Cygwin and MSYS2 have their issues to make this more enticing to me.


Mathematica at least has a Linux version. :-)


Are those the same people? I don't think those are the same people.


Ubuntu being has hard nothing to do with why I don't use it as a desktop or laptop environment (but in fact I use for every server I touch if at all possible)


no i couldn't, corporate it won't let me. this will be so much better than anything else currently available.


Wayland might be a cleaner api layer to integrate into the windows display subsystems.


Or we could use X11 right now with one of the several existing X11 display servers that work on Windows :-)


headless, you're still stuck with Windows Explorer as a window manager.

I don't use a particularly fancy WM/DE under Linux but it's the little things such as middle click paste, and window operations such as maximize horizontal/vertical (by using the middle and right mouse buttons) that I miss.


If ubuntu can run, you just need Xming to have all GUI applications.


If GUI applications run X, any X server on ayn architecture which supports the X11 protocol will work.

Check out XMing.


i recently discovered mobaxterm's awesome automatic x server and x forwarding. suddenly i find myself gvim'ing on my (non-prod) servers. i imagine it'll be similarly easy but better.


If they implement dri, alsa and evdev (without subtle implementation bugs), then Windows would be a decent development platform for Linux games and such games could run on both Windows and Linux. If Apple joins the party, it would be write once, run anywhere. :)


not yet, and probably not likely, but if you're interested in running winders on a Linux i have x2go instance for testing and it works quite well. I use an internal gb network though, so your experience will vary.


vim?


It's in the list given by author:

apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch...


At least half of these already exist, either as .NET cmdlets, Command Prompt functions, or Windows EXEs.

RDP, Robocopy, Find.exe, Sort-Object, Select-Object, Select-String, Invoke-WebRequest, Invoke-RESTMethod, IIS, .NET, CMD, ASP.NET, and Compare-Object will fill most of those needs.

And Powershell accepts "cat" if "gc" for "Get-Content" is too long. Or "ls" if "dir" or "gci" for "Get-ChildItem" is too long. And each of these is a case-insensitive object you can pipe right into ConvertTo-Html or Send-MailMessage.

Or you can create a UDP socket with .NET right from Powershell, and send your objects that way.


It's already working as shown in the video demo: https://channel9.msdn.com/Events/Build/2016/P488


It works really well in Powershell. I use it on Win8.

https://juliankay.com/development/setting-up-vim-to-work-wit...


Presumably, as it's not a GUI application. Not gvim though.


You can already run vim from the msys git distribution


There is also a native Vim, compiled with Visual Studio: http://tuxproject.de/projects/vim


I think M$ is targeting more developers with *NIX background on the desktop side rather than Linux apps on server. So a bash support with uniform CLI is the end-game.


Yea, I think they are going after developers who use OS X because it is UNIXy. Smart move given how en vogue Apple laptops have become for developers these days.


>Yea, I think they are going after developers who use OS X because it is UNIXy

It's a bit more than UNIXy, (the proper term is Unix-like), it literally is UNIX. It meets the UNIX 03 specifications.

Also, the motivations for these move predate the rise in popularity of Apple. For years, one of the biggest complaints about Windows was the lack of a good command line interface. There was the legacy CMD.EXE, which provided support for DOS commands and batch files, and PowerShell, which people either love or hate. The reality, however, is that overwhelmingly, the combination of bash/zsh and coreutils, binutils, util-linux, etc. won out a long time ago. Most schools use a flavor of Linux (maybe Solaris) for teaching Computer Science (and related disciplines), so many people who have formal training are used to those. Those people tend to teach other people to use them, etc.

Some people bemoan the fact that the CLI never evolved past its UNIX origins, but the reality is these tools work just fine. There's never been a reason to evolve them.

http://www.opengroup.org/openbrand/register/brand3612.htm


"the reality is these tools work just fine. There's never been a reason to evolve them."

On the contrary; there have been many valid reasons to evolve them, but backward compatibility was deemed more important.

Example #1: it is possible to write a sh/csh/bash/?sh script that handles file names with spaces, slashes, quotes, question marks, etc, but one would hope that would be made a bit easier, almost half a century later.

Example #2: the hack that is xargs for handling large numbers of arguments. To write a truly robust script that handles directories with an arbitrary number of files, one should run a pipeline using find and xargs, instructing xargs to do the actual work (and you cannot even use find and xargs with their default settings; you need -print0 and -0 flags to handle file names with spaces, etc)

If programs received arguments unexpanded, and the system had a library for expanding arguments, many use cases would become a lot simpler, and scripts could become more robust.

And yes, that could have been evolved. Headers of executables could easily contain a bit indicating "I'll handle wild-card expansion myself".

Example #3: man pages, IMO, should be stored in a special section inside binaries. That ensures that the man page you read is the man page for the executable you have.

Example #4: http://unix.stackexchange.com/questions/24182/how-to-get-the... shows that things _have_ evolved. Reading and parsing /etc/mtab isn't a reliable way to find all mount points, just as reading /etc/passwd file isn't the way to find password hashes anymore, ar has long been upgraded to support file names longer than 14 characters, and zip knows more file attributes than it used to.


Yeah, it would e.g. Be awesome to standardize all the arguments and flags and even the format of those between all the tools (also: how to define "all the tools"), but it'll never happen due to backwards compatibility / the way people know how to do stuff. As much as these tools are each individually weird and nuanced and stupid and broken, they come together to glue a scary amount of stuff together.

It'll get better through rewrites, new tools, different infrastructures etc long before it gets better through iteration on the same tools. That's OK though :)


1) "" or ''

2) Now paralell is better

3) Never. You should be able to check the man pages even if you can't access the binaries.


Many shells enable you to change the way word splitting is done. By default, zsh doesn't do word splitting at all for variables.


1. A few minutes of testing will tell you how to do it for every shell script you will ever write. If you can't spare a few minutes, Google it.

2. GNU Parallel is actually my choice for this, because xargs has a few known issues. Parallel gets the most right, and I used it a lot in my research to run scripts on lots of data.

3. Hell no. Distributions do this job perfectly fine, and you should be able to read the man pages without having read permissions for the binary (since in UNIX you can have 111 as permissions on a binary).


>1. A few minutes of testing will tell you how to do it for every shell script you will ever write. If you can't spare a few minutes, Google it.

No, it actually won't. There are so many tricks and caveats with shell expansions, wildcard handling etc, that regularly old unix hats I know get it wrong (and I've started on Sun OS, probably before half of HN was born).

This is like saying "pointers are nothing, you can learn them in a day" ignoring the obvious fact that the interplay with pointers in a large app is something entirely different than merely understanding indirection, and than even the best kernel/driver/crypto/etc programmers still get pointer related bugs after decades of writing C.

>3. Hell no. Distributions do this job perfectly fine, and you should be able to read the man pages without having read permissions for the binary (since in UNIX you can have 111 as permissions on a binary).

Actually, no, they don't do it at all. One can have 3-4 different versions of a userland program, and never know (unless they explicitly check versions) for which the man page is.


> Some people bemoan the fact that the CLI never evolved past its UNIX origins, but the reality is these tools work just fine. There's never been a reason to evolve them.

This seems like a prime example of the "Anything I am good at using is objectively easy to use" fallacy that's common to programmers.


"There's never been a reason to evolve them."

Err. As a Mac user from when system 7 was fancy looking, and who learned some basic bash in order to do useful stuff like use curl, grep, cat, ls > .txt, rm's based on partial name matches, etc. my only response is "How about we talk about it over breakfast, lunch, and dinner?"

Bash is simultaneously graceful and nimble, yet clumsy. While it's certainly appropriate to worry that any reduction of the clumsy side would have a net negative effect, to not see, or not ack the many issues just continues to deny its utility to non-expert users.


It kinda makes me regret my MBP purchase last fall. I really wanted a Surface Pro but I couldn't deal with developing on Windows.


Couldn't you just boot linux on the surface?


I have a surface 3 and I think it is a really well engineered pc. I'm definitely happy with it. But I think the surface/surface pro line has features most other computers don't have. Such as the pen. And I think MS did do a lot of work designing those around Windows. So I'm just assuming a surface or surface pro would be more functional and better supported running windows. If you really wanted to run linux you probably have better options available to you. But you can technically use linux.


Linux driver support for a lot of the surface hardware leaves much to be desired unless it's changed much since the last I looked.


No worries. Me and many others might buy it. I wouldn't regret though. Keep in mind that even /dev/random will not work on Windows 10


Why wouldn't /dev/random work? Doesn't sound like something impossible, considering that they already support /mnt/c.


Windows runs great on Macs!


I wish. On newer models there's a kernel issue that prevents proper suspend and shutdown, which is a dealbreaker for a laptop. I have yet to find a workaround.

https://bugzilla.kernel.org/show_bug.cgi?id=101681

https://bugzilla.kernel.org/show_bug.cgi?id=103211


What, what? Aren't those Linux kernel bugs? I'm confused what they have to do with running Windows on Mac hardware, though perhaps I'm missing something


It originally said "Linux runs great on Macs!" Not sure why it was edited.


Hey they might get me off of this. I got a mac because it was the best tool for the job - mainly because native bash is just always sitting there.


This was my first thought as well. Windows 10 is starting to look like a serious option to me now.


I dev on a windows box, and deploy to ubuntu servers running on gcloud. I am very excited by this news!

right now my initial deploy+vm provisioning scripts are written in windows .cmd scripts, only because it means I don't have to have a C&C server somewhere. I'll be really happy to put all my automation scripts in bash and have it run regardless of dev env!


Is that a big market segment, or do they hope that developers who work on Windows would be more likely to write Windows apps?


You are right, the Xamarin acquisition was for this very reason. If you are building iOS & Android, why not Windows App with the same code.


Most likely the latter


Let's be honest here. Does this change make some developers actually even consider to change their OS X/Linux Desktops to Windows? Yeah it is really cool thing that we can finally use windows cmd like the terminal on unix systems however:

- What about lack of all the Linux/OS X GUI software?

- What about lack of all the UNIX OS features?

- What about all those billions and billions of Windows malware, viruses, adware etc.

- What about all the spying and restrictions that Microsoft has integrated into the Windows? (e.g. cannot block Microsoft spy server in the hosts-file, forced updates etc.)

- What about the fact that OS X and Linux have always been at least decent from developers point of view but Windows has always had problems and then things like Vista and Win8 happen.

- What about the advertisements served to you in the login screen?

- What about all the future shit MS will throw at you?

- Other stuff can't remember now

If and IF this will actually work out well, I would say this finally makes Windows usable for software development however I don't see any reason why anyone would change from UNIX based system to Windows unless they plan to make even bigger changes in the future...( like rewriting whole Windows to be UNIX based for example. :) )


While I prefer to develop today on OS X...your post is nothing but FUD.

> What about lack of all the Linux/OS X GUI software?

Windows prolly has more GUI applications than both those OSes combined. That's not necessarily a good thing but it's not bad either. It just means there is a Win substitute for everything.

> What about lack of all the UNIX OS features?

Same answer as above.

> What about all those billions and billions of Windows malware, viruses, adware etc.

I download a lot of crap on my home Win computer and haven't had a virus once in the past 6 or 7 years. There are likely more Android viruses active now than Windows.

> What about all the spying and restrictions that Microsoft has integrated into the Windows?

If you don't give permission the action is not taken. Granted I am currently getting spammed to update my home computer from win 7 to 10 but it hasn't force installed on me. Likewise for automatic updates.

> What about the fact that OS X and Linux have always been at least decent from developers point of view but Windows has always had problems and then things like Vista and Win8 happen.

Which is what this new initiative is trying to fix.

Don't get me wrong. I love my osx for dev and my *nix boxes for servers. But if I can get one machine/OS for desktop development of nix and windows without having to run silly emulators or switch between VMs then I'm sold.


> Windows prolly has more GUI applications than both those OSes combined.

Some perspective is needed here. Windows has more GUI applications than both those OSes combined and multiplied by some large number. A windows PC can run every Windows application made in the last twenty years, with some exceptions, and it's an infinitely larger market for commercial software.


> > What about all the spying and restrictions that Microsoft has integrated into the Windows?

> If you don't give permission the action is not taken. Granted I am currently getting spammed to update my home computer from win 7 to 10 but it hasn't force installed on me. Likewise for automatic updates.

Except for the actions that the operating system doesn't tell you about, and you can't be sure about becuase it's proprietary (Windows has at least 3 backdoors and spy features that we know of, and none of them ask for permission). And all of the DRM and related malicious functionality that stops you from doing things you'd obviously want to do with your computer.


[flagged]


> You being extremely lucky doesn't change statistics.

There's nothing lucky about being prudent.


> Now days all the developer/engineer GUI apps are made OS X first, Linux second and maybe Windows.

That's not even close to true, you're living in a bubble. Windows and windows apps still dominate the world, by a long shot.


I absolutely love the fact that windows download and install critical updates automatically for me. I would feel like a slave if I had to do it manually.


You kind of are a slave aren't you?

After all you can only auto update microsoft and store apps. Other apps will either handle updates themselves probably with an annoying UAC prompt and possibly at inconvenient times when you actually want to use the apps. Some have processes that constantly sit in the background sucking up your resources to pop up annoying prompts to update application foo during which you must watch for them changing your browser preferences and installing adware. Others you will simply have to go to their website and download an exe or msi.

Meanwhile you are missing the fact that people don't want to avoid automatic updates to fix security holes. They want to avoid updating to the next undesirable update foisted on the users before its ready and much to peoples annoyance. Example the windows 8 UI change.

Unbelievably staying on an older still supported platform until you are ready to update is a feature you have to pay money for!

Lest you misunderstand I'm not talking about clinging to windows xp till they claw it from your cold dead hands 3 years after end of life I'm talking about the future equivalent of staying with windows 7 and upgrading to windows 10 because 8 sucks.


> "Meanwhile you are missing the fact that people don't want to avoid automatic updates to fix security holes."

You are right. My english is not very good and I did not read what OP wrote carefully about this. Maybe it was the silliness of the word "slave" being used like this that threw me off ;)

Those third apps updates can be annoying but I honestly cannot complain about all those problems you talk about, like processes sucking up resources, popups, and adware automatic installation on updates. I do not even see this happening with (very) non tech people around me. So I think it is a very suspicious argument. Even worst would be to suggest that those are problems are Microsofts blame. Maybe you get those adwares exactly because you think UAC is annoying. Can we blame Google when a user get a virus ridden app from a place other than the official store and ignore the OS warnings?

But if this is the reality, it is another good argument for the push for windows 10 update and the adoption of UWP. In fact, I think microsoft should push even harder for windows 10 updates, it is the right move.

Also, I think that the idea of maintaining a Windows machine updated with only the parts the user wants is hilarious. And I do not know who are those people you talk about. I love to test OS previews and I have never heard a person who already do not liked Microsoft for whatever reason make a big deal about a UI update (windows 8 "metro" mode was shit but easily ignored, windows 10 UI is better and amazing).

The more updates and innovation, the better. I am not afraid :)


> Unbelievably staying on an older still supported platform until you are ready to update is a feature you have to pay money for!

You are making it sound like they are forcing, or even automatically upgrading Windows 7 to Windows 8, or Windows 8 to Windows 10. They aren't. You have to specifically choose the 8->10 update, even if you are getting updates automatically installed.

> I'm talking about the future equivalent of staying with windows 7 and upgrading to windows 10 because 8 sucks.

Which you can do. I'm not sure what exactly your complaint is here. What am I missing?

(Note: I found Windows 8 to be superior to Windows 7 in every way except the start menu. I find Windows 10 superior to Windows 8 in every way except for Privacy :/ )


"You are making it sound like they are forcing, or even automatically upgrading Windows 7 to Windows 8, or Windows 8 to Windows 10. They aren't."

That's not true. They're automatically upgrading computers. Read some of the thousands of below comments to hear the stories. My Windows 8.1 laptop automatically scheduled itself to upgrade, and I was fortunate enough to be paying close attention to cancel it.

https://www.reddit.com/r/technology/comments/4a0asv/warning_...

https://www.reddit.com/r/pcgaming/comments/4a5edx/psa_window...


That was a mistake. I find it beyond belief that they would intentionally upgrade people without confirmation or notification. As much as they would like people to upgrade, they know this would be PR suicide. At a minimum they would have had notifications that it was going to happen, and made it opt out. To my mind, that it was automatically checked but in the optional updates section points towards it being a weird bug in which an unforeseen interaction of attributes caused the problem. For example, it's possible that selecting that you did want to upgrade to Windows 10 through the popups they showed was supposed to put it in that weird state, where it was optional but checked by default, which would be a non-normal situation for an update. Weird exceptions like that are very prone to bugs.


Really wishing you were correct. :/

MS have been pushing Win10 onto Win7/8(.1) end users for what seems like a few months now, continually escalating how forceful they're being.

eg recent IT media about it:

  http://www.theregister.co.uk/2016/03/17/microsoft_windows_10_upgrade_gwx_vs_humanity/
As you mention, it seems like straight out PR suicide.

Personally, it would be useful to know what their end game is justifying all of this bad karma. It'd have to be fantastic. Either that, or someone inside MS is seriously out of control. :(


While that's a wild situation, and MS is not behaving well, it's not quite forcing a Windows 10 upgrade. It's forcing people to be nagged about it, and causing problems in corporate IT departments where they do not want to upgrade and it keeps subverting their control.

It's not good, but it's not forcing upgrades either (which is liable to get them sued).


Hmmm, I really get the impression it's doing a lot more than just nagging. Direct examples mentioned here:

https://news.ycombinator.com/item?id=11285488


Whoa, I missed that. I was thinking of the prior case where it "accidentally" became recommended, but this casts that prior episode in new light. I can't imagine what they are thinking.

Unless... There's some fundamental core security problem in earlier Windows versions that isn't in Windows 10 and they don't want to tip off anyone to what it is, because it's so large and egregious it opens them up to a lot of liability and lawsuits. Okay, I'll take my tinfoil hat off now...


Well said my friend! Upvote


Quite a load here.

I switched to Mac for my personal development in 2001 but still used Windows at work. I have found over the last couple years that I have been migrating back to Windows for quite a few things. For me personally, I find the UI in Windows to be more productive and faster. The features Apple has been adding are not things I'm very interested in and I haven't been using my 2009 MBP for much anymore except syncing with my iPhone. A number of Linux VM's are always around for development work and if I can do it all now in Windows, I'm all in.

I've been holding off buying a new laptop and, if this new feature works as advertised I will not be buying Apple.

Haven't had malware in years. Vista and Windows 8? Advertisements? Future shit and other awfulness you can't remember? Yeah those really sound like valid points.


[flagged]


You didn't substantiate those points, so there's nothing to really counter.

Seriously, you just asked someone for a counterpoint to "other stuff I can't remember".


Please stop posting uncivil and unsubstantive comments to Hacker News.


Data point: On Windows when you run 'npm install' on a react boilerplate/starter project chances are 50/50 that it will work out of the box. A year ago it was way worse. I thought heavily on switching to Mac for no other reason but 'npm install' success rate on Windows.


Honestly it's not much better on OS X. The solution to failed npm installs is to keep running npm install until it works. If that doesn't work after about 6 times, wipe out node_modules dir and try again. Npm got lots of laughs at EmberConf this week. Everyone hates it but we all use it because it's what everyone uses.


Oh god, the node-gyp rebuild errors...


I have been running Windows, Mac OS, Linux (Minix at one point and other variants), for over 20 years. They each have their strengths and weaknesses. Linux is the go to language for servers right now. I have made most of my machines dual-boot, Linux/Windows. I have given up on OS X's walled garden, and it is not as nimble as it once was. For me, the dependency hell, and trying to build an app I want to use that breaks another on Linux can eat a lot of time, and takes a lot of Googling to maybe get it working. Granted this is for possibly the type of programs I am targeting: livecoding environments like Extempore, Tidal; machine learning and CUDA/OpenCL versions and dependencies, etc... Being a problem solver, sometimes this is fun, but when trying to produce work, it can be a big time waster. I think most Linux users are tinkerers whereas there are some technically naive people who are very productive on Windows. Personally, I use programs like Clip Studio Paint on my Windows Sony tablet PC, and it is only available on Windows and Mac. For programs like these there are no acceptable Linux variations. I tried to work with GIMP for years, even writing my own scripts in it. For the present I will stick with my dual-boot machines, probably welcome this new edition to Windows, and keep hoping a new OS or variant comes along that is truly innovative. To me Linux won the contest years ago, but is not a big ball of mud. Here's to a Lisp Machine, or Forth OS, or Urbit-like system coming online. More time to waste and have fun; Linux is so 2000s!


Although I've been a primarily C# dev for years, I gradually moved to Ubuntu, and then to OSX, all because of the better terminal/s. I like Macs, but OSX, its window management system, finder, is really bad. Having bash environment available on Windows is an incredible feat and a reason alone to reconsider Windows again. Hopefully, it won't be limited to W10.


Hopefully? Sorry for bursting your bubble but Windows 10 is the ONE way to go, from their perspective.


If you are moving back to Windows, then you are moving forward to Windows 10


What do you dislike about Finder? Just curious.


"Finder sucks" seems to be a meme perpetuated by commenters everywhere, but I have never read a convincing list of issues. When pressed, commenters have replied things like "it is well known that Finder is a big pile of crap."

I honestly have never found a problem with the Finder and miss a lot of its features (column view, drag file to file dialog, high-resolution previews for most file types, Quick View, and much more) when I'm in Windows or Linux.


First right-click for a session totally hangs the Finder for ~10 seconds, followed by the beachball, followed by a brief flash of the contextual menu. The next right-click works as expected.


I think this move by MS is wonderful and I support it completely - but there is one concern that you've left out that makes me more worried than anything.

I'm someone who doggedly persisted trying to dev on my windows box because the stability, speed, app support, GUI niceness of windows is just far superior to Ubuntu (I won't speak to OS X since I've only done minimal dev on it). I won't go into a lengthy defense of this claim - but will if pressed.

I put up with all the failed python module installations - the hunting around for the right VisualStudio compiler... the 64bit python install issues... on and on... I put up with it all... only to be defeated in the end by various node modules failing to install because they use ridiculous depth in their directory file structure that the windows filesystem can't handle. Our projected needed those dependencies. Something had to give.

So I tried vagrant VM with virtualbox - and shared folders... so I could keep my windows GUIs without needing to sshing everything to the VM. Somehow - even though the shared folders thing means the VM is ultimately using the windows filesystem - the node modules would install okay. BUt then I had problems with symlinks (which was solveable with effort)... But the worst thing was that various files, and sometimes whole directories would randomly have their permissions changed inextricably such that NO ONE - not even an admin user could touch them. The VM would get locked out, I would get locked out... it was horrid. It happened in the middle of a rebase once. Sad times... Sad... sad times.

So - I ditched vagrant and shared folders and use a totally contained VM with the ubuntu GUI... it's slow and horrid and it makes me cry... but at least I can alt-tab and waste time in a browser in the windows GUI if I want to.

So anyhoo - my concern. This approach by MS is going to mean everything plays with the same windows file-structure yeah? Or does the ubuntu thing get it's own self contained filey-bits to play with?

Cause if the former... then I will have the fear... THE FEAR... when I try to use it.


NTFS supports 32k file names; the Win32 & Win64 layers, by default, only support PATH_MAX (260) characters for backward compatibility (compatibility with Win16, ironically enough). You can opt in to longer paths by prepending paths with '\\?\' to disable path length checking, but the check itself exists in the Win* layers. I would expect the Linux layer doesn't apply this check.


OMG best answer. Thank... you!


> So I tried vagrant VM with virtualbox - and shared folders... so I could keep my windows GUIs without needing to sshing everything to the VM. Somehow - even though the shared folders thing means the VM is ultimately using the windows filesystem

Maybe the other way would be easier, use the VM for all dev file storage as well, and export a SMB share that you can connect to from windows. Same sharing capability (as long as the VM is running), but you don't have to worry about different underlying file system semantics.

> So - I ditched vagrant and shared folders and use a totally contained VM with the ubuntu GUI... it's slow and horrid and it makes me cry... but at least I can alt-tab and waste time in a browser in the windows GUI if I want to.

Personally, I would just SSH for access to the VM though, as I find PuTTY superior to having a desktop as a window on a desktop (I would prefer to RDP to a local Windows VM as well). But I use Vim as my IDE, so it's extremely easy for me to do so.

That said, Visual Studio announced support for targeting Linux today (I assume either through SSH to a local VM or remote box and/or the local Linux support they announced here, so that might be an acceptable route in the future.


I'm using atom - I wonder if it has a plugin that will ease ssh pain... thanks for the suggest!


> So - I ditched vagrant and shared folders and use a totally contained VM with the ubuntu GUI... it's slow and horrid and it makes me cry...

Is it really that bad? At one former job I ran Ubuntu under VirtualBox with guest additions installed (new Linux team in an old MS shop).

Performance was OK, at least for the things I used - terminals, vim, Firefox. The only thing that really annoyed me in this setup was the need to switch between the VM and Outlook every now and then. Fortunately, Outlook's notifications worked even in VM running fullscreen (IIRC).


>Is it really that bad?

I was going to agree with you and admit I was being melodramatic...(well - I mean, saying that it makes me cry was certainly melodramatic - I don't really), but y'know what... it's definitely not ideal.

e.g. Scrolling in my ide.. sometimes lines of code don't refresh properly until I scroll back and forward a few times.

And with dev server, webpack watchers, test watchers open plus browser with a few tabs... yeah - it can get pretty sluggish. Maybe I'll try throwing a few more gig ram at the VM.


For me, surprisingly yes. I had no interest in having Windows as my primary machine yesterday but now I would seriously consider it.


In a totally non scientific survey 2/5 developers here plan to switch from our top of the line MacBooks to Windows 10 if this really works as promised.

We are a Python, Java and Scala shop.


Many of us, I'd say a majority of Devs work in an environment where you don't really have a choice, other than Windows...


Every environment I've walked into like this (unless it's Windows app development) this was only because no one tried. I joined a large web shop that was Windows Dev, but Linux deploy.

Never made sense to me. It was driven by IT because of control issues. I introduced Linux (this was 10 years ago) and then slowly ever Dev switched to develop on Linux because it was a better development experience. Unix is by hackers for hackers. IT was forced to incorporate these systems, which wasn't hard.

Now with this change I can see why people might switch back, definitely makes it easier to have Windows IT shop, but still be able to target Linux. Personally, Docker has already started resolving this issue for me, but I can see it helping Windows devotees. MS lost my trust back in 1996, and I honestly don't know what they could do to regain it, but this isn't enough for me.


For a second machine (maybe a cheap laptop) then yes, I would consider it.

As a side note, Windows NT had a POSIX layer as one of its three main APIs (Along with Win32 and OS/2), so in theory, at least, it should have been easy to port true UNIX apps to it. I have no idea what state the POSIX layer is in now; probably in a similar state to the OS/2 layer.


The POSIX subsystem was removed some time around Server 2003. They replaced it with Unix Services for Windows, which was based on an acquired technology, but that's no longer available as of Windows 10. After laying fallow for so long, I really doubt they used the old multi-subsystem architecture to implement this new stuff. Could be wrong, though.


Pretty sure the new stuff is based on the aborted attempt to get Android apps to run on Windows phones.


I still can't believe so many developers switched to Macs after that ad campaign they ran. At this point, I wouldn't be surprised if eventually 'GNU/Linux/Windows' ultimately ended up with a majority share of developer desktops.


> I wouldn't be surprised if eventually 'GNU/Linux/Windows' ultimately ended up with a majority share of developer desktops.

As funny as it sounds, it's GNU/Windows. No Linux there - they made it work by emulating Linux.


Out of curiosity, which ad campaign are you talking about?

As for which OS (Win/Mac/nix) controls the majority share of developer desktops, I feel like it's always going to depend on what you're developing, so talking about the overall "biggest slice of the pie" for developers is less meaningful than talking about who has the biggest slice in the consumer space.

For example, a backend web developer might look at this "Winbuntu" thing and suddenly be attracted to the idea that they could trade their Mac in for a PC that lets them do all the UNIXy stuff they need for their job, but at the end of the day lets them play the latest PC games...

...unless SteamOS continues to grow in popularity, in which case Microsoft loses share because a Linux-based laptop suddenly seems like the best choice for a gamer-developer.

On the other hand, if we're talking about a company handing work laptops out to employees, frontend developer-designers are likely to continue preferring (requiring, really) Macs for a long time to come, and that likely means that it makes more sense to keep a common platform and hand Macs out to everyone, since so many server devs are already well-accustomed to using Macs. And though Windows might eventually become attractive enough to professional designers, Linux is deeply neglected in the design-oriented space.

But that's all just web development, which has much more fluidity than other types of development. Game developers will continue to develop on the platforms that they intend to support (or Windows for consoles, at least for the time being). iOS developers will continue to develop on Macs. Mac developers will develop on Macs, Windows developers will develop on Windows, and Linux developers will develop on Linux. I'm barely an Android developer, but it seems to be slightly more natural to work on a Mac or Linux machine, and yet "Winbuntu" would likely remove that advantage.

I agree that with Windows embracing Linux so deeply like this, it certainly opens the door for a lot of people to make the switch-- personally, I bought a Surface Book because I was excited by the hardware, but quickly returned it once I realized how unhappy I was without native access to a terminal. If Ubuntu continues to flourish as a fully-fledged aspect of Windows, I might consider buying the Surface Book 2.

But my personal anecdote also illustrates the greater point-- this opens the door, but it doesn't push anyone through it. I was tempted away from Apple because they've stopped innovating on their laptops. In order for developers to switch to Windows, they'll have to be tempted for their own reasons. And old habits do die hard.


Out of curiosity, which ad campaign are you talking about?

Apple ran a fairly successful campaign in a number of highly technical publications shortly after OS X came out pushing the concept OS X was not only Real UNIX(tm) but also that a Mac was the best Unix workstation you could buy. I'm guessing that's the one, it certainly worked on me.

Here's one of the ads: http://www.brainmapping.org/MarkCohen/UNIXad.pdf

I think there where a few others. I seem to recall one showing OS X running matlab.


Probably a recent incident where Microsoft started showing full screen ads on the login screen is meant.

https://news.ycombinator.com/item?id=11167964


Odd, I hadn't heard of that until now, and I spend every day in a room with ~20 people all on various windows 10 machines.


What ad is that?


I'm now seriously considering the change or at least adding this to my line up.


If I was still stuck using an OS X box, I would definitely switch. If I was using Linux, I wouldn't. I've been forced into developing using Windows for the last few years, and for my use case (SSH to remote server to develop there), it's not that bad. There are some annoyances, but from a usage perspective, Windows 10 is actually really nice. Getting native terminal and SSH[1] support actually handles a bug chunk of my annoyances.

> - What about lack of all the Linux/OS X GUI software?

What about the lack of windows software on those platforms? It goes both ways.

> - What about lack of all the UNIX OS features?

Which features? What about the Windows OS features you do't get on a UNIX OS? Again, it goes both ways.

> - What about all those billions and billions of Windows malware, viruses, adware etc.

There are plenty of windows Viruses and malware, but I will say the most problematic security problems I've had have all been on Linux boxes. I would still count Windows as more problematic overall due to the quantity, but I believe the focus on security from Microsoft in the recent years has paid off, and it's nowhere bad as it used to be. Also, to some degree, the prevalence of malware and viruses are because of the popularity, and the popularity comes with it's own advantages (more supported software). It's a trade-off using a platform where some software you like may not be available (e.g. games).

> - What about the fact that OS X and Linux have always been at least decent from developers point of view but Windows has always had problems and then things like Vista and Win8 happen.

Am I supposed to know what this means? People have been using Windows as a development platform for a long time. Those that want to use Visual Studio still do. Windows Vista was crap, but I didn't find Windows 8 bad at all. Around Windows 7 is when it started actually being viable for me to run, and I think it's gotten consistently better over time. The biggest problem I know of that people had with Windows 8 is the start menu change, which to be honest is a really small thing, people just didn't like it and it was front and center.

- What about the advertisements served to you in the login screen?

I haven't seen any.

> - What about all the future shit MS will throw at you?

I'm not sure how this puts Windows in any different light than OS X.

> - Other stuff can't remember now

Seriously?

> - What about all the spying and restrictions that Microsoft has integrated into the Windows? (e.g. cannot block Microsoft spy server in the hosts-file, forced updates etc.)

This is valid, and would be my number one reason for not running Windows at this point if other considerations didn't outweigh it for me.

1: https://github.com/PowerShell/Win32-OpenSSH


> What about the lack of windows software on those platforms? It goes both ways.

i miss absolutely zero windows software.


I miss Windows software while on Windows.

In every release there is something removed and a new replacement to relearn.


Eh, games are the only thing I missed when I was exclusively Linux. Even that's changing though.


i miss absolutely zero linux software.


I think the lack of linux gui software was a comment on why a linux user wouldn't find this a compelling reason to switch not a comparison of the software available on each platform.

Personally I think someone interested in graphics/cad/audio production might find something compelling even if alternatives exist on linux for the above. I don't see much in the way of gui softare that anyone would care for as a developer. You can bring up visual studio if you like but I don't find it compelling.


a lot of assumptions here. I thing the major point is that Windows will be less a pain in the ass if you have to deal and develop for Linux production systems. So IF I ever have to use Windows I don't need to deal with Cygwin anymore. But for me the biggest reason not to switch is the hardware. Sorry @all Windows folks but Macbooks are playing in another higher league for me. I would never ever switch away from Macbooks because of the build quality.


Surface Book and things like the Razer Blade are looking to change that. Honestly your money goes further with Windows hardware, and you can get stuff like the Lenovo mobile workstation with a mobile Xeon CPU and ECC RAM. However, they can't run a blessed OS X. IMO, if Apple really wanted to mess with Microsoft, they could make OS X installable (without EFI hacking and overriding the CPU identifier etc -- yes I've had my fun with OSX86 since 10.5 days) on normal PC hardware. Their hardware would still sell because of the premium build, and they could probably charge $400 for the OS. The Dell XPS stuff is also pretty nice from what I hear.


> if Apple really wanted to mess with Microsoft, they could make OS X installable

Microsoft once offered to help Apple to make Mac OS a widely-used industry standard. Apple decided it would rather sell $2,500 PCs than $50 software ;-)

http://scripting.com/specials/gatesLetter/text.html


yuuup


Completely agree. Gotta say Satya is doing some serious SunTzu'ing on Microsoft's approach with other technologies. Applauds


What is M$? Is it a cool way to say Microsoft?


Only on Slashdot during the '90s ;-)


Very clever publicity hijack but no, this news is irrelevant to SmartOS.

Btw, FreeBSD runs Linux binaries for years, which is also irrelevant.


I have incredibly strong doubts that this will ever be open sourced, as Microsoft does not want third parties to implement NT subsystems. If the emulation target is itself an abstraction, then maybe. Maaaaaybe. But that delivers pretty much the same result in practice.


Bryan, huge fan here! I agree and believe this is just a primer to making that happen. I'd personally like to see containers become the default for application deployment and sandboxing on all operating systems:

https://www.linkedin.com/pulse/why-you-should-help-me-create...

Any chance you're planning for a "desktop" version of SmartOS?


We're not -- but that's not to say we wouldn't encourage it! Bluntly, for us it's a driver issue: things like WiFi NICs are infamously varied and buggy, and we have our hands full (just) supporting modern server hardware. But don't let that stop you!


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: