Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
Microsoft Joins the Eclipse Foundation (blogs.msdn.microsoft.com) similar stories update story
204.0 points by dstaheli | karma 1263 | avg karma 5.99 2016-03-08 15:02:31+00:00 | hide | past | favorite | 158 comments



view as:

I swear I just saw a pig flying across the sky.

What is going on in Microsoft? Have they finally seen the light? First today comes SQL Server on Linux and now this.

It makes a refreshing change. Long may it continue.


First SQL Server on Linux? More like a continuing strategy going back for years, since they began opening up bits of the .NET framework, compiler, ASP.NET and MVC, etc etc.

Now the great majority of the .NET development stack is completely open, aside from Visual Studio itself. But there's always Visual Studio Code, the lightweight, open source alternative. Runs on linux too.


This shift occurred some time back when MS started the process of open-sourcing .NET and porting it to Linux.

Where do you want to go today?

Open source, apparently.


MS realized that Windows as a platform is not attractive to developers. So it is desperately to win those developers back. On the consumer land, Windows is quite happy being the de-facto platform OS, so it doesn't bother to release anything in other OS (DirectX, Office, just killed Skype in linux etc).

> so it doesn't bother to release anything in other OS (DirectX, Office, just killed Skype in linux etc).

Office is available on other platforms, and they've been adding new platforms in the last couple of years.

Currently supports: Android, iOS, Windows Phone, Mac, and PC. Not including their in-browser suite which runs on Chromebooks and your smart fridge.

They also haven't killed Skype for Linux. Skype for Linux was terrible before Microsoft purchased Skype. If anything Skype for Linux hasn't been improved while the Skype for Windows client has become progressively worse.


Before Linux made the GNU development model something that was actually being used, when people thought of openness in computing they usually thought of "100% IBM compatible", running a Microsoft OS. The contrast between the "open" world of PC clones and the isolated islands of hardware makers that supplied their own operating system was as alive and visible back then as the contrast between FOSS and MS is now.

Seen this way, the slow transformation from lock-in to charm-in that we observe today is more a return to the roots than a dissolution of identity for Microsoft.


Say what you want about Microsoft, but they really take their words into action nowadays. Seems like there is at least one news item per week. They have been really active in the open source space recently.

Personally, I love this. Have recently been learning ASP.NET and started using Azure simply because I find it to be one of the easiest frameworks and platforms to iterate quickly on.

I love the new Microsoft, I hope this continues. It feels like they have had a lot of brilliant people previously held back by rules and constraints which are now removed.


Reading it, it doesn't seem to be a completely altruistic policy. The way I read this blog post is "we are going to contribute to Eclipse to ensure that you can deploy your projects well on Azure".

I'm not saying it's bad. But it's not a "MSFT open sources xxx" headline either.


Of course it's in their interest to do this, but that's always the case when it comes to company sponsored open source?

It's not like they're going to throw money on something that they believe never will benefit them in any way. This is completely fine and how it should be.


They're doing this for themselves. If MS don't invest in open source, they'll be left behind.

It's a nice reminder how important OSS has become.


Can you mention one company sponsored open source investment that isn't based in self-interest?

I don't think that is relevant, but of course open source is important and probably will be in the future as well.


The point here is that people remember MS aren't doing this for philanthropic reasons.

To answer the question: Canonical. While they're aiming to become profitable, I don't think Mark Shuttleworth has any illusions about getting back all the money he invested.


I accidentally downvoted you when I meant to upvote. I really wish you could undo that (even if it precluded you from voting on that post again).

But the point is that everyone is self-interested in OSS.

Canonical has an ad on their page for Ubuntu Advantage, they run training and offer certifications, etc. They are not a philanthropic organization.


But the point is that everyone is self-interested in OSS.

If we're going that far, everyone is self-interested in everything, even if it's just because doing something (like, say, giving to charity) makes them feel good or suffer less guilt.


I realize that was an overly broad statement but I thought the next line clarified it a bit. Canonical definitely has a direct monetary incentive in its OSS participation.

I agree, but compared to what he's put in, I'd be surprised if he has any ambitions of getting out anywhere near what has gone in. I think it's more of a lifestyle business (in the literal sense)... but I could be wrong! :)

Don't worry, I don't care much about internet points.

Maybe not, but they still do development based on self-interest. It's not like they're going to contribute to let´s say KDE if they have no use of it (it is an example, I have no idea of everything they contribute to)?

What I mean is it doesn't matter for what reason you're contributing to open source for. The sole thing of open sourcing code, contributing to existing projects etc is inherently a good thing.

At least personally I don't give a crap about why someone creates an open source project. I am just happy people do it.


>it doesn't matter for what reason you're contributing to open source for

Microsoft is a shady company and they have contributed to projects in the past to cause damage.

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


Java - A hardware company creating a software product that eases their customers ability to run on commodity hardware.

To me it feels like they are IE6 of Open Source

They got no choice. They realized that if they don't do these moves their platform is dying.

But let's scope the discussion just around this announcement.

Majority of the topics here are around azure for non-.net market. There's TFS but only because this is how IDE works: provide plugins for a source control systems to reduce task switching.


I don't agree that they have no choice, they are simply making a good choice.

Yes, in Visual Studio publishing your application (even node.js) is as easy as going into the meny and pressing publish. You can setup git-push deploy, databases etc easily. I believe they want to integrate their tools into Eclipse which seems awesome. Think if you could set up cloud management in your IDE for java/C++/php projects as well. That would be awesome for the people using Eclipse and Azure.


When the other choice is bad (as you eluded that they chose the good option) then they got not much of a choice isn't it?

Treat the non .net platform as a second class citizen and their potential customers will smell that from far away...


Wake me when they GPLv3 something and create a development community around it so that they aren't the sole copyright holder.

Arbitrary requirements much.

By your own logic if Linux were a Microsoft product that wouldn't be good enough because it is only GPLv2.

A lot chunk of the .Net framework are under MIT license and include this:

https://github.com/dotnet/corefx/blob/master/PATENTS.TXT

Seems pretty comprehensive to me.


Distaste for the GPL aside, the second part of GP's comment is on-point.

Not sure if you've actually looked at Microsoft's CLA or tried to contribute to any of their projects. The CLA signals that, despite having chosen how their projects are licensed themselves, they don't hold those licenses in high regard. And like most CLAs, it creates a needless barrier to entry and turns away real contributors. (Not that this is actually seen as a big concern within MS—at least it doesn't seem to be. Based on the projects I've been watching, development is very cabalistic [read: top-down] and that they might get some outside contributions because they're open source seems more like a nice also-have rather than an outright goal.)

And since you brought up the .NET patent grant, it's hardly comprehensive. It severely limits the practical chances of anybody doing anything with it outside of Microsoft's own .NET Core project and Mono—which is more or less another project under Microsoft control, now that they've acquired Xamarin.

