Bonum Certa Men Certa

Mono: An Infectious Disease -- An Article by Chris Smart

v0.1 - June 2009



IN THE beginning Microsoft laughed at Linux and free software, claiming it was just an operating system for hackers and hobbyists, posing no real threat to their domination of the computing industry. Now it’s a very different story and Microsoft admits that Linux is their number one threat.

Through the recent TomTom case it is clear that Microsoft is using patents to leverage power over open source. Microsoft knows that if they do nothing, free software will eventually destroy their bottom line. They have to do something, which they certainly are. Microsoft CEO Steve Ballmer admitted,

Linux is a serious competitor

and promised that the company will outsmart open source. So what’s their game plan?

One of the ways they are trying to gain the upper hand is by introducing their own proprietary programming framework into free software, which is called ‘.NET‘. While some parts of the .NET framework such as CLI and C# have been submitted to Ecma for standardisation, others have not. Even so, Microsoft still holds patents in relation to these standards, although the company grants “licenses on reasonable terms and conditions”, but only so long as the corresponding Ecma standard remains valid. The non-standard components also pose a risk.



Microsoft has ulterior motives for wanting support for .NET under Linux. They might not be able to destroy free software, but they sure want to control it. Microsoft CEO Steve Ballmer said:

I would love to see all open source innovation happen on top of Windows.

In relation to using .NET to battle free software, Senior Vice President of Microsoft Servers and Tools, Eric Rudder, said:

As many of you may know, we’ve actually kind of broadened the product portfolio of Visual Studio, targeting all the way from the low end with students and hobbyists, kind of competitive in that Linux space, making sure that every developer has a copy of .NET and is trained in writing .NET solutions. [...] I think it will really help us in our competition with open source.

The more of their own patented technology they can get into free software, the better position the company will be in. Once everyone has adopted it they will then try to control and exploit it, or try to shut it down like they have done many times before. This is exactly what we have seen with the recent VFAT patent claims. But will it work? Possibly.

The Mono project is a free software implementation of the .NET framework, owned by Novell. It runs under Linux, OS X, Unix and even Windows itself. The Mono project is a great open source implementation of .NET, but it is also an essential tool for Microsoft to maintain their strong hold in the computer industry - get everyone using a proprietary programming environment that they control. Then, when the time is right, you can guarantee they will come knocking to collect royalties and sue those who refuse.



There’s no question that C# is a decent language and that many high quality projects have been created as a result of this. Yes, open source does perhaps benefit from these applications, but it’s only a short term gain. Long term, its extremely dangerous. It’s dangerous because if we find ourselves in a position where we rely on Microsoft for our own open source technology, then we are completely at their mercy.

In regards to their original agreement with Novell, Microsoft President Bob Muglia said:

There is a substantive effort in open source to bring such an implementation of .Net to market, known as Mono and being driven by Novell, and one of the attributes of the agreement we made with Novell is that the intellectual property associated with that is available to Novell customers.

So part of Microsoft’s agreement with Novell was to cover patents applying to .NET applications! Those who are developing .NET/Mono applications without a similar Microsoft agreement may be at risk of being sued.

Novell’s Linux distribution, SUSE, also ships with a plugin for the popular open source web browser Firefox called Moonlight, which enables it to play Silverlight (Microsoft’s .NET based framework for web based multimedia) via Mono. This brought about a very interesting agreement between Microsoft and Novell in relation to the use of the technology, where Microsoft agrees not to sue (for a certain period of time) “Downstream Recipients” (yes, the end users) of Novell’s Mono based implementation (and only those online services provided by Novell). The covenant between Novell and Microsoft has been discussed over at Groklaw and is well worth the read. It is also worth noting that Silverlight websites may require various codecs from Microsoft which are not open source and may be patent encumbered.



“It is also worth noting that Silverlight websites may require various codecs from Microsoft which are not open source and may be patent encumbered.”Thankfully, some Linux distributions are starting to realise this threat and are removing certain Mono applications from future releases. Mono itself is currently included in Fedora, but they have removed support for Silverlight, by forbidding Moonlight. Similar reasons as to why Fedora has removed Moonlight apply to the rest of Mono itself, so it remains to be seen as to whether it will be completely removed in the future.

The GNOME project is one of the most popular desktop environments in the Linux world. Many distributions ship this as their default, including top players; Fedora, SUSE and Ubuntu. Novell is a large contributor to the GNOME project and now more and more of its applications are written in .NET.

Some programs built into GNOME which are written to require .NET are; Banshee (music player), Beagle (search engine), F-Spot (photo management program), GNOME Do (application launcher), Monsoon (bittorrent client), Tasque (task management application), Tomboy (note taking program), many libraries and more. While various applications do depend on .NET, it must be stressed that GNOME is not tied to Mono, yet. It might never be. But then again, it just might.

