Category: Open Source

Lina: Promising write once – run everywhere

Developing applications for multiple platforms

The guys at Lina are promising write once – run everywhere, using the native look-and-feel of the host operating system. This was also the promise of Java, which also uses a virtual machine to run the binary code.

It certainly looks interesting, but the FAQ on the site says there will be a 2x performance hit (i.e. applications will run at half the speed of a native version). Other solutions, like using a VMWare, VirtualPC and Parallels for the Macintosh provide alternative approaches to running applications from one platform on another. These tools work best when the host operating system is running on an x86 processor, meaning that virtualisation speed is around 80% of the host processor – which is a very good level of performance. This occurs because the virtualised processor is the same as the processor and there is limited need to translate the instructions.

However, their disadvantage is that you need to buy the host operating system (e.g. running Parallels on the Macintosh requires that you buy MS Windows to run a windows application inside the virtual machine). This can be an unecessary overhead and cost on the end user.

There are also alternative to Lina, such as Wine, which allows a lot of compiled / binary Windows applications (including Office 2000) to run on Linux. If you’re writing your application in .Net, then you can also use Mono, which works essentially in the same way as Wine but is restricted to running .Net applications. Mono is a cross platform simulation of the .Net framework.

What next?

There are many different solutions available to creating an application and running it on multiple platforms – until there is a unified platform for computing where developers can write once and run everywhere – with the same version, no emulation and no virtualisation.

This is as close or as far away as the major players choose to make it, or until some truly disruptive technology platform comes along and reshapes the playing field. I have some ideas about this that are well into development…

Merging projects in open source land – building on strengths and stopping unhealthy competition

Slashdot, one of my favourite websites, features a story on the Compiz and Beryl Projects merging. Why is this important? If you look through the major open source software repositories (like freshmeat, sourceforge), you’ll find tens of thousands of projects. More than a few of them are attempting to do the same thing, albeit from different angles.

I’ve always thought there is healthy and unhealthy competition. Healthy competition occurs when players compete against each other with their products and services with the view to improve quality, commoditise products and services and reduce prices, all in the effort to provide greater value for customers (i.e. users).

In contrast, unhealthy competition, is where players are so focussed on beating each other, that they cut prices, engage in predatory practices and sacrifice quality in the effort to ‘buy’ business. Their focus is not on the customer, but on how they can beat their competitor.

Open source software, I think, has a significant advantage over commercial operations in that the values of the people involved are the primary motivator, rather than profit at all costs. What are these values? They are about delivering projects focussing on the end users, doing things better than others have done and a focus on quality.

So why is the merger between Compiz and Beryl interesting? The source article from Linux Tech Daily suggests that the rivarly between the two projects had denigrated into a slanging match. I’ll bet that there is probably no truth to any of the accusations that people were making.

These two projects, and others like it (such as Looking Glass) have the potential to spawn a revolution in the user’s desktop. For all the advances of Microsoft Vista and Apple OS X, these two OSs are evolutionary, not revolutionary. Meanwhile, other more revolutionary projects are making significant impressions, like Jeff Tan (Jeff’s personal site can be found here).

What we need is more collaboration, not competition, in this space. There are so many smart people with smart ideas. We do not need them to start infighting and losing focus on what they’re trying to do. It’s so easy to get caught up in a slanging match and all that happens is a rapid spiral into a death vortex.

Provided the surrounding value system is right, and people on the projects are thinking more about the end goals than themselves, then healthy collaboration amongst traditional competitors is possible. There’s more than enough kudos to go around – and if the project turns commercial to recoup the costs of development and fund the next project, then there’s usually more than enough of that to go around, too.

We’re seeing around us many social networking site being built in the ‘back shed’, later being sold for hundreds of millions, and in some cases billions, of dollars. There’s nothing wrong with wanting to make money out of these projects – provided sensible things happen with the funds -like paying people fair and reasonable salaries and funding the next revolutionary projects.

Even though I run a for-profit commercial organisation, I spend around 10% of gross margin on R&D and innovation, when in Australia, the national spend is around 2% of GDP. Why? The plans I have to shake the foundation of IT drive me to channel profit into activities that will have a far greater positive impact on people than me driving down the road in some silly sports car. (Mind you, if it all works out, maybe I’ll treat myself to a little one ;-) )

WordPress Themes