All signs point to the .NET patent grant being specifically written to enable Microsoft's very own version of Sun/Oracle's "don't fragment Java" lawsuits. (Especially ironic given that the whole reason C#/.NET came about in the first place is because, in addition to Google being a target because of Android, the only other big target of such a suit was Microsoft themselves because of Visual J++.)


What's wrong with their CLA? Apache requires a CLA as well: https://www.apache.org/licenses/icla.txt

I think these are just good legal and business a lot of the time. They are the legal protection and audit trail showing that the person really did intend to license their IP.


If only that were why CLAs actually exist.

  colby@ruta-corsica:~/src/antiholism$ cat ./_drafts/clas.markdown 
  List of open source software projects which used to have CLAs but no longer do:

  - Neovim ([Keyes])
  - Node.js ([Cantrill], [Fontaine])
  - Yeoman ([Monge])

  List of open source projects that have never used a CLA:

  - Linux
  - Mozilla
  - Swift

  [Cantrill]: https://www.joyent.com/blog/broadening-node-js-contributions
  [Fontaine]: https://nodejs.org/en/blog/uncategorized/notes-from-the-road/
  [Keyes]: https://github.com/neovim/neovim/issues/3036
  [Monge]: https://github.com/yeoman/yeoman/commit/5661a34df899126f0372d2c70c48f80b2a03a28f
All told, CLAs are actually a terrible way to achieve the things they set out to do, except to grant the org additional rights that the existing project license doesn't handle. They're all ritual and guarantee nothing. (It doesn't help that the ritual is friction-inducing and helps turn away contributors, as I said before.)

Here's how most CLAs work, including how it works at Microsoft: The org bugs an anonymous contributor about signing the CLA after contributor submits his or her first change, and if sufficiently cajoled, said anonymous contributor sends in the signed CLA and is never bothered again. If the intent is to protect your org by ensuring you don't accept changes that the contributor doesn't have authorization to submit, then the CLA process outlined here is so ineffective against accidental violations that it's not even worth using. And that is to say nothing of deliberate violations.

Here are some questions to ask:

If I get my employer to sign off on a CLA today, who's checking four years from now to make sure I haven't changed jobs and the whole situation is still kosher?

If I wanted to submit changes to a project without getting permission from my employer, how does the CLA stop me from doing that, given that all of them allow an unemployed/underemployed contributor to say that he or she is the only one who owns rights to the code?

If I can't be trusted not to copy code from another existing project distributed under a conflicting license, how does the CLA stop me from doing exactly that and just lying about it?

If I wanted to sign the CLA with a false identity and submit code using that, how does the CLA stop me?

If the CLA is meant to be an assertion that the org is authorized to accept my changes, how is that at all different from the same assertion I make when I publish my fork or my patches under the same license the original project is using?

> They are the legal protection and audit trail showing that the person really did intend to license their IP

If you want to prove that the contributor really meant to allow you to distribute their changes, then point to the bug where the contributor submitted those changes.


The lawyers that I've spoken to don't agree. Until there is case law that sets precedent for how these situations are actually handled during a lawsuit, it's anyone's guess how much they matter.

> If you want to prove that the contributor really meant to allow you to distribute their changes, then point to the bug where the contributor submitted those changes.

Lawyers that I've spoken to don't agree with your analysis. Several subject matter experts have articulated a specific risk that a court could find that just because someone apparently submitted code to an open source project does not mean that they knowingly and intentionally did that. It's especially not clear what will happen if the audit trail is scant, in the sense that a commit shows up without any supporting documentation from the person who submitted it explaining their intentions. Just having licenses on the files, or just submitting patches to an OSS project is not enough to be an airtight legal defense.

There's also another aspect of this situation that you might be overlooking. Just because you might prevail in trial either way does not mean the cost of litigation will be equal. Imagine the discussion that I hinted at above playing out before a judge. The open source project owner claims that the code was submitted intentionally under the GPL. The alleged submitter claims that they never did that, and that the code audit trail is incorrect / doesn't capture intent / wasn't a binding contract. Now that's going to play out in a complex way during trial. Even if the court rules in favor of the project owner, that conversation might take a whole lot more time and energy than if there was a clear, obvious, specific contract showing that the submitter was releasing their rights to the project owner.

This audit trail has the capability to significantly simplify and fend off a frivolous lawsuit. Large companies are often sued in a frivolous way, and simply fighting off even totally baseless lawsuits can cost more dollars than settling, so steps taken to make the legal defense airtight have meaningful value from a business perspective.

The other things you're mentioning about CLAs won't be an obstacle to a trial judge. The investigation during a lawsuit will be able to establish whether a CLA was really signed by the submitter, and whether they truly intended at that time to contribute code under CLA / open license. The CLA will make this easier to establish. The other risks that you're talking about are largely risks of fraud which make the situation messy. I'm not sure what will happen if one person submits (and claims to have the rights to) IP that they don't actually own. There's probably precedent for who is liable in that situation. The project owner who requests a CLA and explicit assignment will probably be viewed more favorably by a trial judge, in the sense that they'll be seen as a business that's attempting to do the right thing in the legal landscape sense. An OSS project that just says, "We just take whatever code someone sends our way, while trusting blindly in what they say", will not necessarily receive the same positive treatment. The opposing counsel could easily spin the situation to make it look like the OSS project was knowingly accepting code that they did or should have known was not theirs to accept. The trial judge is going to have to disambiguate those facts. The CLA translates the situation into, "And the person submitted the code committed outright fraud and deceived the project owner", which will not necessarily be easy to establish merely from a commit. CLA demonstrates more of the submitter's mental state than a mere commit. It's far less likely that someone will "sign a CLA by accident" than that a commit could end up in the wrong place by accident.

There are a lot of ways in which CLAs are believed to provide meaningful value to organizations that employ them. Until these things go to court, it's hard to know for sure what will happen.


You've ignored the meat of my comment, which is that CLAs are more about circumventing the project license than they are about demonstrating due diligence. But on that note...

Even Microsoft's CLA has a backdoor that doesn't require the author of the code to sign the CLA. You can, for example, copy and paste some procedures from a compatibly licensed open source project and mark your submission as containing code from a third party source. (E.g., "What's <project>'s module resolution procedure? Ah, just copy the file defining that class into the source tree; it's already under MIT.")

And as for "knowingly and intentionally" submitting code, Microsoft's CLA in particular exacerbates this rather than ameliorates it, because it broadens the definition of a submission to one that I'm sure would surprise almost every contributor who has actually signed the thing. Any code that you even discuss in a channel affiliated and run for a particular project by Microsoft constitutes a submission if you are the original author of that code, regardless of whether you actually submitted a patch for inclusion in the project, or even made any sign of interest in the development of that project whatsoever. (E.g., signing the CLA and submitting changes for project X means Microsoft gains control of your work around project Y if you link or distribute a personal project on the message board or mailing list for such project Y). So that argument is bunk.

> The other risks that you're talking about are largely risks of fraud which make the situation messy.

I'm at a loss for words.

> An OSS project that just says, "We just take whatever code someone sends our way, while trusting blindly in what they say"

Weird to even use this characterization, since that's an accurate description of exactly the sorts of CLA processes we're discussing.

> The CLA translates the situation into, "And the person submitted the code committed outright fraud and deceived the project owner", which will not necessarily be easy to establish merely from a commit

I have a sort of rule of thumb that I think most readers follow whether they realize it or not. It goes like this, "The first person to use the word FUD loses." Even so, I'm having trouble seeing this comment coming off as anything but that. It comes off as nothing more than casting incredibly dubious aspersions.

Can you point to an instance where such a thing has actually come up in litigation? Alternatively, cite an instance where even just a credible threat of such a thing has come up.

Both Mozilla and Linux each have long and storied histories; both are poster children for what large, successful open source projects can achieve; and both have corporations with serious money backing them. They somehow have managed to get along fine for decades without anything like that posing a realistic problem for either project, or even worthy of a footnote in their history, for that matter.

For a more recent example, I'll point out again that Apple deliberately chose a CLA-free contribution process for Swift, which was initiated as an open source project only months ago. Do you think Apple has reason to believe that the threat you mention is a credible one but that their project (or maybe just some characteristic of the company) has some inherent detail that renders them immune to it in this case only?

CLAs, in the form that we typically see them, are bullshit, and almost every defense of them fares even worse. Once again, CLAs exist for one reason, which is to grant the recipient org rights beyond those they'd ordinarily only receive through the license (that they chose!), e.g., so they can redistribute it under alternative terms, should they decide to do that for whatever reason.

This would be a more productive discussion if you'd actually focus on that, rather than invoking unverifiable claims about advice from phantom counsel and the threat of submarine suits.


Before we talk about this further, can I ask: are you a lawyer, or have you discussed these topics with a lawyer? I'm not a lawyer, but I have discussed these topics with (variously) corporate lawyers and an Apache board member, and the impression that I've gotten from all of them is that this space is very nuanced and that one must be cautious. The way that the law will reason about issues does not always match the way that engineers will think. For example, I was astonished that a court ruled in Oracle's favor in Oracle v. Google, in a case where Google largely just implemented a documented, public Oracle API.

The whole SCO Linux controvery also seemed like a major problem for Linux at the time: https://en.wikipedia.org/wiki/SCO/Linux_controversies - it seemed to have a chilling effect that turned a lot of companies off to open source. The court case seemed to take several years to litigate, just to establish that Novell and not the SCO Group owned the copyright to the code. Why did that take so long to establish? The submission governance and CLA were put in place by some companies specifically to mitigate the threat of such a risk applying to them later. As Wikipedia explains regarding the rationale of CLAs: https://en.wikipedia.org/wiki/Contributor_License_Agreement#...

"Contributor Licence Agreements (CLAs) can be used to enable vendors to easily pursue legal resolution in the case of copyright disputes, or to relicense products from which contributions have been received from third parties. The purpose of a CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen licence."

Emphasis is: "easily pursue legal resolution in the case of copyright disputes" (e.g., SCO Linux)

A lot of your argument seems to boil down to that because some people don't think there is a risk, that no one is right to rationally recognize a risk. I can't really comment on Apple's motivations for not requiring a CLA in Swift, just like I can't really comment on Apple's motivations for masterminding a criminal conspiracy to fix the price of ebooks (for which they were recently fined $450m). I can guess but I don't know for sure.

I think reasonable people could disagree about the risks involved in CLAs. It's not always the case that lawyers agree. As I pointed out originally, we don't have case law for all of this space. Insofar as you're implying that open source projects have been run without legal problems, I think you're wrong. Things like the SCO Linux controversy and the Oracle v. Google lawsuit about Java APIs make me feel like the industry as a whole is on less stable ground than everyone seems to think. Given that there are real cases where such problems have been specific issues, and given that many qualified people (not just me) explain this as their rationale, I don't think it's unjustified FUD. Can you provide a court case where one company sued another about an open source contribution, and the court clearly and convincingly ruled (in a short period of time): "You chose to contribute to open source, so live with it and stop wasting everyone's time". I haven't seen that. I've seen rather the opposite. The court will only muddle through what's happened with years of litigation at exorbitant cost. I've provided some examples of where this actually happened and has been messy, so if you wish to assert that this is all simple and CLA's aren't beneficial, then I'd like to ask you to provide a citation of a court case where such an issue was trivially resolved.

See also Jacobsen v. Katzer for case history. "The case is noted for its contentiousness, the parties filing 405 motions and other pleadings with the trial court, and two appeals to the Ninth Circuit Court of Appeals." (Wikipedia) The case was only resolved in 2010, and since it was settled out of court, I'm not clear whether it establishes binding precedent. As I understand it, the summary judgment left it open whether damages were owed. This is another example where litigation took years.

Are you also aware that the FSF employs copyright assignment to ensure that they can enforce licenses? https://www.fsf.org/bulletin/2014/spring/copyright-assignmen...

> In order to make sure that all of our copyrights can meet the recordkeeping and other requirements of registration, and in order to be able to enforce the GPL most effectively, FSF requires that each author of code incorporated in FSF projects provide a copyright assignment, and, where appropriate, a disclaimer of any work-for-hire ownership claims by the programmer's employer

CLAs are all about copyright assignment.

So in conclusion, I don't find your arguments convincing, in part because you seem to be overlooking or glossing over case history. From my perspective, there is a long and storied history of people actually running into problems in this area, and companies engaging in malicious lawsuits that are without merit specifically to harm competitors, and so on. There are examples of well-informed companies like the FSF taking steps specifically to mitigate these risks. For these reasons I understand why a company would want to protect itself from apparent and legally-advised risks with a CLA, and in general rely on more explicit contractual relationships rather than an open license agreed to without a clear meeting of minds.



Do you remember the times MS tried to kill Java by adding new features to Java? Every time they "contribute to open-source" I trust them less and less.

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


Yes, we all remember Embrace, extend and extinguish. Even people who weren't around then. Because it gets brought up in every single Hacker News thread about Microsoft.

At this point I really don't think it's useful to cite a Microsoft strategy from the mid 1990s. It's clear at even a cursory glance that their approach has changed dramatically.


I didn't know about it and I'm glad it was brought up.

No, it gets brought up because the after effects of that philosophy are still felt even today.

Got a few examples to bring up? Because I'm not seeing how Java suffered. If anything, Oracle is a bigger threat to Java than MS.

2 examples that affect me every week when serving SMB clients:

- old IE installs

- PDF printing functionality not included in older versions of Office and Windows

More experienced people/sysadmins can probably bring out lot more issues. And I totally agree with you that Java didn't suffer in the end, but how many lawyer hours were spent on stuff that shouldn't have been an issue in the first place?


> At this point I really don't think it's useful to cite a Microsoft strategy from the mid 1990s. It's clear at even a cursory glance that their approach has changed dramatically.

I respectfully disagree. MS has spent a long time building up a lot of bad-will. Just because they've done a couple of nice things lately doesn't mean we should forget all that.

I hope they become awesome, and continue to be pro-FOSS, but it's going to take more than a couple of good steps to convince me.


Couple? F# and asp.net have been open over 5 years, yes under Steve Balmer. All this is not entirely recent but they have accelerated the pace and extended the scope. If you choose to ignore it, its your prerogative.

OK, so we have what percentage of their products open (admittedly, some of them are pretty significant)? compared to all the other negative they've done? I'm not ignoring anything, and I'm not really sure why you assumed that. In fact, if you blindly say they've turned to the good side, I'd accuse you of the same...

All the bad they've done presumably extending back to the 1990s? A company isn't a person - a significant amount of the workforce, senior management and even the CEO is different than it was back then.

But they chose to stick with that company and culture, presumably that "brand". I'm not saying they can't turn around, but they've still got a long way to go to prove to me this is anything different than EEE.

Also, they didn't just stop in the 90's. A lot of their questionable practices have continued on, and are still going on. I'm not basing my mistrust only on the 90's. It's just one factor out of many, but one I still feel should be taken into account.


It's worth bearing in mind that Microsoft isn't a singular entity. It's a company made up of employees. How many employees from the mid-1990s are there today? How much of their leadership?

How many of the employees that were there in the mid-1990s work at companies you adore or support today? Maybe other companies are where Embrace, Extend, Extinguish lives today.

Technology moves at an incredible pace. Acting like any news story from the mid-1990s is relevant today is incredibly silly.


I agree that it can vary a lot. I'm making generalizations. And I'm not basing it on just the mid-90's. I'm basing it on everything else since then.

Forgive, don't forget. I trust them less and less. I'm probably subjective, because of their contributions to EEE and adding spyware to their key product and huge espionage of spyware added to OS as "basic functionality" in every new release.

A tiger can't change its stripes, even if it proclaims that it's now a harmless little kitten.

"Fool me once, shame on you. Fool me twice, shame on me."

Don't trust Micro$oft. Let them die.


Between this and Donald Trump, it's like it's the last season of "Planet Earth" and the writers are just going nuts.

What in your mind, can Microsoft do to Java at this point in time? It's been a decade since that case, and Java has matured and hardened to the point where any form of EEE is going to be an utter waste of time considering the ecosystem of the computing world. This is a response to JetBrains. The company has IntelliJ and with Project Rider, a viable competitor to Visual Studio. With the emphasis on Azure, it's in MS's best interests to add additional language support to VS. Competition is a good thing.

Well, Microsoft wasn't trying to "Kill Java". They were accused of trying to kill "Java portability". which isn't the same as killing Java (Try porting android Java code to IOS for example).

The claim is that Microsoft omitted the Java Native Interface (Allows Java code to call C/C++ code) and instead used their own J/Direct interface for calling Win32 APIs directly.

That said: 1. I have to admit J/Direct was an awesome idea. Being able to call Win32 apis directly without writing JNI wrappers is very useful. You wouldn't be able to port python code that uses the win32api module either.

2. JNI Code is very often not portable as it is. If you're writing JNI Code, you're most likely already using native OS apis, and relying on OS specific features.


Java portability was a main feature of Java. Kill that and you kill Java. Java Android is not really Java.

C# is pretty much MS version of java. I think they did a pretty good job with the language. They keep adding things to it. P/Invoke is pretty awesome.

It's amazing how every time this is mentioned it's downvoted when it's actually very relevant. Microsoft shills are hard at work on HN.

Sigh.

I have (somewhere ;-) RMS's John Hancock on a small cheque I wrote and he cashed for the FSF nearly thirty years ago.

I did my duty on hating Microsoft and pushing Linux for those years when it mattered. By 2005 I was estimating Microsoft's 'packet' TTL at about 10 years ...

Nowadays Microsoft are like a beaten bully, out-eviled by much creepier players, and they're acting reasonable, mostly just asking to be paid for decent products that do not rape the customers and sell their info to whomever.

Why be stuck in the last century?


> Microsoft shills are hard at work on HN.

If you have any evidence of this, you should email links to hn@ycombinator.com so we can investigate them. We've banned pro-MS astroturfers before; one in particular who made dozens of accounts and used them to reply to himself in arguments. But I don't know of any evidence that they're "hard at work on HN" now.


Well, this is certainly an interesting development, although not entirely unexpected, given that JetBrains is developing Project Rider. It would definitely be interesting to develop a Java application in Visual Studio.

I feel like I'm not seeing the forest for the trees.

I swear Microsoft's business model was to bring people in to their ecosystem and then charge them for what is hopefully a superior development experience.

Is there a new business model? How do they lock people in and squeeze them for money? Is their cloud solution radically different from the competition that they can put all their eggs in that basket? What's the big picture plan? Or is the new CEO just going rambo and pandering to DIY geeks who want everything for free ? (myself included!)

I feel like there has to be some parallel universe blog where these press releases explain what they're doing to investors beyond "we're going to take your money, and we're going to make things with it. And then give it away for free! Please give us more money"

Like awesome dude... but what the hell is going on?


I think it's about capturing new marketshare or previously lost marketshare. There's a large group of developers and their associated companies that were never likely to hop on the MS toolchain. In many ways MS == .NET for years. Now, it's more agnostic with Azure and even Visual Studio Code.

So, marketshare and marketing.


TL;DR: Azure.

What's going on in a new strategy.

Microsoft wants people building applications in Azure. They want people using ASP.NET technologies. Given that Azure competes with AWS and Google Compute; that ASP.NET and C# compete with Elixir/Phoenix, Clojure, Scala, Koitlin, etc, there is absolutely no way they can maintain any form of lockin. Even in the conservative companies, they compete with Java. The pitch to the investors is that by opening up their toolset, it gets more people on their cloud services and boosts recurring revenue. Which is what everyone else is doing.


So they've decide that the business model of the past two decades is doomed? Are investors onboard with that? Sounds like some serious downsizing is coming to come up in the next 5 years...

We might be looking back at this CEO with incredulity in 10 years when MSFT is struggling to keep the lights on ("they did what?! They just gave away all their products for free??")


Have you paid attention to the change in behaviors that have come about due to mobile devices? Web services are huge in helping to store user data and keep it in sync across the diverse set of computer people use.

Right now, I can't think of any vendor that forces a lock into their platform for development purposes. Even Apple made Swift free and cross platform. Lock in on Visual Studio and C# makes no sense. C# is a nice language, but there's a wide variety of alternatives that are just as good. Visual Studio is really nice, but people have been building stuff with Eclipse, Sublime, and Emacs for quite some time.

They are making a long-term push to subscription oriented services.


> So they've decide that the business model of the past two decades is doomed?

Isn't it? How much growth do you see around the PC and Office business?


Is growth really necessary? They have cornered the corporate desktop pretty well, businesses aren't going to stop buying new computers for all employees every 3 years with Windows and office and the associated backends with SharePoint/Exchange etc.

> Is growth really necessary?

I actually agree with you. I think Microsoft's evolution is mostly done. The XBox is their consumer device and everything else is all about enterprise and small business users.

Microsoft is a boring, mature, very profitable company. It isn't such a bad thing to be.

Their hardware is in an interesting place though. They are really the only company making decent Windows hardware (and I say that as a longtime ThinkPad fan). I would be so happy if they took the Surface Book and simplified it into a traditional laptop with battery life as good as or better than similar Apple machines.


The alternative is to wait while change passes them buy and then issue a Nokia "burning platform" memo.

(Nokia are now a wholly owned subsidiary of Microsoft. If Microsoft collapsed, who would buy them? Apple?)


Microsoft bought Nokia's mobile phones but the rest of Nokia survives (marker cap $22 billion).

> So they've decide that the business model of the past two decades is doomed?

Windows is a commodity, a) it won't pay for its own engineering team and b) unlike other competitors, Microsoft hasn't been able to capture as much value from the current Windows ecosystem and marketplace.

Developing for Windows is becoming a liability: a) your team can't develop only for Windows anyways; b) your team can be more efficient by using a wider set of tools and technologies than Microsoft's own developers, and c) if Windows is not profitable and your product depends on Windows, it better pay for part of Windows' cost.