If GNOME does become dependent on .NET it would open up many open source projects and developers to legal action. Of course, once the infringing patents are made known the software can be re-implemented so that it no longer violates them, but how long will that take? Could an open source company take their entire product offline while a fix is created? Also, what other problems would this introduce? At the very least this would rely on companies standing up to Microsoft in the first instance, something which almost happened with the TomTom case, but which fell apart at the end.



When asked for his opinion about GNOME’s relationship with Mono, Free Software Foundation founder Richard Stallman answered:

Mono is a free implementation of Microsoft’s language C#. Microsoft has declared itself our enemy and we know that Microsoft is getting patents on some features of C#. So I think it’s dangerous to use C#, and it may be dangerous to use Mono. There’s nothing wrong with Mono. Mono is a free implementation of a language that users use. It’s good to provide free implementations. We should have free implementations of every language. But, depending on it is dangerous, and we better not do that.

The key issue is dependence. Free software must remain independent of all Microsoft intellectual property, including the .NET framework.

Isn’t this the case with all open source software though, like Samba? It certainly is. Let’s look at Samba a little more closely. Samba implements the Server Message Block protocol for data sharing, which was invented at IBM. Microsoft took this protocol and extended it for use in their operating systems. Samba has continued to incorporate changes to make itself compatible with the Windows implementations and in doing so may have violated a number of software patents. In fact, project founder Andrew Tridgell admits this is the case and says that the team has spent lots of time ensuring they do not violate the ones they know about.



However, the extra good news is that the result of the European Commission’s antitrust lawsuit against Microsoft in 2004 (which Microsoft lost an appeal against in 2007) meant that the company was, among other requirements, forced to enter an agreement with Samba to provide technical documentation for their technology. The agreement also ensures that Microsoft cannot sue over any of its intellectual property related to the project. It might sound similar to the Microsoft-Novell deal but it is very different.

Having been scrutinised by the Software Freedom Law Center, the Samba agreement covers all users of the Samba software and any derivatives thereof. The Samba Team announced:



Under the agreement, Microsoft is required to make available and keep current a list of patent numbers it believes are related to the Microsoft implementation of the workgroup server protocols, without granting an implicit patent license to any Free Software implementation. No per-copy royalties are required from the PFIF, Samba developers, third party vendors or users and no acknowledgment of any patent infringement by Free Software implementations is expressed or implied in the agreement.

So Samba is safe, but the fact that the project needs an agreement like this should sound warning bells for anyone implementing Microsoft technology. Fortunately for us, we all benefit from Samba’s work, but no such agreement exists in relation to other Microsoft technologies, including .NET.

Of course, there are potentially thousands of patent issues affecting free software and we cannot run scared. Once we know about particular patent infringements in free software, they can be resolved. But there’s a difference between implementing software which might turn out to infringe on some patents and deliberately writing free software using a proprietary framework.

Some in the community have seen this threat also and have started porting applications away from .NET. One such project is Gnote, a C++ port of GNOME’s Tomboy note taking application, written by ex-Novell employee Hubert Figuiere. Although not yet feature complete (as of May 2009), it runs much faster and consumes fewer resources. Gnote has quickly been gathering popularity and is already available in most major distributions. Even if there is no port of a specific .NET application, there are plenty of alternatives. The first step is to remove Mono from your Linux box and install replacements.

If you’re using Debian or a derivative such as Ubuntu, you can remove Mono and all applications using the following command (run as root):

apt-get remove --purge mono-common libmono0
apt-get --purge autoremove



Next, download and install Mononono, which sets up a conflict with the real Mono packages, stopping applications from pulling it back in. Like so:

wget http://tim.thechases.com/mononono/mononono_1.0_all.deb
dpkg -i mononono_1.0_all.deb

For users on a Yum based RPM system such as Fedora, the following commands (run as root) will remove mono and block any package from being installed which depends on it:

yum erase -y mono-\*
sed -i '/^\[main\]$/a exclude=mono-\*’ /etc/yum.conf

For those using SUSE or variant, Novell actually gives us the best tool to combat it, thanks to their package manager which can lock packages. First, you need to remove the offending packages, then you lock them so that applications which want to pull Mono back in, cannot. As root, run the following commands:

zypper remove mono


zypper al *mono
zypper al mono-*

This will then remove many of the core applications that Novell bundles with their distribution. Once the system is clean and Mono-free, it’s time to replace those .NET programs. Some to consider in the GNOME/GTK+ space are; Rhythmbox (music player), Tracker (search engine), gThumb (photo management program), Deskbar-Applet (application launcher), Deluge (bittorrent client), Gnote (note taking program).



