I don't agree with RMS many times but in this one way he was 100% wrong when he targeted mono.
I don't agree with RMS many times but in this one way he was 100% wrong when he targeted mono.
C# 2.0 is nearly a decade old now - and mono certainly hasn't limited itself to it. Absolutely none of C# 3, 3.5, 4.0, 4.5 was ever released as an open specification or as open source software until now - yet these are the versions mono and everyone was using.
So the "MONO FUD" was never actually FUD, it was legitimate concerns about the lack of openness of the technology. Those are no longer concerns (about this release version) - and we can be glad that RMS et al were "wrong" about this one (When they were in fact, absolutely right at the time.)
https://www.fsf.org/news/dont-depend-on-mono
So, five years later Microsoft makes another step in the right direction, and you think he's wrong because he didn't want to risk building the open source environment around something that could go away with a simple threat.
Btw, doesn't Microsoft make more money from Android patents than Microsoft phones? Microsoft does exercise their patents.
Edit: why the downvotes? If I started a social movement and everyone associated me with a watered-down alternative that tries to silence my views, I would be a little miffed.
I really like microsoft products and I use them every day, however the business model is too lock people in to their ecosystem so that you have to purchase licenses for their products.
Mono clearly undermines that b/c it allows you to "easily" jump ship to a free platform.
Unless I'm somehow completely misunderstanding their business model - killing Mono just makes business sense.
It's all part of the same thinking. RMS et al think - not unreasonably - think that this is Microsoft's business plan, so they really don't want the open source community investing their time on a platform they think will get clamped down to work only on a proprietary system.
I think what RedHat is doing is nice, but it's really not on the same scale to what Microsoft does; not to mention that they essentially have no monopoly/lockin - b/c anyone can start doing what they do (ie. start providing support for CentOS).
The synergy of microsoft services is closely tied to their ability to lock in developers and customers. Devs like C#, they write code to run on windows, windows gets more OS-exclusive software, more people buy Windows and Office, etc. etc.
Mono means people can run their C# work on free software, which mean they stop looking any better more appealing than the competition
So look at what they're actually doing, right now: they're open-sourcing key parts of the .NET platform, and they're partnering with Xamarin to support even more open-source elements that makes the .NET platform appealing to new kinds of developers. So there's a low barrier to entry to getting started with .NET development and getting into that ecosystem. Once you're on the hook, as you grow you'll run into more and more things Microsoft can sell you. Microsoft can sell you their line of Visual Studio development tools, which provide the best .NET development experience. They can sell you Azure hosting for your .NET apps, which will likely offer the best .NET hosting possible (and even if you're not on .NET or are mixed between .NET and something else, Azure is getting very competitive with Amazon and Google). And if you're writing phone and tablet apps for iOS/Android using Xamarin, Microsoft is right there for you to expand your reach by porting to Windows Universal, where you can get your app on Windows 8 tablets and PC, Windows 8.1 phones and the Xbox One. That's Microsoft's vision of the future.
And yes, if you're running ASP.NET on Mono on Debian via AWS, to support your iOS app developed in Xamarin using Xamarin's IDE, Microsoft doesn't really benefit there. But that's also the case if you're running Node.js or PHP on AWS to connect to an iOS app written in ObjectiveC. And people in the former group are still much better PROSPECTIVE customers for future Microsoft endeavors than people in the latter group. (Not that Microsoft doesn't want to sell the latter group stuff too -- look at Azure.)
1. http://bits.blogs.nytimes.com/2014/04/02/parsing-microsofts-...
They're looking longer term in the face of declining Windows/PC sales, and stagnant phone/tablet sales. It makes a lot of sense to improve/expand the platforms that their tools can target. They do have some really nice tooling, and imho Azure is a bit easier to use for a lot of things compared to alternatives.
It's not perfect, but they definitely have a strategy in place with the future in mind.
* I work for MSFT, on the Cloud.
This current move from MS suggests that they may not be being evil in this case, and that's great, but it doesn't make people with concerns about MS FUD-merchants at all. In fact, that's kinda insulting - most people accept that past behaviour is a good predictor of future behaviour so being cautious and sceptical about MS was not an unreasonable stance.
What I hear privately from the people I meet who work on the .Net and Visual Studio side of things is consistent with what the company is now saying publicly.
Basically: "We luvvv Mono" :-)
You know, I tried that. I've tried to run about 3 .NET programs, written for Windows, under Mono on Linux. They all have had some library that was never part of the "open spec" that, therefore, ruined their chances of running on anything but Windows. The experience(s) put a nice, neat pin on the board as to what "open" meant when it came to Mono. It was a lot of double speak. And it's exactly this long-suffering characteristic about Microsoft that makes people like me take these current announcements with a large grain of salt.
Not depending on them for anything is, has been, and will be a fine strategy.
Until they really make free enough licenses not only for the core stuff but for the crucial libraries nobody can expect to be off-the-hook of the traditional lock-in.
And even if they do all that, it doesn't mean anybody was "wrong" only that the conditions are changing and allow reconsideration.