Internal OSS adoption, investing on cross-platform development and in Azure seem all strategic investments in managing the risks above while remaining a software (product) development company.

Every other gain from the same strategies (the ones affecting their customer base) are cherries on the top of the cake.

> Are investors onboard with that?

Not sure they realize what's going on. If they did, I couldn't explain the current P/E ratio in days of declining revenue, a prospect of shrinking revenue streams (overall; medium-term at least) and large bets on lower margin businesses.

> They just gave away all their products for free?

They probably wish they had invested in Office for the Web, Android and iOS much earlier on and with much more intensity, and still have given it for free. They were lucky none of the competitors really stepped up to fill the void. In a cloud-first and mobile-first world, there are multiple revenue stream available once the data information workers process is more closely tied to a provider; specially with the synergies in their product line.


> So they've decide that the business model of the past two decades is doomed?

Windows is a commodity, a) it won't pay for its own engineering team and b) unlike other competitors, Microsoft hasn't been able to capture as much value from the current Windows ecosystem and marketplace.

Developing for Windows is becoming a liability: a) your team can't develop only for Windows anyways; b) your team can be more efficient by using a wider set of tools and technologies than Microsoft's own developers, and c) if Windows is not profitable and your product depends on Windows, it better pay for part of Windows' cost.

Internal OSS adoption, investing on cross-platform development and in Azure seem all strategic investments in managing the risks above while remaining a software (product) development company.

