Thursday, July 9, 2009

Mono, No No?

With all the recent infatuation within the Free Software community over the potential threat posed by the free implementation of the .net framework Mono, I've tossed around the arguments on both sides and drawn my own conclusions. This isn't a topic I would normally comment publicly on however I've drawn some different conclusions than I've heard talked about and I want to throw them into the public debate.

I don't consider myself a Free Software zealot but I want nothing more than a world where there is no restrictions on the technologies we use. I am a believer in the philosophy of free culture and it's ability to unite in a way that nothing else can. So in short, I'm a pragmatist who leans towards being a fundamentalist.

I won't go into all the pros and cons of Mono as they are better covered by much more intelligent people than me. My purpose is to raise a few considerations that I haven't heard talked about.

Firstly, My dear ol' Mom, for a long time, was the President, and now Vice President, of the Wheat Ridge Historical Society. As such she instilled in me a reverence for history and our past culture. I am a sentimental guy at heart and feel there is a deep purpose to preserving the relics of the past. To that end I think having free implementations of technologies is important in preventing parts of our culture from being unrecoverable. I have an affinity for projects that allow me to relive my youth like DOSBox. Similar projects like Freedos, ReactOS, and Haiku are important to preserve the technologies of our computing past. I would hate to have Mozart's Symphonies or DaVinci's journal locked in DRM or in a technology that is lost or abandoned. So, I consider Mono as an important tool for preserving the ability to use .net software.

Secondly, On coat tails of Google's announcement of ChromeOS, witch brings the hope of greater Linux desktop adoption, I think a tool like Mono is necessary to entice developers to support Linux as that market emerges with a greater presence. In fact, I'll bet that just the announcement of Google CromeOS will get software companies to re-evaluate their Linux support. Also, it allows company's who didn't have Linux on their radar 12 months ago stay competitive by offering their software cross platform. It also has the benefit of allowing businesses that use .net software and want to migrate the opportunity to make the transition to Linux without extra development.

Third, if you can except that Mono is important to support freedom then I would argue than in order to have a usable implementation the .net framework you need developers who are using the tool to create software. Otherwise you risk an incomplete implementation that will turn companies away from Linux. In order for developers to use Mono you need users to use their software. So, active Mono projects are necessary to insure Linux is competitive with the Windows .net implementation.

Lastly, we all live in a world of compromise. Many of the people who are the most against Mono programs have been using MP3 playback and DVD playback and many other technologies with similar or worse potential for patent lawsuits. Very few people don't use other software that is certainly not free like Flash and the non-free Nvidia drivers without so much as a blog post or a tweet. That being said most of those are not install by default in the major Distributions. I don't think that the major Distros should install Mono apps by default but I take no issue with people who want to install them on their own. That being said, the popularity of Distos that do install software that posses a patent risk such as Linux Mint and the prevalence of using the ubuntu-restricted-extras package proves that most people don't care about the risk they just want a feature full and rich desktop experience. In the end choice is always better then the alternatives and using Mono apps doesn't make you any less of a lover of freedom.