Out there, clogged in the great wide intertubes, there is a veritable cornucopia of blogs, forum posts, and sites, where people like to discuss an important topic: how TEH PATENTZ will come and doom us all. This in itself is not a silly thing to think. For example, there are companies (so called patent trolls) who do not contribute anything to society, they simply buy others’ patents then make grandiose legal threats to earn cash. Or, in other cases, some companies like Sisvel literally send in the police to raid trade shows, sniffing about for those violating precious MP3 patents like pigs seeking truffles.
However, there are a few things to consider. Firstly, patents are not global – and in the case of patents on software, which are what threatens products like GNU/Linux, not neccessarily available everywhere. Generally speaking, a jingoist US-centric view is dangerous because the issue is so complex – US patent & copyright laws are not the world’s copyright & patent laws, and you can make a serious error in judgement if you don’t remember that (and what it may mean to companies who dabble in software patents).
Secondly, software patents these days are rarely (if ever) exercised by anyone other than patent trolls. Certainly inside the US, where the patent office doesn’t seem to believe in issues like verification, non-triviality, or prior art, patents are filed at an incredible rate on the most ridiculous things, then never used. Companies like IBM amass a veritable armada of patents around the world, but never deploy them – other than in a nuclear-style self-defending threat. Everyone knows software patents are a farce, and nobody with a huge patent portfolio would stand to gain anything from beginning a real shitstorm – again, much like nuclear warfare. Given how many “huge” software projects are ingrained into so many places, actual patent risk to those products would be devastating for EVERYONE. The bluster is more valuable than enforcement – other than to trolls (or in less fluffy terms, terrorists). And for the trolls, only the biggest, “easiest” targets with the highest chance of payout is worth the time.
So, What is ths leading on to? Well, it’s leading on to a very sophisticated piece of software called Mono. Mono is an implementation of two international standards submitted by popular patent whipping boy Microsoft (Eolas, Visto, Alcatel, Patent Hawk – everyone wants a piece of the world’s biggest software company). Standards are a good thing – Standards allow companies and individuals to all sing from the same hymn sheet, to all interoperate and cooperate, with the least amount of effort. Whilst web browsers might have bugs, at least the internet is built on enough standards that you CAN “just”access ay web site you feel like – anyone remember non-standards like AOL Keywords? Standards also grant an air of legitimacy to a project – saying “I made a programming language” is all well and good, but “I made an internationally standardised programming language” makes it sound like you’re serious.
And Mono is serious. It makes a serious effort to embrace those published standards to increase the number of people who can take advantage of them (Microsoft implementations are available only for Windows, FreeBSD and MacOS X). Mono has embedded users, and it has desktop users – it not only embraces those original standards, but extends them in both directions – those extensions are not only for Mono, but flow back to users of Microsoft’s implementation as well. Mono is a shining example of exactly what these standards exist for, and what they allow. By leveraging Mono, which by the way is Free Software like Linux (in fact the license used is even more Free), developers are able to (and have) produce high-class, high-quality applications for desktop, server, or handheld device in a fraction of the time that some of the alternatives would take, and gain true cross-platform capability essentially for free. Mono takes many of the same promises as Java, but unlike Java, builds on an actual standard (and unlike Java, there is more than one implementation of those standards which actually works properly). Due to a streamlined and modular design (inspired in no small way by Java’s mistakes), applications built on Mono can be a fraction of the size of the equivalent built on Java – as Mono applications can easily only require a limited subset of the whole, rather than pulling in an enormous monolith just for one app.
So, how did I get from patents to Mono? Well, here’s the rub – because Microsoft own some of the patents to their published standards, some people freak out. And when people freak out, they tend to lie. A lot. They lie and conceal and deceive and lie some more, and with enough work, it becomes impossible for most people to tell when the lie ends and when the truth begins. Microsoft haven’t helped matters at all, with their bluster about patents, and neither have Mono’s main corporate sponsors, who signed a patent cross-licensing deal for their GNU/Linux offering (which some use as evidence that Mono must be at risk from patent litigation). When things are less than crystal clear, most just ignore it – but when someone is deliberately stirring mud (or FUD, however you opt to spell it) into the mix, it can make those who aren’t equipped with knowledge of the entire situation rather… uncomfortable. They know all about patent trolls and how those trolls go around suing people, and they sure don’t want to get sued, so if an agent of chaos whispers into their ear “you know, Mono is covered by some patents too”, it only serves to alarm them. Related parties have pointed out with relative frequency that those licenses are available under a “royalty free, reasonable & non discriminatory” license, but free patent protection isn’t remotely good enough, is it?
(Picture licensed under Creative Commons Attribution ShareAlike 2.0 Brazil License, and by Eurico Zimbres FGEL/UERJ. Modifying photos with logos and horribly formatted text makes you a big man and proves your argument is correct)
The thing about the FUD brigade is how inconsistent their arguments are. Circular logic rules the day. Try visiting their web sites and you might get lost in circular links, too (never cite a reputable source when you can cite yourself!). Here’s the typical exchange:
<them> Mono is dangerous because it is covered by patents
<me> So are lots of Linux apps. Why is Mono special?
<them> They’re MICROSOFT patents!
<me> There are lots of Microsoft patents in things. Why is Mono special?
<them> It is inconvenient for me to acknowledge that those exist, so i will pretend they do not. However, Mono is special because it goes out of its way to emulate patented Microsoft software!
<me> Really? Don’t things like Wine do that too, without such bile-filled reaction? And unlike Wine, Mono implements a published standard
<them> The standards are a trap! They can charge you for patent license fees!
<me> True. But they’ve said they won’t. And that’s more than you’ll get out of most people who own patents which are, to all extents and purposes, violated in Free Software projects
<them> But if you start to rely on Mono, then Microsoft can disable you down the line when they suddenly sue!
<me> And that’s different from loads of other software in GNU/Linux how exactly? Smarter people than me or you have a “don’t worry about maybes” attitude.
<them> But Mono is dangerous because it is covered by patents!
And so on. Ad infinitum. Mix in something about the patent cross-license deal (which explicitly did not admit to any specific patent violation) and you’ve got an average day in a Mono IRC channel. And thanks to the carefully orchestrated FUD campaign, people who simply don’t understand the issue parrot it (which is, of course, the idea).
Sometimes, shooting the messenger is appropriate. Nutcase Florida attorney Jack Thompson has done more harm to the “violent videogames are bad” movement than anyone else, through virtue of reducing his own argument ad absurdum. The anti-Mono crows have done the same thing for discussing important questions like the brokenness of the US patent system or monitoring the ethics behind the deal between Microsoft and Mono’s main sponsor. Much like Whacko Jacko, however, those who don’t know any better listen to ill-informed and one-sided diatribes as gospel, and doing so harms Free software as a whole.
So, since the FUD brigade won’t discuss it, I will. Microsoft claim to hold patents covering all of the following technologies – I challenge those who would single out Mono because of the Microsoft connection to discontinue use of any of the items on this list, for precisely the same reasons they claim Mono should not be used (threats of Microsoft patent enforcement). This is a reduced list – the full list is on microsoft.com:
- IP over ATM
Still here? Without any IPv6, IPv4, or HTTP? REALLY?
Mono is a Free Software implementation of an international standard making it easy to develop desktop and server applications which run without porting work on multiple operating systems. Nothing else today can claim that lofty title – and making it easy for developers to offer up high-class GNU/Linux software to Windows or Mac users is a great way to show them the power of Free software. It should be embraced, not derided.