Every other gain from the same strategies (the ones affecting their customer base) are cherries on the top of the cake.

> Are investors onboard with that?

Not sure they realize what's going on. If they did, I couldn't explain the current P/E ratio in days of declining revenue, a prospect of shrinking revenue streams (overall) and large bets on lower margin businesses.

> They just gave away all their products for free?

They probably wish they had invested in Office for the Web, Android and iOS much earlier on and with much more intensity, and still have given it for free. They were lucky none of the competitors really stepped up to fill the void. In a cloud-first and mobile-first world, there are multiple revenue stream available once the data information workers process is tied to a platform; specially with the synergies in their product line.


They used to live of windows licenses but their market share is shrinking if you take tablets and mobiles into account. The new strategy seems to be making money on cloud services, which are platform agnostic, and search engine, of which Windows is becoming just a natural extension, like Android and Chrome OS are an extension to google.com, a probe given for free that Google wants to see in each of their users pockets to keep an eye on where they are, who they talk to, what they do. Hence the extensive tracking of Windows 10, and Windows 10 upgrades being given for free.

We may like it or not, or agree that it makes sense or not, but at least it looks like a rational strategy.


Sun 2.0?

> there is absolutely no way they can maintain any form of lockin.

They still have a very strong lock-in in graphics though. Why didn't MS join the Vulkan working group? And that's their attitude in general - they didn't become any better than before. They just drop lock-in under pressure by competition. Other than that, they pursue lock-in all the same.


