Linked by Thom Holwerda on Fri 27th Apr 2012 01:00 UTC
Legal "Former Sun CEO Jonathan Schwartz took the stand here today as a witness for the defense, and disputed Oracle's claim that Java APIs were proprietary code from Sun. Google's lawyer, Robert van Nest, asked Schwartz whether, during his tenure at Sun, Java APIs were considered proprietary or protected by Sun. 'No,' Schwartz said in explaining the nature of open software, 'These are open APIs, and we wanted to bring in more people... We wanted to build the biggest tent and invite as many people as possible.'" Whoopsie for Oracle.
Permalink for comment 516048
To read all comments associated with this story, please click here.
RE[6]: Re:
by tanishaj on Sat 28th Apr 2012 05:24 UTC in reply to "RE[5]: Re:"
Member since:

"C# IS A STANDARD, even if the standard has not been updated, and even if you feel the need to nitpick.

I stand corrected, C# v1.0 and v2.0 are standardized, nothing beyond that.

Legally, you are only allowed to implement up to C# v2.0,
there is no legal protection beyond that version, other than Microsoft stating in some web site that they will play nice with the open source community.

Plus .NET and C# are intertwined, for certain language features, you do require a specific CLR version. It is not as you could target CLR v1.0 with C# v4.0, for example.

So what is the point to use a language, which legally is frozen in time?

We agree that specific versions of C# require certain versions of the CLR. I am sure we would agree that CLR 2.0 only support up to C# 3.0 (.NET 3.5 era). We also agree that CLR 4 is not completely covered by the ECMA or ISO standards as they have not been updated. So, you could technically argue that sweeping patent grants that Microsoft has offered may not 100% protect Mono users of C# 4.0 features that require CLR 4.

So, let's look at F#...

1) F# has been released by Microsoft under an Apache 2.0 license
2) Apache 2.0 includes an explicit patent grant
3) Microsoft explicitly released F# for OS X and Linux
4) F# 2.0+ REQUIRES at least CLR 4 to run
5) On OS X and Windows, F# REQUIRES Mono
6) Mono 2.10 and above BUNDLES the Microsoft F# code

Visit the website sometime...

1) is registered to Microsoft (it is an official Microsoft site)
2) is pretty self-explanatory
3) Microsoft RECOMMENDS that you get F# as part of Mono 2.10 or higher (because Mono distributes it)
4) Mono 2.10 and higher DEFAULT to CLR 4
5) The site itself uses Moonlight (the Mono implementation of Silverlight)

So, Microsoft USES Mono themselves. They have also released a product (F# for Mac or Linux) that not only RECOMMENDS using the Open Source implementation of CLR 4 (Mono) but in fact REQUIRES it.

What court of law do you think would let Microsoft successfully sue somebody for using the Mono implementation of CLR 4 on that basis? This is even before debating the explicit protections that Microsoft offers (many).

Now, CLR 4 does not run F# code directly. CLR 4 runs CIL code. The F# compiler simply generates CIL. So, from above, Microsoft is quite fine with you running your CIL on the Mono version of CLR 4.

What does the C# 4.0 compiler generate? That's right, it spits out CIL. And you can run that CIL on the same version 4 CLR that you run your F# code on (that Microsoft is TELLING you to use).

As another little tidbit...Microsoft has released a few games and applications for iOS (iPhone and iPad). Guess what they used to write them? They used MonoTouch (by Xamarin). This is a COMMERCIAL product based on Mono. So, Microsoft is actually PAYING to use Mono themselves.

The last big Apache 2.0 code drop from Microsoft was ASP.NET MVC 4 (including WebAPI and the Razor view engine). This was just a couple of weeks ago. The big news is that they are accepting EXTERNAL contributors now. Microsoft invited Miguel de Icaza (the founder of the Mono project) to be the first non-Microsoft contributor to the project. Mono is already shipping this new Microsoft code in the Mono repository on Github.

I find it kind of quaint how some people continue to insist that using Mono is unsafe. Using Ruby is probably more of a patent litigation risk than Mono is (and I see no reason why anybody should be concerned about Ruby).

Reply Parent Score: 2