It seems like a public image choice more than anything, even though "Microsoft Public License" was an OSI-approved license it still carries the dreaded M-word. Plus people are more familiar with the Apache license.
Someone in the thread also commented that Apache License 2.0 is designed to be GPLv3-compatible whereas MPL was less clear on GPL compatibility.
I recall a video of the IronPython team talking about VS2010 support where they mentioned they would be changing the license for GPLv3-compatible. Considering how great this tiny little open source loving team buried deep in the bowels of microsoft have been so far I am willing to trust that is the main reason, not PR.
And, about motivations, I will not trust Microsoft. They are constantly threatening Linux users with patent suits and forcing them to license undisclosed technologies, maintaining an atmosphere of legal uncertainty. Why would anyone want to use tools that are vulnerable to such attacks?
It was emotional, and it was hostile. But, you know, emotion and hostility are sometimes the right reaction to someone else's behaviour. Microsoft has threatened open source in the past with lawsuits, and leaked Microsoft memos (the Halloween Documents) have talked about using that as a strategy.
Given all that background, it makes sense for people to be cautious -- though not unremittingly and unthinkingly hostile -- regarding Microsoft.
Now, for me, if I was developing on the CLR, I would very much consider using IronPython. Though having said that, I wouldn't consider developing for the CLR, because it isn't open source and doesn't run on Linux. Instead I might use the JVM, which seems to be acquiring a good ecosystem of languages (Groovy, Clojure) and tools (ANTLR, various IDEs) that run on it.
On a wider note, I do think the Halloween Documents heralded Microsoft's current weakness. In them, they said that they were going to compete with Linux and open source by using legal shenanigans. Nowhere did they say they are going to compete by writing better software and producing better devices than the competition so people would prefer using their products.
Instead MS though their dominance of the PC space meant they could relax and didn't need to develop good products. And now Apple is eating their lunch.
An irrational response is never the best way to disagree. I would rather start a debate.
I find it very sad that very nice tools like IronPython, IronRuby and the whole CLR stack have such threats associated with them. I would love to use them, but I find it risky and I do not enter any course of action that may empower Microsoft against the FLOSS community.
A friend and I were having a discussion about what Microsoft could do to help foster more widespread adoption of C#, and the number one thing we agreed on was fully open-sourcing the C# language and releasing it under a BSD or Apache 2 style license. It's nice to see they're taking that step with some of their less mainstream products.
The specification for C# is already an open standard is it not? There's an open source compiler implementation as well (Mono). In fact, there are two (DotGNU).
The specification is an ECMA standard, but afaik Microsoft's implementation is not open. Mono has the unfortunate task of reimplementing everything instead everyone working off of the same master source.
The specification is an ECMA standard, but afaik Microsoft's implementation is not open
Yes, that's true.
But I'm curious: How would open-sourcing their implementation of the language (and not just the specification) help in making its use more wide-spread?
(Especially when the compiler is already available at no-cost to those who want it, and for those interested in extending an existing compiler for their own internal use, the Mono source is available)
I guess one possible answer might be that Microsoft's specific compiler implementation may actually diverge from the standard submitted to ECMA (this is actually the case on some edge cases in the language dealing with type casting where they found that what their compiler implements doesn't follow the standard exactly)
Library implementations are not part of the ECMA standard; it would be really nice to have a dedicated open source project (a la AOSP) that contains not only the core language implementation, but the entire library implementation as well. That would potentially allow users to not only contribute bugfixes and improvements back to the project, but would give Mono et al access to library implementations to make it much easier for them to reproduce the work in a cross-platform method.
The only way would be for Microsoft to permanently and irrevocably renounce the rights to pursue patent licensing on products based or using free implementations of the C# language and the CLR/.NET stack.
Agreed, also: Give away visual studio for free ( the full 'professional' version ). Buy out jetbrains and make resharper a msft product that you must pay for. Make windows phone 7 rock, so that mobile development takes off. Work with mono to make .NET run 100% on any platform.
http://www.mail-archive.com/users@lists.ironpython.com/msg11...
It seems like a public image choice more than anything, even though "Microsoft Public License" was an OSI-approved license it still carries the dreaded M-word. Plus people are more familiar with the Apache license.
Someone in the thread also commented that Apache License 2.0 is designed to be GPLv3-compatible whereas MPL was less clear on GPL compatibility.