Mono
I’ve been thinking of starting a new sub-blog to cover my tech interests which are becoming more prominent in my life now that I’m about to start my college project (insha Allah). The last time I blogged on this subject I got a comment from someone who said she understood about every other word, and us geeks have a tendency to talk to each other in terminology others wouldn’t understand, and some of us have difficulty in talking clearly to people who don’t understand it. Earlier today I showed Lee, my cousin’s husband (who works in the IT industry) my laptop, on which I’d installed the Linux package I received last Wednesday.
This package has a rather brilliant software development package called KDevelop. To those of you out there who are geeks, this is why it is brilliant: because it is aimed at KDE developers, and it doesn’t get messed up by Qt macros the way Emacs does. I had to explain this to my Mum and Dad on the way back from my aunt’s house, and obviously had to explain this in terms they could understand, which is a bit difficult because you have to stop at every bit of jargon and replace it with English. Basically, Qt is a toolkit for building windowed programs (which most applications for Windows are nowadays – as opposed to console applications, which just scroll up the screen, which are much simpler to write), which run on Unix, the Mac and Windows, and it uses a language called C++, but not normal C++, which is why it messes up text editing programs like Emacs. KDevelop, on the other hand, runs on KDE, which is itself based on Qt, and it’s written by, and for, people who program for Qt and KDE. (New Muslims sometimes have this problem too – I remember taking someone who had recently taken his shahada to a dhikr meeting in north London, and the shaikh filled his talk with Arabic words that the newcomer could not possibly understand.)
Anyway, a read of OSNews yesterday led me to the latest installment of LUG Radio, which is produced by the Wolverhampton Linux Users’ Group (Wolverhampton is a city in England, just outside Birmingham). Beware: there are quite a few F-words in this and if you’re not a geek you probably won’t understand it anyway. But they were discussing something called Mono, which is Ximian‘s attempt to open up Microsoft’s cross-system programming wheeze, “.Net” (pronounced ‘dot net’). A few months ago some Microsoft presentation people came to our college to do a demonstration
as part of their “Inspiration Tour” (or Desperation Tour as I called it), and they mentioned many new frameworks which is going to be part of the new operating system they might get round to releasing in 2006 or 2007 or whenever. One of the guys on this radio show suggested that Mono may well be an example of so-called “fire and motion” effect, whereby Microsoft keeps wheeling out new technologies and Ximian and other open source people keep trying to keep up with them, and eventually the open source community expend so much energy in keeping up with Microsoft that they forget to develop their own system – and Microsoft still wins. Another theory was that, if Linux becomes more popular, Microsoft can build software which will run on that as well, and avoid the PR disaster and eventual buyout and closure.
For my part, I think Mono is great as long as the community doesn’t forget where it’s coming from – and as far as I can tell, it isn’t, because versions of ‘traditional’ Linux development software (including Qt) are being developed
which run on Mono. Myself, I think this has a lot to do with commercial software developers having their products run on many different systems (Linux, commercial Unix, Windoze, Mac) without having to release their source code, and thus protecting their investments. Mono and .Net use something called “JIT” (just-in-time) compilation – that is, software is supplied in a special language which is translated into machine code (ie. code which can be fed to the computer) when it is first used. Unix software is often supplied as a bundle of source code, which the system administrator compiles and installs himself – but you can’t do that with commercial software, because people will see the source code. This way, the commercial software houses (like Microsoft) get a maximised customer base, while still protecting their company secrets.
Which most people would say is fair enough – but the interesting thing to any Linux geek is that such a product is coming from within the open source community, which was founded in order to end the practice of secret source code and “non-disclosure agreements” which prevent people from revealing the secrets of the programs they’ve worked on. So ironically, something intended to open up a new development in the industry will no doubt help people keep their contributions secret.
