Can somebody please explain to me why Microsoft is suddenly being so open? Are they afraid to lose relevancy due to Linux/OSX/Android and this is their way to fight back? What is the long-term strategy behind all of this?
Software-wise: The open source advocates (Scott Hanselman, Scott Guthrie, Damien Edwards, and many others) won the internal struggle. Microsoft is more open because they recognize this is a superior model over the proprietary closed systems they had built in the past.
Business-wise: The answer is Azure. While Microsoft wants you to run Windows, they care even more that you're running in their cloud.
"The answer is Azure. While Microsoft wants you to run Windows, they care even more that you're running in their cloud."
The lock in here is a very hard to resist value proposition. I started using Azure because they gave hundreds of dollars a month for free (for I think 3 years). I then started to use their services because it's just simpler. Core made that decision even easier for me. I originally started using Core because my thinking was "if i'm on linux, I can always move to AWS, linux is pretty competitive everywhere", then I needed a solution that had a market place offer (which is not free) or an azure service offer (which is free). I decided to choose the azure solution, but I designed my software with an interface so in theory i could replace the implementation if I ever needed to move to AWS. However, i'm now starting to realize that while I've always tried to choose solutions so I can easily move, it's becoming increasingly more difficult. In 3 years I may have the capability to move, but i'm now becoming aware that it might not be practical to move. They got me.
We evaluate cloud services quite often to see if we are still betting on the right horse and I can't say (but that might be taste) that I find Azure any easier to use that AWS. What do you find simpler? AWS is almost no work; you write code and the rest is handled for you. I'm not sure how to get simpler 'beyond' that.
Azure does that too, you can create a Web Application project in Visual Studio and publish it directly to your Azure subscription, it provisions everything it needs automagically and just works. I haven't played around with testing that out tooo much but it seemed pretty slick based on the demo project I set up. Tearing it down later was also incredibly easy.
Yes, but then it does the same thing and given I would not want to run Windows currently anyway. It seems at least it's just the same thing (Functions copies Lamdba etcetc). No reason to switch or find one 'better' than the other unless you are fully Windows. That's why I always thought they should just port VS to Linux/Mac OS X; then they are on to something.
Azure is ten times more simple for an indie developer like me.
First thing I have immediate trouble with is the phrasing of AWS which is confusing. Second is their offerings and ux which is also totally confusing. But when you get passed that, you still have to do more configures than in azure. If you do not use Visual Studio (VS) or .NET you can still download the whole deploy profile file you need directly from the app service within Azure.
In Azure, I can create a new project and it will autogenerate the entire profile for me, run my migrations and I can deploy from within visual studio in minutes.
Coming from a "classic open source background", Microsoft has totally won me over. I save so much time with Azure and VS it's crazy.
I have experience of AWS and Azure and personally I just think Azure beats AWS in every aspect.
Still seems from what you say (as we are used to the naming and ux of aws already anyway) is highly dependent on VS which depends on Windows which our teams simply do not want to use. I guess I will have to re-evaluate Azure again soon but VS on Win is not an option so I think the same conclusion will come out of it. Again, if they port VS they will probably win the battle from AWS. Or AWS can make things smooth with VS (do not know if that is possible).
> The open source advocates (Scott Hanselman, Scott Guthrie, Damien Edwards, and many others) won the internal struggle.
This is truly an amazing feat. Imagine the cultural headwinds these guys were up against. They also won over the Microsoft Board of Directors to eject Steve Ballmer (finally). Hats off to Scott, Scott, Damien et al for staying the course and pulling off a coup.
Hopefully you're right, and MS does Open Source it. :)
That would give people a chance to see what's really happening, rather than just seeing bad actions + hearing weasel words (aka corporate speak) to justify them.
> Guess by the downvoting that there's a reason people feel the "metrics collection" shouldn't be Open Sourced?
It was a childish and immature comment, not appropriate for HN. That's why it is getting downvoted. In addition, this comment talking about the downvotes will get downvoted as well. Not only for the fact that you are talking about downvotes in your comment, but by the fact that your comment is effectively "begging the question."
Rather than make one-off snide comments, actually contribute something that is respectful to other people's time.
What's a better way to point out MS should be Open Sourcing the parts of their codebase which people don't trust (eg their spyware)?
They seem to be making large numbers of moves trying to get people to use their platform... and at the same time, shooting themselves in the foot-head-foot with trust-destroying moves... and ignoring everything in relation to that. :(
"Maybe Microsoft should consider open sourcing the components of their system which track users. It's possible that this would help rebuild the trust that was eroded with the release of Windows 10."
You are disrespectful and your rudeness adds nothing to the discussion. His made a valid point. This entire site is just by its nature very pro business even in the case of really bad businesses.
If you post something negative about M, it will be down-voted. It's kinda weird that they choose to ruin their goodwill. They had the chance to be the premium alternative in the freemium world.
Making the barriers low for Azure is huge. They have such an advantage over Amazon and Google here. Google has no IDE to speak of. Amazon has no IDE, language(s), runtime, etc.
For backend developers, this is super smart. When I'm running an app on my phone or in my browser, I don't care if the brains reside on AWS, Google, Azure, Rackspace, etc...
For the front end, this probably won't have much effect. Developers go where the users are and there's very little excitement around Windows applications (win32 or universal). If keeping developers happy was all that important, then Linux would be the dominant desktop OS.
Nobody really knows for sure. But here is what I've read in other comments and it makes the most sense to me (sorry can't find the source!):
> Microsoft has lost in server space against Linux. Developers developing any server software switch to either Linux or OSX. They want to prevent this switch.
A lot of people talk about this as something new. This is really Microsoft going back to its roots. Remember, before the PC, Microsoft made its money selling development tools for multiple platforms. This is their DNA.
1) Use developer tools as onramps to Azure. Same reason Amazon made Lumberyard free. Yes, developers can opt for other clouds, but the effort required to do so will often seem more costly than it's worth.
2) Specifically for Xamarin, if you've already built your iOS and Android app in .NET, in Visual Studio, and there's little more than a recompile between you and a Windows Mobile version, why not do that too?
This is a long term trend that began with Gates leaving his position as CEO. I'd imagine the engineers have slowly been gaining more influence over time and most engineers can see the value of openness as it increases the scope of what they can achieve.
The first echoes of this trend in my opinion were codeplex and providing sources for .NET.
The strategy is an enterprise play. MS has loss the consumer for mobile, so focusing on enterprise to take advantage of its strongest strength. Enterprise needs cloud: Azure. Enterprise needs hardware: Surface Pro/Win10. Making it stick is the many enterprise C# developers and one developer tools for all platforms, outside or within enterprise. This will effectively counter IBM/Apple's Swift strategy with iOS devices for the enterprise. And keeping its enterprise customers away from AWS and Google. I'm learning React Native, MS is giving me pause to look at Xamarin. As a side note, it might be good startup idea to create a Xamarin clone that uses Swift that targets all platform. Likely acquire by Apple or IBM. Fastest way is for JetBrain to spin off one unit :-).
> This will effectively counter IBM/Apple's Swift strategy with iOS devices for the enterprise.
In a similar vein, Satya Nadella's new "vision" expressed in yesterday's keynote, aka the future of chat bots with their AI / personal agents (channeling some of the original General Magic vision of 25 years ago), strikes me as more attainable for "developers developers developers" v.s. the marketing messages / PR spin coming from IBM on the Watson AI.
> I'm learning React Native, MS is giving me pause to look at Xamarin.
Likewise. Let's see what Facebook has to say at F8 starting April 12th. The competition is great. We are in a much better place today v.s. 20 years ago when Microsoft was a monopoly and expending time and money trying to kill Netscape and battle Sun's lawyers over Java.
It seems like Microsoft wants to free the developer tools but control the distribution of binaries through the Windows Store. Seems like an intelligent business decision to me.
You can develop Linux or Mac but you're not going to get the same quality tooling (hello Universal Windows App Model).
Because Windows is loosing as a dev platform for web and mobile. Enterprise developers are in control as enterprise already did their lock-in with the Office365 platform and surrounding technologies. Don't worry they close down again when enough have come back.
I would say that it's not to swallow but rather to embrace. I have been developing middleware in Java, C++ and .NET on Linux and Windows Servers using basically every possible editor/ide/debugger combination. I have always regretted the fact that Java and Linux did not have anything on par with what Visual Studio provides. Now that most of the tooling is free deciding which tool to use will be a no brainer for everyone that has just touched VS and will become extremly tempting also for anybody else. At the same time this will push adoption of .NET and I foresee that in the next 10 years .NET will erode much of Java space.
In my opinion the stategy is not to swallow Linux but rather to push .NET. On premise Servers are becoming less relevant Linux or Windows won't make much difference in the future. What will make a difference is what the cloud will support and provide.
Not entirely true, visual studio without resharper is a pain, IntelliJ idea is definitely better. With resharper the experience is pretty much the same with a small advantage to visual studio.
Aside from a good lesson in "how to fuck up financial engineering" (give in to your shareholders every demand, without ever once mentioning that that's exactly why your share price dropped by a factor of 35-40% since the last CEO got appointed, even while debt increased a LOT and assets were reduced by even more (ie. despite the drop, IBM is definitely overvalued). We're getting close to the point that IBM might actually die, or at least get taken over by something like Oracle), what exactly does IBM still do that matters even a little bit ?
I always wonder about how companies with such resources manage to make so little use of the advantages they develop. For instance: why wasn't Watson running every callcenter on the planet 5 years ago ?
Right now there is little in Watson's tech that can't be duplicated by 10 other firms and give it another year or 5 and every startup can do it. It's too late. How can management of such behemoths as IBM let those things happen.
Not that Microsoft did better with Windows Speech Server, and Google and Facebook, well they're not even trying.
The thing with software is that it gets outdated quickly... and if you don't get the updates, security fixes etc., there is no point in using it. Microsoft releases it with certain license today, will change license tomorrow and then drop support for open source version... most people using it will have to move to their proprietary shit.
Do you know what Microsoft did when they tried to kill Java? They implemented a version of JVM on their OS... and that in such a way that if you made apps for Microsoft's JVM, you wouldn't be able to run it on other platforms.
There is direct and indirect evidence that this is one of the core strategies Microsoft has used for many years. Given Microsoft's recent embracing of Linux and open source in general, which of the possibilities you think is likely:
1. After calling Linux and Open Source "cancer", "something to be not touched with a 12-foot pole", suing Linux and open source software makers for patent violations, making Linux vendors pay to not sue them, now they suddenly believe in healthy competition and want to part take in open source revolution
2. This is a new strategy to "embrace" Linux and Open Source to start extending at some point in order to finally extinguish it
EVEN IF there is A TINY possibility that scenario 1 may be true, I think it is a wise decision to ditch Microsoft for what they have done in the past.
The issue with that is people will leave for alternatives. It will also probably be more quick than before and then they would for sure never win the users back.
I think alternative 2 is a really bad business decision nowadays and thus will never happen. The difference from the past and today is that they really have open sources a lot. They actually proves their agenda with code and support like never before.
>The issue with that is people will leave for alternatives.
You seem to think most Microsoft users choose their operating systems. They don't. Most of them don't know any better or even if they do, they keep on using the operating system that came with the computer. Also, they have to use software that only runs on Windows.
> they would for sure never win the users back.
People like me who know about this and care never go back. Fortunately for them, most people don't care. Those who choose them do so either because they have software to run on Windows or because of their excellent marketing in the corporate market.
edit: Thank you for all your answers!