ESP Wiki is looking for moderators and active contributors!

Difference between revisions of "Comparing Java to .Net and C-sharp"

(Java)
m (Reverted edits by 218.6.16.162 (talk) to last revision by Ciaran)
 
(22 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{navbox}}
 
{{navbox}}
With [[Oracle]]'s patent attack on [[Google]]'s Java-like Dalvik, many people asked if Java's patent risk is similar or higher than that of [[Microsoft]]'s [[Mono and Moonlight|C# / Mono]].
+
With [[Oracle]]'s patent attack on [[Google]]'s Java-like Dalvik, many people asked if [[Java and patents|Java's patent risk]] is similar or higher than that of [[Microsoft]]'s [[Mono and Moonlight|C# / Mono]].
  
 
==Who owns related patents?==
 
==Who owns related patents?==
Line 12: Line 12:
 
[[Oracle v. Google (2010, USA)|Oracle sued Google in 2010]].
 
[[Oracle v. Google (2010, USA)|Oracle sued Google in 2010]].
  
Microsoft has long history of using their patents against software projects and companies, including [[free software]] projects.
+
Microsoft has long history of aggressive use of their patents against software projects such as their use of their [[Microsoft's FAT patents|FAT patents]] (against [[Microsoft v. TomTom (2008, USA)|TomTom]] and against and unknown defendant in [[Germany]]<ref>http://news.swpat.org/2010/06/german-court-ruling-x-zr-2707-as-text/</ref>), and their litigation [[Microsoft v. Salesforce (2010, USA)|against Salesforce]].  Microsoft executives have also made repeated comments about [[free software]] such as GNU/Linux infringing their patents and have knelt on various free software distributors [[Software distributors paying Microsoft patent tax|to obtain royalties for the distribution of GNU/Linux]].
  
 
==What reassurances have the patent holders offered?==
 
==What reassurances have the patent holders offered?==
Line 20: Line 20:
 
* Oracle (holder of all the worrying patents) has distributed a version of Java, called OpenJDK, under the terms of the [[GPLv2]].  In doing so, it has given an implicit grant to everyone that distributes and develops software based on that code, including modified versions, subsets, and supersets.
 
* Oracle (holder of all the worrying patents) has distributed a version of Java, called OpenJDK, under the terms of the [[GPLv2]].  In doing so, it has given an implicit grant to everyone that distributes and develops software based on that code, including modified versions, subsets, and supersets.
 
* Oracle is a licensee of [[Open Invention Network]], which means it has promised not to enforce its patents against the list of [[free software]] packages.
 
* Oracle is a licensee of [[Open Invention Network]], which means it has promised not to enforce its patents against the list of [[free software]] packages.
* Oracle made a patent grant, in the Java Language Specification, that clean room implementations that are 100% compliant, are licensed to use Oracle's patents. However, this is possibly the leass important patent grant since it doesn't apply to supersets, subsets, or any implementation that doesn't exactly comply with the Java Language Specification. This grant doesn't apply to OpenJDK and derivatives since grant itself says: "[...]license allows and is limited to the creation and distribution of clean room implementations[...]". It only apply for clean room implementations like Dalvik. Oracle-distributed OpenJDK is covered by GPL and allows supersetting and partial implementations as long is GPL obeyed.
+
* Of least importance, Oracle makes a patent grant in the [http://java.sun.com/javase/6/jdk-6u21-doc-license.txt Java Language Specification], but this is of low importance because it only applies to Java implementations that are 100% compliant, no subsets, no supersets.
  
===C#===
+
===.Net and C#===
  
Microsoft gives the [[Microsoft Community Promise]], which says:<br />''Microsoft irrevocably promises not to assert any Microsoft Necessary Claims against you for making, using, selling, offering for sale, importing or distributing any implementation, to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification ("Covered Implementation"), subject to the following: [...]''
+
For .Net and C#'s core libraries and VM,<ref>http://tirania.org/blog/archive/2010/Aug-13.html</ref> Microsoft gives the [[Microsoft Community Promise]].  Subsets are not covered, but supersets are.  It says:
 +
 
 +
<blockquote>
 +
Microsoft irrevocably promises not to assert any Microsoft Necessary Claims against you for making, using, selling, offering for sale, importing or distributing any implementation, to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification ("Covered Implementation"), subject to the following: [...]
 +
</blockquote>
 +
 
 +
Microsoft also distributes ''.NET Micro Edition'' (which covers a superset of the code covered by ECMA/ISO 335<ref>http://tirania.org/blog/archive/2010/Aug-13.html</ref>) under the Microsoft Public License<ref>http://www.opensource.org/licenses/ms-pl.html</ref> which contains this patent grant:
 +
 
 +
<blockquote>
 +
each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
 +
</blockquote>
 +
 
 +
{{help|Is any part of Mono based on this code? (if not, this protection doesn't apply to Mono)}}
 +
 
 +
MS-PL is incompatible with GPL, and it only applies to parts that are under MS-PL. {{help|Which parts are under MS-PL?}} If another part of Mono, which is not distributed by Microsoft under MS-PL, infringes the same patent, the MS-PL parts are irrelevant.
 +
 
 +
==Related pages on {{SITENAME}}==
 +
 
 +
* [[Java and patents]]
 +
* [[.Net, C-sharp, and Mono]]
 +
 
 +
==External links==
 +
 
 +
* [http://developers.slashdot.org/article.pl?sid=10/08/27/1732219 .Net On Android Is Safe, Says Microsoft], 27 Aug 2010, '''Slashdot'''
 +
* [http://tirania.org/blog/archive/2010/Aug-13.html Initial Thoughts on Oracle vs Google Patent Lawsuit], 13 Aug 2010, '''Miguel de Icaza'''
 +
* [http://java.sun.com/javase/6/jdk-6u21-doc-license.txt Java Language Specification]
 +
* [http://en.wikipedia.org/wiki/Mono_%28software%29#Mono_and_Microsoft.E2.80.99s_patents Mono and Microsoft’s patents], '''Wikipedia'''
 +
 
 +
==References==
 +
{{reflist}}
  
  
 
{{footer}}
 
{{footer}}
 
[[Category:Microsoft]]
 
[[Category:Microsoft]]

Latest revision as of 17:58, 14 January 2011

With Oracle's patent attack on Google's Java-like Dalvik, many people asked if Java's patent risk is similar or higher than that of Microsoft's C# / Mono.

Who owns related patents?

For both languages, there is only one patent holder which asserts that it has patents on the language and is willing to take developers to court. For C#, that's Microsoft, and for Java, that's Oracle.

For Java there is also a patent which was owned by SCO until recently.[1][2] The current owner isn't known, but this patent has never been mentioned in relation to enforcement.

What forms of aggression have the patent holders shown?

Oracle sued Google in 2010.

Microsoft has long history of aggressive use of their patents against software projects such as their use of their FAT patents (against TomTom and against and unknown defendant in Germany[3]), and their litigation against Salesforce. Microsoft executives have also made repeated comments about free software such as GNU/Linux infringing their patents and have knelt on various free software distributors to obtain royalties for the distribution of GNU/Linux.

What reassurances have the patent holders offered?

Java

  • Oracle (holder of all the worrying patents) has distributed a version of Java, called OpenJDK, under the terms of the GPLv2. In doing so, it has given an implicit grant to everyone that distributes and develops software based on that code, including modified versions, subsets, and supersets.
  • Oracle is a licensee of Open Invention Network, which means it has promised not to enforce its patents against the list of free software packages.
  • Of least importance, Oracle makes a patent grant in the Java Language Specification, but this is of low importance because it only applies to Java implementations that are 100% compliant, no subsets, no supersets.

.Net and C#

For .Net and C#'s core libraries and VM,[4] Microsoft gives the Microsoft Community Promise. Subsets are not covered, but supersets are. It says:

Microsoft irrevocably promises not to assert any Microsoft Necessary Claims against you for making, using, selling, offering for sale, importing or distributing any implementation, to the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification ("Covered Implementation"), subject to the following: [...]

Microsoft also distributes .NET Micro Edition (which covers a superset of the code covered by ECMA/ISO 335[5]) under the Microsoft Public License[6] which contains this patent grant:

each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.

Can you help? Is any part of Mono based on this code? (if not, this protection doesn't apply to Mono)


MS-PL is incompatible with GPL, and it only applies to parts that are under MS-PL. Can you help? Which parts are under MS-PL?

If another part of Mono, which is not distributed by Microsoft under MS-PL, infringes the same patent, the MS-PL parts are irrelevant.

Related pages on ESP Wiki

External links

References