https://www.khronos.org/members/

Really? Might want to check that again.

Although, I am curious, considering Apple does the same thing with Metal that Microsoft does with DirectX. The difference is Apple has no dedicated console device they sell.


> Apple has no dedicated console device they sell.

ahem ... http://www.apple.com/tv/ :P


Khronos in general - yes. For example for WebGL (competition and the fact that they lost browser wars caused that). But Vulkan? MS clearly avoided any participation. So you only confirm what I said - MS drop lock-in only when competition starts burning their heels.

Microsoft has changed, they now know what will bring the antitrust hammer down. They no longer sabotage or hamper competition actively like they have in the past. Instead they're trying to be everything to everyone and cater to everyone's needs.

Does that mean they're altruistic and want to save the world at their own expense? Definitely not. But they also recognize when when they're not going to win a fight and have started to compete in markets they can't own.

That being said if they own a market (e.g. PC Gaming) they aren't going to exchange money for warm fuzzies.


Vulkan is not "warm fuzzies". It's something that can make life easier for everyone. But it reduces their lock-in, that's why they ignore it and want to force developers to do double work if they want to target their closed platforms like Xbox.

The same can be said for Apple, Metal, and iOS. I'm also certain most companies use a tool like Unity which does that double duty for them.

Agreed. Apple isn't any better in this aspect.

> I'm also certain most companies use a tool like Unity which does that double duty for them.

That doesn't justify the lock-in tactics of MS, Apple and the like. If that burden shifts to engine developers, it's still a burden and effort that could be spent on something more useful like improving actual features of the engine. In the end, it's simply a tax that everybody will be paying.


Mind share and Market share are the justifications. Once you have a developer comfortable with a platform, it can be hard to impossible to get them to switch.

These are businesses with an interest in making money, not people with an interest in making the world a better place. I'm not saying it's right, just that it makes business sense.


> Mind share and Market share are the justifications.

Rather herding their market share and mind share, and making it hard to go outside the herd. I.e. if you want to be cross platform - pay the tax. That's the whole purpose of their lock-in.

> Once you have a developer comfortable with a platform, it can be hard to impossible to get them to switch.

Yes, and it's disgusting to use development tools for lock-in. MS do it like forever.[1]

> These are businesses with an interest in making money

Lock-in is a crooked method of making money.

[1]: https://en.wikipedia.org/wiki/Criticism_of_Microsoft#Vendor_...


Right because that isn't the case with every other vendor or platform out there?

It isn't. Not everyone is a jerk.

Name one major technology company that doesn't try to lock you into their recurring subscription platforms.

Anything that uses interoperable technology. Lock-in implies something that you can't replace for no valid reason. Standards are aimed at such interoperaibilty and luckily we have a lot of standard technologies which are interchangeable. It would have been a nightmare, if literally everything would have been locked-in MS style.

I.e. imagine you bought a light bulb and can't use it because it's XYZ lightbulb that can't work with fixture ABC and requires you to rewire the whole house. What a wonderful MS style experience. Luckily it's not the case most of the time.


> Anything that uses interoperable technology

Such as? Sure you can replace your iPhone with an Android device, but it's not pretty.


Better ask Apple why never could use standard chargers and USB cables ;)

To Microsoft it is. Vulkan and DX12 set out to achieve many of the same goals but DX12 has the added benefit of momentum and market lock-in. DX12 has been available since July where as support for Vulkan is spotty at best. Why drop DX12 for Vulkan besides warm fuzzies?

> Why drop DX12 for Vulkan

Because they can make life easier for developers and also benefit from the shared effort. But their whole goal is to make life harder for developers (i.e. those who don't want to be limited to MS walled gardens) as a way of taxing them for not falling in line. A usual crooked monopolistic behavior that MS is so accustomed to.


How does Vulkan make life better for developers today? Isn't that more on hardware devs?

> How does Vulkan make life better for developers today?

Assuming Vulkan drivers are ironed out (now they are still fresh), it makes life easier by removing the need to implement different APIs for each platform. By sabotaging such option, MS taxes developers which want to target their Xbox for instance requiring them to use DX12 instead.


How has Microsoft sabotaged Vulkan? They haven't, Windows is one of the very few places that Vulkan will actually run. They offered a competing technology, DX12, that works today... and 6 months ago. Vulkan might work in 6 months... or not.

> How has Microsoft sabotaged Vulkan?

By not supporting it on Xbox which is a walled garden. Since Xbox has a significant market share, they essentially force developers not to use Vulkan (and use DX12) if they want to target Xbox. Compare it to browser wars of the past. MS did the same thing exactly, and the only reason they magically started supporting shared Web standards is because they lost those wars. Today it's a real wonder - they even decided to support free video codecs in the browser (while Apple still refuses).


I'm failing to see how that sabotages Vulkan. As far as I know, Vulkan has only recently reached 1.0, and nVidia JUST started supporting it. Until recently, there was nothing to support.

Your entire complaint is that developers have to do more work if they want to support multiple platforms, which has always been the case. I don't recall the original Final Fantasy getting released on the Sega Genesis. There's never going to be a magical catch-all graphics API because technologies like Metal and DirectX take advantage of known hardware specs and OS features to make the games look good and run fast.


> I'm failing to see how that sabotages Vulkan.

In order for cross platform solution to offer value of avoiding duplicate work, it should be really cross platform. MS prevents prevents it by not supporting it on Xbox.

> which has always been the case

Exactly because of such lock-in.

> technologies like Metal and DirectX take advantage of known hardware specs and OS features

Let's not try pretending that MS and Apple do it for any technical reasons. There are none.


I think you just blindly champion Vulkan, an unproven and not read for primetime technology.

The two largest platforms, MS and Apple have their own stacks, Metal and DX12. And they have been maintaining those from years, especially DX12 which comes from decades of DX development.

They should throw all this away (and lose any competitive advantage for their platform in the process) just because there's finally a competent new stack (that's not even ready yet)?

