ESP Wiki is looking for moderators and active contributors!

Difference between revisions of ".NET, C-sharp, and Mono"

(Avoiding C#)
(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 co)
Line 1: Line 1:
{{navbox}}'''Mono''' and '''Moonlight''' are [[free software]] packages developed with help from [[Microsoft]]Questions of their legal safety exist because both packages use ideas on which Microsoft holds patents. Microsoft has given limited reassurances, but they are far from complete.
+
{{navbox}}
 +
'''C#''' is a programming language developed by [[Microsoft]].  '''Mono''' is a software implementation of C#, developed by [[Novell]] with assistance from Microsoft.  Microsoft has asserted that it has patents on C# and related libraries.{{ref}}
  
 
==Mono==
 
==Mono==
 
===What is it?===
 
===What is it?===
 +
 
Mono is an implementation of the C# programming language and the Common Language Infrastucture as described by [http://www.ecma-international.org/publications/standards/Ecma-334.htm ECMA-334] / [http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=42926 ISO/IEC 23270] and [http://www.ecma-international.org/publications/standards/Ecma-335.htm ECMA-335] / [http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=42927 ISO/IEC 23271].
 
Mono is an implementation of the C# programming language and the Common Language Infrastucture as described by [http://www.ecma-international.org/publications/standards/Ecma-334.htm ECMA-334] / [http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=42926 ISO/IEC 23270] and [http://www.ecma-international.org/publications/standards/Ecma-335.htm ECMA-335] / [http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?csnumber=42927 ISO/IEC 23271].
  
 
===What reassurances has Microsoft offered?===
 
===What reassurances has Microsoft offered?===
The ECMA-334 and ECMA-335 are covered by the [[Microsoft Open Specification Promise]] and the [[Microsoft Community Promise]].<ref>http://www.microsoft.com/interop/cp/default.mspx</ref>
+
 
 +
The ECMA-334 and ECMA-335 are covered by the [[Microsoft Open Specification Promise]] and the [[Microsoft Community Promise]], which says:<ref>http://www.microsoft.com/interop/cp/default.mspx</ref>
 +
 
 +
<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>
  
 
===Avoiding Mono===
 
===Avoiding Mono===
Line 13: Line 20:
  
 
===Avoiding C#===
 
===Avoiding C#===
Info sought: there is a langauge called "Vala" which aims to have the utility of C# without the patent problems.
 
 
However, since Vala is a "partial" implementation of C#/.NET, Vala is actually more at risk of patent problems than Mono is. Note that the Microsoft Community Promise only covers full implementations, not partial implementations like Vala is.
 
 
==Moonlight==
 
===What is it?===
 
 
Moonlight is primarily a web-browser plugin which provides animation and interactivity features which can be used to develop web applications.
 
 
===What reassurances has Microsoft offered?===
 
  
In 2007, Microsoft published a "Covenant to Downstream Recipients of Moonlight".<ref>http://www.microsoft.com/interop/msnovellcollab/moonlight.mspx</ref>  A new promise was published in December 2009,<ref>http://www.h-online.com/open/news/item/Microsoft-promises-not-to-press-charges-against-Moonlight-users-892666.html</ref> but it was criticised as being no improvement on the previous promise.  The new promise also specifically excludes distributors from any patent protection.<ref>http://thread.gmane.org/gmane.linux.redhat.fedora.devel/126037/focus=126221</ref>
+
There is a langauge called "Vala" which aims to have the utility of C# without the patent problems.
  
===Avoiding Moonlight===
+
However, since Vala is a "partial" implementation{{ref}} of C#/.NET, Vala may be at more at risk of Microsoft's patents than Mono is. Microsoft's patent promise only applies to "''any implementation [that] is compliant with all of the required parts of the mandatory provisions of that specification''".
Many features of HTML 5.0 have been designed to provide functionality which is offered by Moonlight. [http://diveintohtml5.org/ Here's] some good info on HTML5.
 
  
 
==Related pages on {{SITENAME}}==
 
==Related pages on {{SITENAME}}==
Line 50: Line 46:
  
 
==References==
 
==References==
<references />
+
{{reflist}}
  
  
{{page footer}}
+
{{footer}}
 
[[Category:Free software]]
 
[[Category:Free software]]
 
[[Category:Pages with advice for avoiding patented ideas]]
 
[[Category:Pages with advice for avoiding patented ideas]]

Revision as of 12:18, 18 August 2010

C# is a programming language developed by Microsoft. Mono is a software implementation of C#, developed by Novell with assistance from Microsoft. Microsoft has asserted that it has patents on C# and related libraries.[reference needed]


Mono

What is it?

Mono is an implementation of the C# programming language and the Common Language Infrastucture as described by ECMA-334 / ISO/IEC 23270 and ECMA-335 / ISO/IEC 23271.

What reassurances has Microsoft offered?

The ECMA-334 and ECMA-335 are covered by the Microsoft Open Specification Promise and the Microsoft Community Promise, which says:[1]

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: [...]

Avoiding Mono

Avoiding C#

There is a langauge called "Vala" which aims to have the utility of C# without the patent problems.

However, since Vala is a "partial" implementation[reference needed]

of C#/.NET, Vala may be at more at risk of Microsoft's patents than Mono is.  Microsoft's patent promise only applies to "any implementation [that] is compliant with all of the required parts of the mandatory provisions of that specification".

Related pages on ESP Wiki

External links

References