.NET, C-sharp, and Mono
.Net is a development platform, for which the main programming language is C#, both of which were developed by Microsoft.
Mono is a free software implementation of .Net and C#, developed by Novell with assistance from Microsoft.
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:
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: [...]
Mono (version 1.1.10) is one of the software packages that OIN members promise not to use their patents against. Version 1.1.10 is from 2005.
In November 2010, Microsoft bought 882 patents from Novell (as a sub-part of a larger sale in which Attachmate bought most of Novell). This may have significantly weakened OIN. Can you help? The consequences of this are not known. Information very welcome here: Novell#Does_this_weaken_OIN.3F
Microsoft probably didn't acquire any patents that would be dangerous to users of Mono. Firstly, Microsoft already had .Net patents, so if Novell had any, this would just be a surplus. Secondly, it seems that Microsoft's patent promise(s) would apply equally to newly acquired patents. For these two reasons, the newly acquired patents are only as dangerous as the patents that Microsoft already had, so they're just surplus.
- For note-taking, or a personal wiki, use GNote instead of Tomboy.
- To manage and edit collections of photos, use Shotwell, Solang or GQview.
Avoiding C#: use Vala
There is a langauge called "Vala" which aims to have the utility of C#, and which was developed without Microsoft's involvement."Vala Tutorial". http://live.gnome.org/Vala/Tutorial. "Vala's syntax is an amalgam heavily based on C#'s." </ref>
However, since Vala is a "partial" implementation of C#/.NET, it is not covered by Microsoft's patent promises. 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". Some people suggest this makes Vala riskier than Mono.
Vala, and applications written in Vala such as Shotwell, have been added to the Fedora GNU/Linux distribution. Fedora rejects some package that carry a patent risk, so their acceptance of Vala indicates some confidence in it.
Related pages on ESP Wiki
- Comparing Java to .Net and C-sharp
- Harm to standards
- Patent promises
- Microsoft Open Specification Promise
- Free software harmed by software patents
- Campaigns to avoid patented ideas
- The ISO standard defining C#
- .Net On Android Is Safe, Says Microsoft, 27 Aug 2010, Slashdot
- Mono FAQ: Could patents be used to completely disable Mono?
- Mono-nono - a site documenting the problems with Mono. Archived from the original on November 10, 2011.
- Mono actually is dangerous
- 2008: Summary of Mono’s Danger to GNU/Linux and the Free Desktop Summary and list of many articles by BoycottNovel.com
- 2009: Why free software shouldn't depend on Mono or C#, by Richard Stallman
- (a week later, FSF reconfirmed this position, and it was discussed on Groklaw)
- "Five straightforward steps to vanquish Mono"
- Monomania, October 2009, Jeremy Allison looks at the patent problems
- How to Advocate for/against Mono Convincingly, October 2009, Chao-Kuei Hung challenges mono supporters with a vote, with interesting responses from mono supporters
- What’s the Problem? On Microsoft, Mono and Patents, Stephen O'Grady
- Even with its success, .NET causes some consternation, March 2010, quoting Mono's main developer Miguel de Icaza "Microsoft has shot the .NET ecosystem in the foot because of the constant threat of patent infringement that they have cast on the ecosystem [...] the .NET world has suffered by this meme spread by [Microsoft CEO Steve Ballmer] that they would come after people that do not license patents from them."
- How To Defend Against Software Patent FUD - arguing that patent worries about Mono are baseless, Jonathan Pryor
- ↑ http://www.microsoft.com/interop/cp/default.mspx
- ↑ http://www.openinventionnetwork.com/pat_linuxdefpop.html
- ↑ "Language Envy". http://linuxpatents.blogspot.com/2010/05/language-envy.html. "[Note: this article compares Vala features to the abstract of some Micrsoft patents, but this doesn't imply infringement. It's the claims that should be looked at.] A quick look through the patent system reveals Vala is infringing happily left and right on Microsoft property. [...]"
- ↑ http://mether.wordpress.com/2010/04/13/fedora-13-desktop-features/