Are there any theories about how this (presumably substantial) investment makes business sense for MS?
Are there any theories about how this (presumably substantial) investment makes business sense for MS?
Google, through V8, Chromium, Chrome, Chrome OS, Android, and Dart, has a large say in the future of the web platform, browsers, apps, the future of Javascript, etc.
Time and time again, Google has used their substantial influence and market share to make unilateral decisions affecting the web platform [1][2][3][4][5][6]; the individual merits of each decision notwithstanding, Google can do just about anything and it will affect enough of the userbase that others must compensate or follow suit.
By offering an alternative to V8 monoculture, they can protect against Google using its influence to drive the Javascript platform in its own direction.
[1] SHA1 sunset: https://security.googleblog.com/2014/09/gradually-sunsetting...
[2] NPAPI discontinuation: https://blog.chromium.org/2014/11/the-final-countdown-for-np...
[3] Block Flash by default: https://groups.google.com/a/chromium.org/forum/#!searchin/ch...
[4] Chrome ignoring autocomplete=off: https://bugs.chromium.org/p/chromium/issues/detail?id=468153...
[5] VP9 available in WebRTC: https://developers.google.com/web/updates/2016/01/vp9-webrtc...
[6] H.264 in WebRTC still gated behind a flag: https://bugs.chromium.org/p/chromium/issues/detail?id=500605
As VP9 is heavily patented, and the license only allows you to use it if you don't ever sue Google, you're out of luck if Google ever fucks you over somewhere else.
VP.9's license might actually violate antitrust laws.
And now you want to use them in combination with VP.9.
As soon as you do, Google can use your algorithms and patents without ever paying you, and you can't sue them for it, or your product can't use VP.9 anymore.
How fucked up is that? That's a huge cost there for startups that's always treated as "free" while in reality it can be selling out your entire product for a video codec.
That's pretty much discriminating against a wide range of software - namely Free and Open Source. VP9 on the other hand, is compatible with a such development model.
At the example of Pied Piper from SiliconValley: If they used VP.9 for video encoding before compressing and sending it, Google/hooli would now have the right to use their (potentially) patented algorithm for whatever they want, without ever getting sued.
Now that's great, eh?
You are granted patents to use VPx (you can not use these patents outside VPx scope) and you are granting patents necessary to use VPx[1]. If you have some other patents that are not necessary for the VPx, they are not subject of the cross-license.
[1] - "that must necessarily be infringed by the act of Exploiting Licensed Products in the Licensed Field of Use"
These patents are all about a corporate cold war esque standoff and a licence term like that to me sounds like a dead hand.
That makes it quite problematic, because if you, as a company, want to implement WebRTC compatible with Chrome, Google can now use all your patents for free, and you can't do anything about it.
It heavily surpresses innovation in the sector - existing big players can easily make a patent deal, but a new startup?
I'm all for MS releasing a competing open source JS engine. Personally I have been burned so many times by MS in the past when they had "substantial influence" I have no interest in using it.
Google has a heavy stake in making sure people keep using Google.com and it's associated services.
For me, the network protocols are what actually matters.
An on the mobile space for the time being, Apple and Google rule.
After GMail, Web Search, Chrome and Android, they are just like any other corporation out there.
> Time and time again, Google has used their substantial influence and market share to make unilateral decisions affecting the web platform [1][2][3][4][5][6]; the individual merits of each decision notwithstanding, Google can do just about anything and it will affect enough of the userbase that others must compensate or follow suit.
Funny, that 15 years ago you could say the exact same thing about Microsoft. Google's increasingly like the old Microsoft.
What is strange is that many still don't get these cycles. :)
Through their charitable work, they look like the "good guys". The great thing about getting devs to like MS is that those devs might praise MS when talking to their non-developer friends, and their non-developer friends might ascribe a lot of value to that praise simply because they know that devs probably know more about tech companies.
In other words, by getting devs to like/trust MS more, non-devs will also like/trust MS more
It's fantastic that they're open sourcing some stuff these days, but the things they're open sourcing and external projects they're contributing to are all either cost centers (nobody makes money on browser engines these days), or areas where they've lost the battle for cloud hosting, and are hoping to get a leg in on Linux-based hosting.
Now if they were to open source something like MSSQL, Exchange server, truly open up the office format, or pretty much anything where they haven't utterly been defeated by existing open source products I'd be impressed and might think their company culture is truly changing.
As it stands I don't see any reason to think that this isn't just all part of an experimental marketing strategy to bring already lost markets back under the Microsoft umbrella, and once they can achieve lock-in again; goodbye open source.
The further you go from that sort of thing where they've already lost the market and either have nothing to lose or the writing is on the wall (how long can paid-for languages truly compete with free ones?), the less they have open sourced.
E.g. even Visual Studio which would be the next logical step is still for sale starting at $500 on their website[1], maybe that'll be fully open one day. After all how long can the paid-for editor wars persist?
What I was pointing out is that there's no sign of them opening up anything that would truly make them an open source company. I.e. things they make real money on, or would threaten their established lock-in.
To put things into perspective, IntelliJ has been battling both Eclipse and Netbeans for ages and it is (slowly) winning.
What I'm saying is that the comments here to the effect of "Microsoft has changed their stance" don't seem to be in touch with reality.
Microsoft has just realized relatively late that there's certain things that they can't make money on yet are still strategically important, such as core .NET technology, or JS engines.
That doesn't mean that they'll keep open sourcing stuff, or that they're not likely to pull back the second they think it services their commercial aims.
Their core market (desktop/enterprise desktop) is basically saturated. Almost their secondary efforts have failed from a financial standpoint or are only second in their niche (Bing, Edge, Azure, Xbox, etc.).
Unless they pull off some sort of a miraculous switch:
* they'll continue to be perennial underdogs
* they'll opening things up in order to gain allies, through genuine community building
From my point of view, in a sort of twisted way, that basically means that they're safe from a open source point of view.
They'll have to develop communities in almost every area they want to compete in (which means that there will be stewards available if they back down) and they'll invest quite heavily in their open source contribution.
It might not be done for the purest reasons, but I think that their new contributions will be here with us for the long term.
I would say that porting MSSQL to Linux, open-sourcing .NET and ChakraCore (amongst other things) is definitely a change from the "Linux / OpenSource is a cancer" days, no?
Microsoft is in no way going to become the next Red Hat in running a service-only model onto of Open Source products. It doesn't make sense for them to do that. But the fact that they have accepted Open Source as a possibility for some of their products, and put that into action is a step in the right direction.
Keep in mind that there's a considerable overhead in open sourcing large products with very old codebases that evolved over many years, sometimes decades (this describes Windows, Office and VS, among many others). For example, they may incorporate code and components from other sources, and the license that permitted their use and redistribution may not permit opening the source. Worse yet, in many cases, you won't even be sure if they do or do not before you do an expensive code audit.
Open sourcing something mostly brand new, like ASP.NET Core or Roslyn, is much easier in comparison, because you architecture for that from the get go.
And the two are completely different products
The license you're buying for VS is a support seat with some special integrations. It's not like IntelliJ doesn't do that too. The community edition is entirely serviceable and free.
This is why we cannot have nice things, and FOSS community keeps rediscovering features that were already common in the 90's in commercial tools.
Common Lisp IDEs is just one example out of many.
I think that's a misleading picture of where things are going. Seeing these releases as charitable work misses the point. They haven't open sourced any of their core many makers. Nothing of the Office suite got open sourced, and you still can't code for your game console without special permission.
They do as many others, they open source what's already lost in an effort to stay relevant. It has been .net stuff (which was supposed to out-compete Java, but captured exactly zero mindshare outside the Windows ecosystem which is necessary to grow it at this stage), other developer stuff (not Visual Studio, mind you, but things like git and ssh where they tried to compete but lost), cloud (they need Linux on Azure to stay relevant) and web development. Much like Apple when they started out with OS X and released networking, printing and X11 stuff to get back developers. That worked out well for them but we haven't seen any more releases since then.
Don't be tempted to view this in terms of good and evil, but in terms of where these products are in their life cycle. Time will tell if it's successful. I would guess they lost web development long ago and there won't be any mass exodus from PHP or Rails to .net, but they still have a fighting chance against Java, especially if Oracle continues to bodge it.
JavaScript has just reach the same status as many other languages in having the freedom of multiple implementations.
It makes sense for Microsoft to not loose too much market share to v8 or chrome. What if node running on chakra on azure vms performs amazingly well?
If Microsoft behaves as they have done in the past, this is what will happen:
1. Make Node run on top of Chakra [x]
2. Give Chakra non-standard features and sell communities on them while pointing out to dissenters that the extensions are open source []
3. Gradually allow open source work on the product to die and commercialize it []
Microsoft has lost a lot of people's trust. My grandfather used to tell me that trust is hard to earn and easy to lose. Once trust is lost, it's even tougher to earn back. It's going to take some convincing on their end if they want developers to trust them. It doesn't __matter__ if they appear to act more ethically than their competitors, that's not how trust works, and it won't convince a lot of people that have watched Microsoft for a while that they've suddenly changed their ways.
EDIT: funny this is being downvoted considering eee was an actual strategy Microsoft has historically employed according to the US Justice Department. This isn't even conspiracy theory stuff -- this is real life. Those who don't study history are doomed to repeat it.
If MS creates a closed source branch, then the most likely result will be for someone to fork the ChakraCore code and continue NodeJS dev based on the open source fork.
Open source is luring developers into a false sense of security -- it's possible to implement features that could not be ported easily into competitor's products and have no formal specification provided anywhere. Even if they have a specification, there is no guarantee that the specification will remain up-to-date as time progresses.
Also, I even said:
> while pointing out to dissenters that the extensions
> are open source
Open source doesn't mean anything.In addition, if ChakraCore is adopted, it's almost certain there will be a major fork that continues running on V8. The most likely scenario will be that Node will continue to run both in parallel, and soon enough the JS engine bindings will be abstracted enough that it may even become a bring your own JS Engine type software.
Using Chakra is risky. There is a very real possibility that Microsoft will make developers regret trusting them. The only possible payoff is that maybe you need one less app instance. Maybe.
It's foolish to put you, your codebase, and your organization at risk for this.
Or perhaps because many people have been conditioned to dislike anything Microsoft does without actually analyzing it's impact or relevance. Certainly it seems like there aren't many rational facts to thia person's argument.
I very much agree that "non-standard behavior" in an open source product exists that could be directly replicated. One of the major benefits of open source licensing is to hedge against that behavior.
> Or perhaps because many people have been conditioned to
> dislike anything Microsoft does without actually
> analyzing it's impact or relevance.
> Certainly it seems like there aren't many rational facts
> to thia person's argument.
I could say the same thing about this comment.Why is there a different standard you apply to Microsoft's open source efforts? Please, tell me.
> why is it bad for the industry?
I already explained how Microsoft has a history of violating people's trusts, and how an investment in Microsoft's technologies is therefore risky. > Why wasn't it bad when V8 came out and enabled node?
This is off-topic: you don't know my opinion of V8 or Google. My opinion on V8, good or bad, also does not change the validity of my criticisms. > Why is there a different standard you apply to
> Microsoft's open source efforts?
You don't know me personally, so it's presumptive of you to assume I'm applying a standard unevenly.You have done nothing to address the criticisms of Microsoft, instead you have resorted to cheap red herrings -- a tell-tale sign of a lost argument. Until you decide to actually provide an argument of substance against what I've said, rather than arrogant name-calling and presumptive assumptions regarding my standards for open source, this conversation cannot serve any constructive purpose.
They have new management that is doing a lot of great things. The number of bad things they do is going down. Many of their products are genuinely good now. They're oing out of their way to improve their support for the broader developer ecosystem.
At this point, I "like" them a lot more than I like Apple or any of the hapless desktop Linux Distribution corporate governance bodies.
You talk about "organizational risk"as if we don't live in a post-Sun world where Oracle genuinely believes APIs are patentable and the number of successful major open source projects without corporate sponsorships is vanishingly low. It's a world where a single assinine node developer with a trivial package on npm shut down the entire damn industry for days.
A relationship with a fairly stable and increasingly developer friendly company like Microsoft seems very reasonable by comparison.
> Who asked what you like? That's irrelevant.
Parent did, when they asked: > Why can't you say the same for v8?
My point was they did not know my opinion on the subject and to make an argument about my personal consistency in analysis (although this is off-topic) is impossible.Oracle's actions do change the validity of the criticisms against Microsoft. That conversation isn't directly related to this thread and is a weak distraction from Microsoft's history, a history that many reasonable people could claim is shameful. If that's the best that can be done to defend Microsoft, then it seems that it isn't trustworthy.
And it does. But it's not a very high risk.
http://www.cnet.com/news/nessus-security-tool-closes-its-sou...
A project like Linux couldn't do this, since it has thousands of authors, and each author would have to agree to the change. But if the author is a single person, or a corporation, then only one person has to make the decision.
It is not at all clear that you can snap your fingers and renegotiate an existing license arbitrarily like that. You need to do it in advance of the agreement.