What else can you do? Vote with your feet. Let your distributions know that you don’t want Mono tainting free software. You’ll also get the added benefit of a computer which runs faster! Microsoft’s number one goal is to keep the world using their software. After all, this is how the company makes money. They will do that by any means necessary, including suing companies (and even end users) who do not submit to their threats.

Microsoft only recently started licensing VFAT, once it had become a de facto standard in the computing industry. What’s stopping them from trying to do the same with .NET? Using it as a programming platform may be putting the free software world in a bad position. By all means, let Linux run Windows .NET applications through Mono, but let’s not make our own software dependent on this proprietary programming framework.

In 2001 Microsoft founder Bill Gates said:

Microsoft has had clear competitors in the past. It’s a good thing we have museums to document that.

Make no mistake. Microsoft is out to destroy Linux (their self-proclaimed number one threat) to maintain their position as the dominant software super power. Let’s not give them a helping hand.



Creative Commons License
Mono: An infectious disease by Christopher Smart is licensed under a Creative Commons Attribution 2.5 Australia License.

Comments

Recent Techrights' Posts

It's Cheaper to Pay Bribes (and Produce Press Releases) Than to Pay Fines (After Lots of Negative Publicity)
Does the UK still have real sovereignty or do corporations from overseas purchase decisions and outcomes?
November 2023 Over With GNU/Linux at All-Time Highs According to statCounter
ChromeOS+GNU/Linux combined are about 7% of the "market"
 
Links 01/12/2023: Facebook Infested With Malicious Campaigns by Imposters, ACLU Gives Advice on Doxxing and Online Harassment
Links for the day
Just Like Its Budget Allocation, the Linux Foundation Devotes About 3% Of Its Latest Newsletter to Linux, Devotes More to Linux's Rivals
It's just exploiting the brand
Links 01/12/2023: Google Invokes Antitrust Against Microsoft
Links for the day
Over at Tux Machines...
GNU/Linux news
UK Government Allowing Microsoft to Take Over Activision Blizzard Will Destroy Jobs
Over 30,000 fired this year? More?
New Report Provides Numerical Evidence That Google Hired Too Many People From Microsoft (and Became Malicious, Evil, Sociopathic)
"Some 12,018 former Microsoft employees currently work for the search and data giant"
Google: Keep Out, Don't Save Your Files, and Also Let Us Spy on Everything You Do
Do you still trust "clown" storage?
IRC Proceedings: Thursday, November 30, 2023
IRC logs for Thursday, November 30, 2023
Links 01/12/2023: Many Suppressions in Hong Kong and Attempts to Legitimise Illegal and Unconstitutional Fake Patent 'Court' in EU (UPC)
Links for the day
Gemini Not Deflated Yet (Soon Turning 5!)
Gemini numbers still moving up, the protocol will turn five next summer
Links 30/11/2023: Belated End of Henry Kissinger and 'Popular Science' Shuts Online Magazine
Links for the day
Site Priorities and Upcoming Improvements
pages are served very fast
[Meme] One Person, Singular Pronoun
Abusing people into abusing the English language is very poor diplomacy
Ending Software Patents in Recent Years (Software Freedom Fighters MIA)
not a resolved issue
New Article From Richard Stallman Explains Why He Says He and She for Unknown Person (Not 'They')
"Nowadays I use gender-neutral singular pronouns for a person whose gender I don't know"
IRC Proceedings: Wednesday, November 29, 2023
IRC logs for Wednesday, November 29, 2023
Over at Tux Machines...
GNU/Linux news
Links 30/11/2023: Rushing Patent Cases With Shorter Trial Scheme (STS), Sanctions Not Working
Links for the day
Links 30/11/2023: Google Purging Many Accounts and Content (to Save Money), Finland Fully Seals Border With Russia
Links for the day
Lookout, It's Outlook
Outlook is all about the sharing!
Updated A Month Ago: Richard Stallman on Software Patents as Obstacles to Software Development
very recent update
The 'Smart' Attack on Power Grid Neutrality (or the Wet Dream of Tiered Pricing for Power, Essentially Punishing Poorer Households for Exercising Freedom Like Richer Households)
The dishonest marketing people tell us the age of disservice and discrimination is all about "smart" and "Hey Hi" (AI) as in algorithms akin to traffic-shaping in the context of network neutrality
Links 29/11/2023: VMware Layoffs and Too Many Microsofters Going Inside Google
Links for the day
Is BlueMail a Client of ZDNet Now?
Let's examine what BlueMail does to promote itself
Just What LINUX.COM Needed After Over a Month of Inactivity: SPAM SPAM SPAM (Linux Brand as a Spamfarm)
It's not even about Linux
Microsoft “Discriminated Based on Sexuality”
Relevant, as they love lecturing us on "diversity" and "inclusion"...
IRC Proceedings: Tuesday, November 28, 2023
IRC logs for Tuesday, November 28, 2023