>Let's not try pretending that MS and Apple do it for any technical reasons. There are none.

Would wanting to offer the best possible experience for your platform, to control how and when any new feature is implemented according to your long term plans, and to not mess with lower-common-denominator cross-platform design-by-committee APIs counts as a "technical reason"?

Let's not pretend you ask for this for any technical reason. It's all about developer convenience at best.


> I think you just blindly champion Vulkan, an unproven and not read for primetime technology.

It's the only cross platform solution. So yes, it should be pushed forward to make it work. It's not a "blind" push - it's the only reasonable thing out there. Neither Metal nor DX12 plan to do anything comparable. Petty greed of Apple and MS prevents them.


What you are asking for may become a reality, but Vulkan is not something that any reasonable primetime product should have even considered trying to support until what, like... was it 2 months ago now or not yet?

The XBox is not a tech test platform. Neither are the mobile handsets.

Claiming this reality amounts to "sabotage" is somewhat absurd.


> Claiming this reality amounts to "sabotage" is somewhat absurd.

It's not. MS is not new to sabotaging portability. Learn from history.


I could use that exact logic to point to many other disingenuous working groups and say Vulkan is an attempt to create a new lock-in scheme under the guise of an open technology.

It wouldn't be the first time. "Learn from history."


How exactly is it lock-in if unlike MS it's cross platform and cross hardware? Just saying "it's the same logic" doesn't make it the same when it contradicts the facts.

Being cross platform and cross hardware isn't contradictory to lock-in.

Lock-in is about whether, after adopting technology X, it takes substantial effort to go to an alternative technology Y -- not about whether you can take X with you in a different platform/hardware.


>Petty greed of Apple and MS prevents them.

Wanting control of your platform and how it evolves is not "petty greed".

If anything it's the developers that want to save money, by only coding their apps once.

I don't believe platforms should have lowest common denominator standards (and evolve in lockstep) just to make porting easier.


Graphics APis should be common. Not making them common is about petty greed. Control of the platform here is done for the sole reason of making cross platform development harder. I.e. hindering competition.

You're asserting that DirectX was developed as a competing API to OpenGL and a lock-in mechanism to hinder competition which is a ridiculous assertion that completely ignores history.

OpenGL started development in 1991 by Silicon Graphics and it's primary focus was on CAD/CAM utilizing expensive hardware accelerators. It was initially only available on IRIX and was never intended for video games. It was not open and the Architectural Review Board that maintained the API was controlled by Silicon Graphics.

Direct3D was developed by a company called RenderMorphics starting in 1992 and was bought by Microsoft in 1994. Direct3D was added to the DirectX suite in 1996 specifically for video game acceleration. At the time Microsoft was shipping their own OpenGL Drivers and would continue to do so until Windows 2000 was released.

Microsoft and Silicon Graphics actually attempted to unify the two APIs under Project Fahrenheit in 1997. Project Fahrenheit consisted of low, medium and high end drivers with Microsoft providing the low-end and Silicon Graphics providing the mid and high end portions. Microsoft abandoned the effort in 1999 because DirectX adoption had taken off and they were focusing resources on the original Xbox console. Silicon Graphics was in financial trouble at the point and it no longer made sense to pursue a project heavily reliant on them.

Silicon Graphics trouble's were reflected in the stagnation of OpenGL development with only incremental releases up to version 1.5 in 2003. SGI would eventually go under and the API would get turned over the Khronos in 2005 but it wasn't until 3DLABS got involved that anything happened and it wasn't until 2007 that OpenGL 2.0 was released. At the point the Xbox 360 has been out for 2 years and Microsoft was heavily invested in DirectX.


>In order for cross platform solution to offer value of avoiding duplicate work, it should be really cross platform. MS prevents prevents it by not supporting it on Xbox.

Vulkan doesn't need to be cross platform because there are tools like Unity which abstract away the graphics API and let developers target a number of platforms.

However, you are lodging a complaint against Microsoft that has been the case for every console device since the first ones were released. However, that being said, not supporting Vulkan on the XBox harms Microsoft more than Vulkan since all that means is some games will not be available on the XBox. Just like there are XBox games that are not available on the PS4, the PC, or the Wii U. There's nothing Microsoft is doing that's out of line with the rest of the console makers. It's the console industry in general.


> Vulkan doesn't need to be cross platform because there are tools like Unity which abstract away the graphics API and let developers target a number of platforms.

Unity developers will be doing that double work in such case. And not everyone is using third party engines anyway. Don't think that if something is abstracted, it somehow magically happens for free.


> Unity developers will be doing that double work in such case.

I'm pretty sure they're well paid for the efforts.


> I'm pretty sure they're well paid for the efforts.

And that cost is passed along the way reaching those who use it including end users ;) Someone will feel the tax.


Prior to Vulkan I would argue that it would make little to no difference. OpenGL is different on every platform you look at and each hardware vendor has produced a slew of proprietary extensions to support features not found in OpenGL. What you end up with is render code written per platform even with OpenGL and on Linux you have different implementations per driver. At least with DX you're only writing 1 renderer for Xbox/Windows.

With Vulkan they finally dropped backwards compatibility, something Microsoft had been doing with each successive version of DX, so it would have been a good time for Microsoft to transition away from DX. But what motivation do they have at this point? OpenGL adoption isn't yet threatening their platform, and with Apple pushing Metal they have even less to worry about. Vulkan has only further fragmented the market because anyone that wishes to use it must also write fallback renderers because of the limited support.

In any case if/when Vulkan does become the industry standard, Microsoft will only need to make an Xbox One API because Windows already has support for Vulkan, better support than any other platform at that.


> But what motivation do they have at this point?

The motivation can be pretty simple - don't be a jerk. But it's MS. Lock-in is practically in their DNA already.


Waiting to see Vulkan on the console SDKs....

I hope it will happen. But I guess only when competition will be strong enough. I doubt MS will suddenly decide to play nice.

I was thinking about Nintendo and Sony...

I suspect they are in "wait and see" mode. Nintendo did join Vulkan group, unlike MS. They as well might start supporting it. They are smaller, and for them supporting standard technologies is an easy way to attract more developers. Sony also can do it, as a move for reducing MS influence.

Apple is also on the group, yet it is going with Metal. It is the slowest vendor to adopt OpenGL versions and it has a very bad OpenCL implementation, a standard that they created..

Being on the group means zero if the actions don't follow.

When are you going to properly start bashing Sony, Nintendo, Apple alongside MS?


There is some confusion there. Apple actually aren't in the Vulkan group if I understand correctly.

> When are you going to properly start bashing Sony, Nintendo, Apple alongside MS?

When their influence will be comparable in damage. Apple is probably closest, but not in graphics APIs. Metal is non existent. Apple causes more damage in browsers these days. Remember all the recent articles about Safary is the new IE?


Sony and Nintendo have much more influence in the consoles and game developers than MS.

Nintendo was the company that introduced the concepts of gated development on the aftermath of 1983`s crash.

Also why not bash NVidia given CUDA or their influential part in DX designs, to the point their cards are almost a mirror of the API?

Google so praised for Vulkan, pushes its own computing API instead of OpenCL.

Intel spends more resources in their DX drivers and their OpenGL support is still pretty shitty. One just needs to delve into the OpenGL developer forums. They were quite known in the games industry for having the driver lie about supported hardware features.

Or by announcing at GDCE 2009 their new graphic analysers tools, with DX only support. To my question what about OpenGL I was given the email of some random dude at Intel.

Yet, only MS gets the bashing.


Yes, "cloud" is changing everything, for better or worse. Microsoft realized that enterprise, their primary market, LOVES cloud and that Windows technologies were much less capable in the cloud than open technologies for a variety of reasons, not the least of which is licensing.

MS is opening their platform to run on Linux because they want people to continue using Windows, Visual Studio, and .NET as development platforms. The core of MS's business has always been Windows, and secondarily, Office. Since so many people want to use the cloud, and on top of that since so many people want to use the cloud via sexy vendors like AWS, Microsoft needs the heart of their Windows lock-in strategy, which is .NET, to work on it.

These moves are defensive of .NET's place in enterprise development, and consequently Windows's place on the enterprise workstation. Once MS feels that .NET is far and away the clear choice for development in the cloud-centric world, they'll work to bring more people onto Windows as the cloud OS of choice (Azure, etc).


https://github.com/Microsoft/dotnet How exactly is releasing the .NET framework on Github a lock-in strategy?

Like many people, you are missing the point. The operating system is irrelevant. You have people editing Excel spreadsheets in an iPad on iOS, and then switching to Excel on some form of Windows. They've been trying to get Windows Server and IIS as the platform of choice, and they have lost to Linux, Apache, and NGINX.

From a technological perspective, they can't afford lock-ins, not when there are so many alternatives. They want you using their services.


>How exactly is releasing the .NET framework on Github a lock-in strategy?

In the way described in my original post. Open-sourcing the .NET framework means people will help them port it to new platforms. It means that people will be able to get the .NET framework running on whatever is running in their corporate cloud. This means that users will continue to develop in C#, using APIs developed by Microsoft that will always work best on Windows, using development tools provided by Microsoft that will also always work best on Windows.

If your company switches from .NET to Java because .NET doesn't work well "in the cloud", then your company starts to ask other questions, like "Well, we don't use Visual Studio anymore, so we don't need to keep paying Microsoft $xx,xxx per year for that. Everyone likes Mac a lot and we don't have to use MS's dev tools anymore, so why don't we move everyone to that? We can start to phase out our Windows Server and SQL Server licenses too since we're not using any other Microsoft stuff and then we won't be paying them another $yy,yyy and we'll be one of the coolest companies around because everyone will be using a Mac."

MS's strategy of opening the foundations of their platform so that the applications can run on any backend makes it so you instead say "Oh, we still run .NET apps on our AWS cloud, so we still need Visual Studio, better keep paying MS $xx,xxx." And "oh, SQL Server runs in our cloud infrastructure, so we can stick with that; that's another $yy,yyy for the license this year."

If you stay on MS's platform, they can then call you up at any time and say "Hey, switch to Azure, it's a lot cheaper than AWS because we don't charge ourselves license fees." On the other hand, if you move off their platform because MS tech doesn't work well in the cloud, they lose a lot of existing revenue, a lot of potential revenue, and a lot of mindshare and exposure that decreases their relevance in general.

The key to MS's lasting success has been .NET. That's what's been propping up Windows and consequently Office. If they lose .NET, they're in deep trouble. They are going to do everything they can to keep it alive, even if it means making it so your ASP.NET web app runs on a Linux server.


I can't get over the fact that Microsoft's cloud product is the color of sky without clouds in it.

I think Microsoft is recognizing that locking people into an ecosystem is not a long term solution when there are near equivalent ecosystems available for free. It almost seems like they're positioning themselves to get mindshare ('Hey, this free product from the Evil Empire isn't that bad! Maybe they're just another empire, and not so evil.') and transition that into a paid service (Azure is what immediately springs to mind, but Office is pretty essential when you get past a certain point (I say this as a long time OpenOffice/LibreOffice user - there are some things MS just gets right).

> Maybe they're just another empire, and not so evil.

They are just another empire. Enter the new world! This is the smartphone and cloud era!


Or maybe Microsoft is just creating a bigger and better ecosystem....

Who else is trying to cover all your needs (1) both on-premise and in the cloud; (2) across platforms from USB thumbdrives to smartphones, tablets, laptops, desktops and servers; and (3) has cross-platform apps on Windows, Android and iOS?

Google is pretty much cloud-only and Apple is pretty much Apple only, and neither of them supports anything like the same range of devices.

It's a long play, but Microsoft has been executing this strategy for a few years now....


> Microsoft's business model was to bring people in to their ecosystem and then charge them

Yes. But for about the last 10 years, that ecosystem hasn't been doing very well. Most Windows hardware is garbage and (except for games) there's virtually no excitement around software. What's the last Windows application that went viral?

Their developer strategy (universal Windows) is interesting and if I were in charge I would probably go down a similar path, but as a developer it doesn't interest me at all. Applications that can run on a phone or a desktop is an interesting trick, but in reality I normally want a substantially different UI on each. That would lead me to think about separating the UI from the application and then I might as well make a web app.


Popcorn Time, I believe

That's a very good answer.

> Like awesome dude... but what the hell is going on?

Survive now, figure out how to make money later.

If Microsoft does nothing, very little new development will be done to run on Windows. You don't need Windows to access Gmail of Facebook. Their backends don't run on Windows. Why would you deploy your software to Windows if it's cheaper and more effective to deploy it to Linux? Shortly, all their technologies will become irrelevant.

It's true they are doing interesting stuff in the JavaScript space, but what does it do to improve their bottom line? It's not unlike Sun with their Java ecosystem, but from an even worse position than Sun held.


Microsoft is finally realizing that Open Source is not an opposing ideology but an alternative kind of business contract (which happens to lend itself to services).

Argh. Was hoping to hear about C# integration not Azure hooks.

I was really thinking the announcement was going to be Visual Studio in eclipse............long shot I know.

Interesting. I was part of the original "Team Explorer Everywhere" team that built their Eclipse plug-in for TFS and had originally championed this as a good idea. But really, I'm not sure that I'm enthused about this news. Certainly this is good community building, but I've found the Eclipse Foundation to be so ineffective that I'm not sure what purpose this actually serves except to send out a press release.

My team was initially acquired; we were originally a small company in a cornfield in Illinois called Teamprise, where we built the original TFS plug-in for Eclipse. At the time, we were Eclipse Foundation members and reasonably happy about it. Certainly it was nice to give back (in terms of membership fees) to a project that we were a part of and took advantage of. And the Foundation has a few really solid employees and it was nice to talk to them about tech stuff.

But our larger goal in joining the Eclipse Foundation was largely unmet, which was to actually partner. For example: we hoped to bring in a contractor who could occasionally tackle some bugs in Eclipse on AIX which ultimately affected our customers. We were a tiny company and going deep on some weird problem that only affected the Motif AIX build was not particularly rewarding. So we hoped to engage the Foundation to help us out here: we would pay this contractor if they could help us find them. But we were rebuffed in a manner that I found rather off-putting.

Despite this, after we became part of Microsoft I still pushed for us to join the Eclipse Foundation. I stopped pushing when Microsoft had a booth at Eclipse Con one year and a member of the Foundation (apropos nothing) went on a nice, long rant about Microsoft. I don't think it's particularly classy to make fun of your competitors, nor do I really appreciate inculcating an "us vs them" mentality. But to do that after we had paid a big hunk of money to sponsor that conference seemed particularly poor form, and if the Foundation is going to make fun of the people who are paying to sponsor their Conference, what does membership buy you? A steaming pile on your doorstep once a year?

In any case, that was when I stopped advocating for Microsoft to join the Eclipse Foundation and instead advocated for us to ignore them wholesale. I hope that my old team has better luck working with them than I did.


Very interesting. I would like to understand governance models for open source projects, standards committees, etc.

I took a job working on an open source product / stack precisely to get experience with how a consortia (kuali.org) manages to do things.

TL;DR: it doesn't.

I'm told the Apache Foundation is also like a tarpit. Would love to hear stories from people with direct experience.

My utopian view is that all government software should be citizen owned. That dream took a hit by my recent experience. I'm still searching for projects, efforts, teams, whatever that cracked this nut.


> I'm not sure what purpose this actually serves

Preparation. The world isn't ready yet for Microsoft joining the Linux Foundation.


I can't tell if you're joking or serious. Certainly, Microsoft hosts a lot of Linux VMs in Azure. A lot. The last I heard, Azure was hosting more Ubuntu than anything else.

I'm going to assume you're serious and agree with you; I wouldn't be at all surprised if Microsoft did end up joining the Linux Foundation. I'll guess within the next 2 years.


Na. The only reason why Microsoft is doing this is because they want to remain relevant in a world that has largely stopped relying on closed-source code in a server-side OS. I suspect Microsoft will open source Windows long before it ever joins the Linux Foundation.

Those are unrelated concerns. Microsoft isn't a big homogenous unit. The business unit that would join the Linux Foundation would be Cloud & Enterprise (which does crazy things like open sourcing .NET and joining the Eclipse Foundation).

The business unit that would open source Windows is Windows Development Group, who are mostly stuck in neutral. They can barely perform builds of Windows themselves, it's so huge and tangled and poorly organized. They can't change anything because they're crippled with decades of technical debt. Whether they want to or not (and I don't think that they really do want to) to try to open source that monstrosity is quite far away.

That said, I'm sure some people within Netscape said the same thing about Mozilla. So I'd love to be proven wrong.


This seems like an Embrace, Extend, Extinguish type deal [1].

Can someone explain exactly what Microsoft would get out of this (and what they would theoretically give back in the process)?

[1]: https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish


I must be missing something.

All of the comments here are all about "Microsoft is advancing OSS" and "Microsoft grew a heart" and "Mind blown", but all I see in the article is "We'll be providing some tools to help you use our paid cloud services".

What am I missing here?


You're not missing anything. Some people feel emotional towards things like this. It is why we see all those, "I'm breaking up with <some random technology>" articles.

You read the article, most people only read the headline.

Of course Microsoft is doing all this with the goal of making money at the end of the day.

But if you remember the Microsoft of 10 or 20 years ago, when they were bashing open source at every turn, spreading FUD and exploiting their monopoly on the desktop to crush competition, things have changed a lot. Not neccessarily because the "new" Microsoft is made of nicer people who just want to be friends with everyone, but because the world around them has changed.

The end result, though, is the same - Microsoft appears to be embracing open source and community-driven development processes.


Thank you for your reply.

Yes. I understand that that's the message here in the HN comments, but my question is why. In what way does this mean that MS is embracing open source? Many replies to that question (including yours) have been along the lines of "Remember when they were saboteurs? They just took an action that wasn't overt malice!"

Again, I assume I'm missing something, but it all sounds like "Hitler doesn't spend all of his time engaging in acts of genocide; Sometimes, he eats cereal." (BTW, no, I don't think of MS as inherently evil. I make my own living on closed-source software.) I'm not seeing the "complete reversal" people are talking about, nor even a partial reversal. Nor do I see the opposite. These things appear orthogonal.

Is this all because their new Azure-specific tooling is open source? Or is it simply because they're shaking hands (harder) with an organization that has OSS street credit? Or something else entirely?


Microsoft used to be very hostile towards open source in general and Linux in particular. These days, the publish some core parts of their software stack - the new Javascript engine, for example, the core CLR .Net runtime, including the JIT and GC - as open source and actively support running Linux instances in Azure.

That still does not mean, of course, that Microsoft is an "open source company" now, but I think it shows their attitude has changed significantly. Given their past, I think this is at least a very good sign. Of course, they still engage in plenty of lock-in, and their baroque licensing terms can drive a poor sysadmin insane. But there is some progress, and a lot of people are happy to see that.

Of course, the main reason for this is that the world has changed, and Microsoft can no longer exploit their monopoly on the desktop when a fair amount of people have - at least at home - ditched laptops or desktops completely in favor of smartphones and tablets (rarely running Windows). Developers like to build web services and web apps on Linux, and if Microsoft just refused to support any non-Windows systems on Azure, they would lose a fair amount of business. So they seem to look for ways to make money in a world where Windows and Microsoft's conventional software stack can coexist with other software and operating systems.

So if, for example, they open source the .Net framework, that means they can win over developers on other systems. Developers who then might want to use, say, Visual Studio, so they still can make money of those.

(Alas, with regards to Windows and Office, their cash cows, nothing has changed.)


Is there a reason Microsoft doesn't make their VS Studio IDE work with Java? Yes, I'm aware of the 3rd party plugins available, but it would be nice to see official support for what is the world's most popular language according to the TIOBE index.

Old scars perhaps. VS initially had a java IDE, but then they got sued by Sun, which ultimately resulted in Microsoft developing C# as a Java killer

https://en.wikipedia.org/wiki/Visual_J%2B%2B


That was old Visual Studio, from the days of VS6 which shipped VB6, prior to the launch of Visual Studio.NET (2002).

It seems MS is thinking money is to be made from order of magnitudes more users paying order of magnitude less money on cloud tools / infrastructure. It is opposite of traditional MS where fewer users were paying lots of money for MS tools.

Microsoft is just a 'Solutions member', which is among the lowest form of membership for Corporate entities. They are only required to pay $20K a year. Not required to contribute any engineers to Eclipse Foundation. The 'membership' portion of this announcement is pure PR. If they were setting aside real cash, they would join as 'Strategic Member' where they would be required to contribute real cash and minimum amount of engineers to Eclipse.

While I'm sure they could easily join at a higher tier, I will still applaud their contribution.

Hopefully MS stay as a "Solutions member" and not become a "strategic member" and screw-up Eclipse Foundation

I'm afraid that their "To Serve the Community" may actually be a cookbook...

Visual Studio runs on Linux, now MS joins Eclipse...the changes at Microsoft is too fast and dramatic, considering a while ago they're so hostile to the open source and Linux world at large. This indeed explains the saying: "if you can't beat them, you join them".

I hope it's not too late for them, for me there is no way to get back to Windows environment for any kind of development.

I suddenly realized that, Linux has won already, from Smart phones to the cloud servers, all the way.


> for me there is no way to get back to Windows environment for any kind of development.

Awesome! You don't need to:

https://dotnet.github.io/getting-started/ https://code.visualstudio.com/#alt-downloads http://www.omnisharp.net/

*It's a stretch to say "Linux won on the smart phone".


Legal | privacy